Implementation notes: amd64, cel02, crypto_kem/ntruhps2048677

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
134334132197 56065 0198517 56936 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
172090116751 56065 0178309 56928 1576avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
187524119288 56065 0182005 56936 1608avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
188774120052 56065 0181692 56904 1576avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
189058120208 56065 0183405 56936 1608avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
80554026235 0 067820 800 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
89630086940 0 070157 832 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
908667021224 0 087615 840 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
918842016144 0 079514 808 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
93680786695 0 069381 832 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
103071546149 0 067613 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: 0x55ed0ea39630: v64i8 = X86ISD::VBROADCAST 0x55ed0ea3a180
cmov.c: 0x55ed0ea3a180: i8,ch = CopyFromReg 0x55ed0e9a4fd0, Register:i8 %vreg0
cmov.c: 0x55ed0ea3a2b0: i8 = Register %vreg0
cmov.c: In function: crypto_kem_ntruhps2048677_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-491758.c
cmov.c: clang: note: diagnostic msg: /tmp/cmov-491758.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: 0x560a38f2e980: v64i8 = X86ISD::VBROADCAST 0x560a38f2f4d0
cmov.c: 0x560a38f2f4d0: i8,ch = CopyFromReg 0x560a38e9a0e0, Register:i8 %vreg0
cmov.c: 0x560a38f2f600: i8 = Register %vreg0
cmov.c: In function: crypto_kem_ntruhps2048677_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-d7093f.c
cmov.c: clang: note: diagnostic msg: /tmp/cmov-d7093f.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: 0x558feab8f5e0: v64i8 = X86ISD::VBROADCAST 0x558feab90130
cmov.c: 0x558feab90130: i8,ch = CopyFromReg 0x558feaafaff0, Register:i8 %vreg0
cmov.c: 0x558feab90260: i8 = Register %vreg0
cmov.c: In function: crypto_kem_ntruhps2048677_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-3f960f.c
cmov.c: clang: note: diagnostic msg: /tmp/cmov-3f960f.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_s3_inv.c: poly_s3_inv.c:360:11: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F0[0] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:361:11: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F0[1] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:362:11: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F0[2] = _mm256_set_epi32(511,-1,511,-1,511,-1,1023,-1);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:363:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F1[0] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:364:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F1[1] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:365:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F1[2] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:367:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: V0[0] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:368:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: V1[0] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:369:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: ...

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: 0x558a2c3445e0: v64i8 = X86ISD::VBROADCAST 0x558a2c345130
cmov.c: 0x558a2c345130: i8,ch = CopyFromReg 0x558a2c2b0ff0, Register:i8 %vreg0
cmov.c: 0x558a2c345260: i8 = Register %vreg0
cmov.c: In function: crypto_kem_ntruhps2048677_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-f0943c.c
cmov.c: clang: note: diagnostic msg: /tmp/cmov-f0943c.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: 0x55f33c4df710: v64i8 = X86ISD::VBROADCAST 0x55f33c4e0260
cmov.c: 0x55f33c4e0260: i8,ch = CopyFromReg 0x55f33c4570e0, Register:i8 %vreg0
cmov.c: 0x55f33c4e0390: i8 = Register %vreg0
cmov.c: In function: crypto_kem_ntruhps2048677_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-a51fa9.c
cmov.c: clang: note: diagnostic msg: /tmp/cmov-a51fa9.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: 0x55ea504e95d0: v64i8 = X86ISD::VBROADCAST 0x55ea504ea930
cmov.c: 0x55ea504ea930: i8,ch = CopyFromReg 0x55ea50455ff0, Register:i8 %vreg0
cmov.c: 0x55ea504eaa60: i8 = Register %vreg0
cmov.c: In function: crypto_kem_ntruhps2048677_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-c14d8d.c
cmov.c: clang: note: diagnostic msg: /tmp/cmov-c14d8d.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