Implementation notes: amd64, cel02, crypto_kem/ntruhps2048509

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ntruhps2048509
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9532489628 25984 0155973 26824 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11808674096 25984 0136813 26824 1608avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11960273084 25984 0134629 26816 1576avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12391474026 25984 0137237 26824 1608avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13336874018 25984 0135660 26792 1576avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
46514546273 0 067852 800 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
504709828608 0 095023 840 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
51551966969 0 070189 832 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
53740986745 0 069429 832 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
539134215223 0 078602 808 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
61500786182 0 067645 824 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

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

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

Compiler output

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

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

Compiler output

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

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

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
poly_r2_inv.c: poly_r2_inv.c:19:14: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] = _pext_u64(coeff_pointer[2*i], 0x1000100010001);
poly_r2_inv.c: ^
poly_r2_inv.c: poly_r2_inv.c:20:15: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] |= _pext_u64(coeff_pointer[2*i+1], 0x1000100010001) << 4;
poly_r2_inv.c: ^
poly_r2_inv.c: poly_r2_inv.c:22:12: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] = _pext_u64(coeff_pointer[2*63], 0x1000100010001);
poly_r2_inv.c: ^
poly_r2_inv.c: poly_r2_inv.c:23:13: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'crypto_kem_ntruhps2048509_avx2_constbranchindex_poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] |= _pext_u64(coeff_pointer[2*63+1], 0x1) << 4;
poly_r2_inv.c: ^
poly_r2_inv.c: 4 errors generated.

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

Compiler output

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

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

Compiler output

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

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

Compiler output

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

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