run tests in ubuntu bionic
run tests in ubuntu bionic

gcc and newer clang compilers are fine with the current code.
clang-3.8 on older ubuntu distributions fails with:

./sse2neon.h:3462:62: error: cannot convert between vector values of different size ('uint8x16_t' (vector of 16 'uint8_t' values) and 'int')
    v = vqtbx4q_u8(v, vld1q_u8_x4(crypto_aes_sbox + 0x40), w - 0x40);
                                                           ~ ^ ~~~~
./sse2neon.h:3463:62: error: cannot convert between vector values of different size ('uint8x16_t' (vector of 16 'uint8_t' values) and 'int')
    v = vqtbx4q_u8(v, vld1q_u8_x4(crypto_aes_sbox + 0x80), w - 0x80);
                                                           ~ ^ ~~~~
./sse2neon.h:3464:62: error: cannot convert between vector values of different size ('uint8x16_t' (vector of 16 'uint8_t' values) and 'int')
    v = vqtbx4q_u8(v, vld1q_u8_x4(crypto_aes_sbox + 0xc0), w - 0xc0);
                                                           ~ ^ ~~~~
./sse2neon.h:3467:12: error: cannot convert between vector values of different size ('uint8x16_t' (vector of 16 'uint8_t' values) and 'int')
    w = (v << 1) ^ (uint8x16_t)(((int8x16_t) v >> 7) & 0x1b);
         ~ ^  ~
./sse2neon.h:3467:48: error: cannot convert between vector values of different size ('int8x16_t' (vector of 16 'int8_t' values) and 'int')
    w = (v << 1) ^ (uint8x16_t)(((int8x16_t) v >> 7) & 0x1b);
                                 ~~~~~~~~~~~~~ ^  ~
5 errors generated.

DLTcollab/sse2neon,DLTcollab/sse2neon,DLTcollab/sse2neon