Implementation notes: amd64, cel02, crypto_kem/kyber768

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: kyber768
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
147060157533 0 0187525 832 1640T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
167062120831 0 0147709 832 1608T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
306266119327 0 0144453 824 1576T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
324390119465 0 0145813 832 1608T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
59163454589 0 084485 832 1640T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
63272616110 0 043186 816 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
69470210907 0 035917 824 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
71770811572 0 037805 832 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
120567012508 0 039197 832 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Checksum failure

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
df221308033ba0deb877e1c4be6becdb25dbc6d87c4983c2a1b42164d80b314e
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Checksum failure

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
6b7c5147c40451040ca4c2e48cb978a5ddb49b274a1ee053ad3de13059fe1307
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: fatal error: error in backend: Cannot select: 0x559f0d145100: v64i8 = X86ISD::VBROADCAST 0x559f0d14afc0
verify.c: 0x559f0d14afc0: i8,ch = CopyFromReg 0x559f0d09c330, Register:i8 %vreg0
verify.c: 0x559f0d14c8c0: i8 = Register %vreg0
verify.c: In function: crypto_kem_kyber768_avx2_timingleaks_cmov
verify.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
verify.c: Target: x86_64-pc-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.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.
verify.c: clang: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang: note: diagnostic msg: /tmp/verify-00c4be.c
verify.c: clang: note: diagnostic msg: /tmp/verify-00c4be.sh
verify.c: clang: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: fatal error: error in backend: Cannot select: 0x556488296aa0: v64i8 = X86ISD::VBROADCAST 0x55648829bd50
verify.c: 0x55648829bd50: i8,ch = CopyFromReg 0x5564881ec370, Register:i8 %vreg0
verify.c: 0x55648829d650: i8 = Register %vreg0
verify.c: In function: crypto_kem_kyber768_avx2_timingleaks_cmov
verify.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
verify.c: Target: x86_64-pc-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.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.
verify.c: clang: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang: note: diagnostic msg: /tmp/verify-96764c.c
verify.c: clang: note: diagnostic msg: /tmp/verify-96764c.sh
verify.c: clang: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: fatal error: error in backend: Cannot select: 0x555c1e825a50: v64i8 = X86ISD::VBROADCAST 0x555c1e82ad00
verify.c: 0x555c1e82ad00: i8,ch = CopyFromReg 0x555c1e77c3d0, Register:i8 %vreg0
verify.c: 0x555c1e82c600: i8 = Register %vreg0
verify.c: In function: crypto_kem_kyber768_avx2_timingleaks_cmov
verify.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
verify.c: Target: x86_64-pc-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.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.
verify.c: clang: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang: note: diagnostic msg: /tmp/verify-3373b4.c
verify.c: clang: note: diagnostic msg: /tmp/verify-3373b4.sh
verify.c: clang: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: T:avx2
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 'crypto_kem_kyber768_avx2_timingleaks_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 'crypto_kem_kyber768_avx2_timingleaks_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 'crypto_kem_kyber768_avx2_timingleaks_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 'crypto_kem_kyber768_avx2_timingleaks_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:avx2

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: fatal error: error in backend: Cannot select: 0x563f6006a880: v32i16 = scalar_to_vector Constant:i16<1>
verify.c: 0x563f60065f50: i16 = Constant<1>
verify.c: In function: crypto_kem_kyber768_ref_timingleaks_verify
verify.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
verify.c: Target: x86_64-pc-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.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.
verify.c: clang: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang: note: diagnostic msg: /tmp/verify-b898f1.c
verify.c: clang: note: diagnostic msg: /tmp/verify-b898f1.sh
verify.c: clang: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: fatal error: error in backend: Cannot select: 0x555ada893ad0: v32i16 = scalar_to_vector Constant:i16<1>
verify.c: 0x555ada88f1a0: i16 = Constant<1>
verify.c: In function: crypto_kem_kyber768_ref_timingleaks_verify
verify.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
verify.c: Target: x86_64-pc-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.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.
verify.c: clang: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang: note: diagnostic msg: /tmp/verify-b1f036.c
verify.c: clang: note: diagnostic msg: /tmp/verify-b1f036.sh
verify.c: clang: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: fatal error: error in backend: Cannot select: 0x55a927ca18d0: v32i16 = scalar_to_vector Constant:i16<1>
verify.c: 0x55a927c9cfa0: i16 = Constant<1>
verify.c: In function: crypto_kem_kyber768_ref_timingleaks_verify
verify.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
verify.c: Target: x86_64-pc-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.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.
verify.c: clang: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang: note: diagnostic msg: /tmp/verify-79ae30.c
verify.c: clang: note: diagnostic msg: /tmp/verify-79ae30.sh
verify.c: clang: note: diagnostic msg:
verify.c:
verify.c: ********************

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