Implementation notes: aarch64, a53, crypto_aead/pi16cipher096v2

Computer: a53
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_aead
Primitive: pi16cipher096v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
173600goptvgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080220160731
292800goptvgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080220160731
457600goptvgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080220160731
704700goptvgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080220160731
1063125ref2gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080220160731
1318400ref3gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080220160731
1419200ref3gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080220160731
1514400ref3gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080220160731
1808000ref3clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080220160731
2191200ref3gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080220160731
2892915ref2clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080220160731
10127200ref2gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080220160731
10727200ref2gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080220160731
11665600ref2gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080220160731

Test failure

Implementation: crypto_aead/pi16cipher096v2/optimized_nonSSE
Compiler: clang -mcpu=cortex-a53 -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: 9, namely:
CompilerImplementations
clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv optimized_nonSSE ref
gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv ref
gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv optimized_nonSSE ref
gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi16cipher096v2/goptv
Compiler: clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
pi-cipher.c: pi-cipher.c:273:15: error: can't 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: can't 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: can't 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: can't 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:290:6: error: can't 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: can't convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:306:6: error: can't convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: m_t += __builtin_shuffle(x, m_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:309:6: error: can't 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=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments goptv

Compiler output

Implementation: crypto_aead/pi16cipher096v2/optimized_nonSSE
Compiler: gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv
encrypt.c: Alarm clock

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv optimized_nonSSE