Implementation notes: amd64, cel02, crypto_kem/frodokem640shake

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: frodokem640shake
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10640190104716 42 0131125 888 1608T:x64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17474128176285 42 0205853 888 1640T:x64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
21569978103445 42 0129493 888 1608T:x64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22457350102989 42 0128037 880 1576T:x64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
369573949063 42 034957 888 1608T:optimizedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3737072041611 42 071061 888 1640T:optimizedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
411223229459 42 035733 888 1608T:optimizedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4418112017155 28 043906 848 1576T:optimizedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
766987388081 42 032965 880 1576T:optimizedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:optimized
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x561d5af099c0: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x561d5add8280: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-766cde.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-766cde.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized

Compiler output

Implementation: T:optimized
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x561b46830be0: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x561b46827ba0: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-df3d40.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-df3d40.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized

Compiler output

Implementation: T:optimized
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x55c9599d70a0: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x55c9599e1bb0: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-5cf360.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-5cf360.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized

Compiler output

Implementation: T:optimized
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x559d4f85ce80: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x559d4f880700: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-c6e23a.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-c6e23a.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x55b0286f1940: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x55b02871afd0: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-90a035.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-90a035.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x560120229470: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x5601202295a0: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-868334.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-868334.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x559a216f1710: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x559a216b26d0: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-e00f6d.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-e00f6d.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
frodo640.c: fatal error: error in backend: Cannot select: 0x560d12e62980: v32i16 = scalar_to_vector Constant:i16<1>
frodo640.c: 0x560d12e670e0: i16 = Constant<1>
frodo640.c: In function: frodo_mul_add_as_plus_e
frodo640.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
frodo640.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
frodo640.c: Target: x86_64-pc-linux-gnu
frodo640.c: Thread model: posix
frodo640.c: InstalledDir: /usr/bin
frodo640.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
frodo640.c: clang: note: diagnostic msg:
frodo640.c: ********************
frodo640.c:
frodo640.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
frodo640.c: Preprocessed source(s) and associated run script(s) are located at:
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-bb5115.c
frodo640.c: clang: note: diagnostic msg: /tmp/frodo640-bb5115.sh
frodo640.c: clang: note: diagnostic msg:
frodo640.c:
frodo640.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64

Compiler output

Implementation: T:x64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:44:37: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a) _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:136:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: lanes1 = LOAD256u( curData1[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:44:37: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a) _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:137:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: lanes2 = LOAD256u( curData2[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:44:37: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a) _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:138:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:x64