Implementation notes: armeabi, pi2, crypto_aead/pi64cipher128v2

Computer: pi2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_aead
Primitive: pi64cipher128v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
798880goptvgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
862532goptvgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
865482goptvgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
1077607goptvgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
1108472ref3clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
1157966ref3gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
1243764ref3gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
1276410ref2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080620160731
1295056ref3gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731
1446644ref3gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
2372015ref2gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
2572815ref2gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
2592935ref2gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
2737839ref2gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731

Test failure

Implementation: crypto_aead/pi64cipher128v2/optimized_nonSSE
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111
crypto_aead_encrypt returns more than crypto_aead_ABYTES extra bytes

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv optimized_nonSSE
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher128v2/goptv
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
pi-cipher.c: pi-cipher.c:273:15: error: cannot convert between vector values of different size ('qword_t' (vector of 4 'word_t' values) and 'uint8_t' (aka 'unsigned char'))
pi-cipher.c: return (x gt;>gt; ((PI_WORD_SIZE) - n));
pi-cipher.c: ~ ^ ~
pi-cipher.c: pi-cipher.c:273:26: error: cannot convert between vector values of different size ('qword_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: return (x gt;>gt; ((PI_WORD_SIZE) - n));
pi-cipher.c: ~ ^ ~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:286:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:286:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:287:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: n_t += __builtin_shuffle(y, n_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:289:8: error: cannot convert between vector values of different size ('unsigned int' and 'vchunk_t' (vector of 4 'word_t' values))
pi-cipher.c: n_t = ROTL(n_t, n_rot);
pi-cipher.c: ^~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:267:64: note: expanded from macro 'ROTL'
pi-cipher.c: #define ROTL(x, n) (((x) gt;>gt; (sizeof(word_t) * 8 - (n))))
pi-cipher.c: ~~~~~~~~~~~~~~~~~~ ^ ~~~
pi-cipher.c: pi-cipher.c:290:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: n_t ^= __builtin_shuffle(n_t, n_x_1) ^ __builtin_shuffle(n_t, n_x_2);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:305:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments goptv

Compiler output

Implementation: crypto_aead/pi64cipher128v2/ref
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
encrypt.c: gcc: internal compiler error: Killed (program cc1)
encrypt.c: Please submit a full bug report,
encrypt.c: with preprocessed source if appropriate.
encrypt.c: See gt; for instructions.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv ref
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv ref
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv ref