Implementation notes: aarch64, pmnod145, crypto_aead/ketjeminorv2

Computer: pmnod145
Architecture: aarch64
CPU ID: 431f0af1
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: ketjeminorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9347510725 0 027123 872 864generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
9442512057 0 028531 872 864generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
9450011669 0 028075 872 864generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
9505010865 0 027339 872 864generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
9697513161 0 033944 864 864generic32armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
9697514045 0 034896 864 872generic32armclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
10335010013 0 025175 856 856generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
10392511289 0 028891 872 880generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
10755017109 0 037888 864 864generic32lcarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
10755017929 0 038776 864 872generic32lcarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
10962512937 0 030539 872 880generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
1416507305 0 025027 872 880ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
1426257193 0 023555 872 864ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
1430757305 0 023723 872 864ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
1446256825 0 021991 856 856ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
16105010489 0 025647 856 856generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
4234258533 0 029296 864 864compactarmclang_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
4352259343 0 026939 872 880compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
5586255194 0 021659 872 864compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
5595255050 0 021459 872 864compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
6450754437 0 019583 856 856compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
992202574658 1232 5489678 1904 928refarmclang++_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019101820191017
1008782575150 1232 5489059 1904 936refarmclang++_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019101820191017
1030805079528 1192 4787829 1872 960refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
1311982558637 1192 4771250 1872 944refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017
2410225054245 1192 4767309 1872 944refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820191017

Checksum failure

Implementation: crypto_aead/ketjeminorv2/compact
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE
2dc4a33021c301540480716f43e636080b6952b1f02f54f2681cdc47476974b1
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE compact

Compiler output

Implementation: crypto_aead/ketjeminorv2/ARMv8A
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
KeccakP-800-armv8a-neon.s: clang-7: warning: argument unused during compilation: '-D SUPERCOP' [-Wunused-command-line-argument]
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v22.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:73:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v22, v23
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: KeccakRound
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v24.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:74:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v24, v25
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: KeccakRound
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v26.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:75:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v26, v27
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-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/ketjeminorv2/compact
Compiler: armclang -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: '/*' within block comment [-Wcomment]
KeccakP-800-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c: ^
KeccakP-800-compact.c: 1 warning generated.

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

Compiler output

Implementation: crypto_aead/ketjeminorv2/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_ketjeminorv2.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_ketjeminorv2.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_ketjeminorv2.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_ketjeminorv2.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_ketjeminorv2.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_ketjeminorv2.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