Implementation notes: aarch64, pmnod145, crypto_aead/ketjemajorv2

Computer: pmnod145
Architecture: aarch64
CPU ID: 431f0af1
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: ketjemajorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
579507257 0 023659 872 864ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
582007137 0 023491 872 864ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
584757257 0 024707 872 880ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
597006769 0 021927 856 856ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
7777549449 0 070456 864 864generic64armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
7777549061 0 070064 864 872generic64armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
8125052929 0 073944 864 864generic64lcarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
8162552669 0 073680 864 872generic64lcarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
10682546305 0 063827 872 880generic64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
10982547609 0 065139 872 880generic64lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
11252545829 0 062251 872 864generic64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
11542545789 0 062195 872 864generic64lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
11922544009 0 060379 872 864generic64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
11932541985 0 057199 856 856generic64lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
12032546853 0 062055 856 856generic64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
12077544673 0 061035 872 864generic64lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
18522513077 0 034056 864 872compactarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
21005013389 0 034384 864 864compactarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
23355023349 0 044376 864 864generic32armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
23512523085 0 044096 864 872generic32armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
25240011767 0 029307 872 880compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
28167515153 0 031523 872 864generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
29942514553 0 029775 856 856generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
3052506650 0 023083 872 864compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
30990018449 0 036011 872 880generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
32517518005 0 034435 872 864generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
4302755609 0 020831 856 856compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
4597256502 0 022875 872 864compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
548592575238 1232 5489251 1904 936refarmclang++_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
549032574746 1232 5489870 1904 928refarmclang++_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
562927579448 1192 4787653 1872 960refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
697075058637 1192 4771154 1872 944refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
1261562554245 1192 4767181 1872 944refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017

Compiler output

Implementation: crypto_aead/ketjemajorv2/ARMv8A
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
KeccakP-1600-armv8a-neon.s: clang-7: warning: argument unused during compilation: '-D SUPERCOP' [-Wunused-command-line-argument]
KeccakP-1600-armv8a-neon.s: <instantiation>:18:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s: mov v5.2d[0], v0.2d[1] // v5 = (A[4] ^ A[14]) || ????
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: KeccakRound
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:23:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s: mov v4.2d[1], v3.2d[0] // v4 = B[4] || B[3]
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: KeccakRound
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:57:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s: mov x11, v20.2d[0] // x11 = A[1]
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: KeccakRound
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:2:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s: mov x10, v25.2d[0]
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: <instantiation>:59:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: RhoPi v25.2d[0], x11, x10, 1 // A[10] = ROTL64(A[1], 1)
KeccakP-1600-armv8a-neon.s: ^
KeccakP-1600-armv8a-neon.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE ARMv8A
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE ARMv8A

Compiler output

Implementation: crypto_aead/ketjemajorv2/ref
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_ketjemajorv2.a(Keccak-f.o): in function `KeccakF::getDescription[abi:cxx11]() const':
try.cpp: Keccak-f.cpp:(.text+0x...): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
try.cpp: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_ketjemajorv2.a(Keccak-f.o): in function `KeccakF::getName[abi:cxx11]() const':
try.cpp: Keccak-f.cpp:(.text+0x...): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
try.cpp: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_ketjemajorv2.a(Keccak-f.o): in function `KeccakF::buildFileName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
try.cpp: Keccak-f.cpp:(.text+0x...): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
try.cpp: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_ketjemajorv2.a(Keccak-f.o): in function `KeccakF::buildBitName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)':
try.cpp: Keccak-f.cpp:(.text+0x...): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
try.cpp: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_ketjemajorv2.a(Keccak-f.o): in function `KeccakP::getName[abi:cxx11]() const':
try.cpp: Keccak-f.cpp:(.text+0x...): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
try.cpp: /dibona_home_nfs/rdolbeau/gcc-9.2.0-full+isl/lib/gcc/aarch64-unknown-linux-gnu/9.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld: crypto_aead_ketjemajorv2.a(Keccak-f.o):Keccak-f.cpp:(.text+0x...): more undefined references to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()' follow
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref