Implementation notes: amd64, oki, crypto_encrypt/ntruees401ep2

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_encrypt
Primitive: ntruees401ep2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
114390? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019012220181123
114828? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019012220181123
115276? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019012220181123
115394? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019012220181123
116314? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019012220181123
116392? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019012220181123
116800? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019012220181123
116914? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019012220181123
117460? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019012220181123
118624? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019012220181123
118628? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019012220181123
118696? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019012220181123
118908? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019012220181123
119142? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019012220181123
119148? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019012220181123
119264? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019012220181123
119310? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019012220181123
119502? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019012220181123
119774? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019012220181123
120052? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019012220181123
120546? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019012220181123
120834? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019012220181123
121176? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019012220181123
121176? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019012220181123
121298? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019012220181123
121392? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019012220181123
121824? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019012220181123
139556? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019012220181123
139568? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019012220181123
140088? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
140144? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
140176? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012220181123
140534? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019012220181123
140664? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019012220181123
142708? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
142722? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
143270? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019012220181123
143448? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019012220181123
143866? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019012220181123
144020? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012220181123
144342? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019012220181123
144664? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012220181123
144688? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019012220181123
145084? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
145104? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019012220181123
145112? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019012220181123
145152? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
145176? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019012220181123
145890? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019012220181123
145890? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019012220181123
146024? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019012220181123
147496? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019012220181123
147848? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019012220181123
148916? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
149090? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
152554? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
153018? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012220181123
153038? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019012220181123
153158? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
153474? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019012220181123
153832? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
154068? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019012220181123
154138? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
154302? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019012220181123
154366? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019012220181123
154774? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019012220181123
154804? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019012220181123
155072? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019012220181123
155176? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019012220181123
155322? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019012220181123
155842? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
156032? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
156542? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019012220181123
157232? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019012220181123
158484? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019012220181123
158636? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019012220181123
158676? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019012220181123
158808? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019012220181123
159084? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019012220181123
159312? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019012220181123
159522? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019012220181123
159814? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019012220181123
161518? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
161714? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
162198? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
162756? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
170962? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
171604? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
172830? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019012220181123
172932? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019012220181123
203652? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
203868? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
204460? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012220181123
204506? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019012220181123
205642? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019012220181123
205724? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012220181123
205880? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019012220181123
206042? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
206296? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019012220181123
206392? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
206540? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
206642? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019012220181123
206752? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
206752? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019012220181123
206776? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
206780? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
206846? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019012220181123
207130? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019012220181123
457494? ? ?? ? ?refgcc2019012220181123
457688? ? ?? ? ?refgcc_-funroll-loops2019012220181123
632270? ? ?? ? ?refcc2019012220181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:85:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:86:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:87:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:87:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
ntru_crypto_sha1.c: ^
ntru_crypto_sha1.c: ( )
ntru_crypto_sha1.c: ntru_crypto_sha1.c:88:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
ntru_crypto_sha1.c: B += RL(C, 5) + K00_19 + (D & (E ^ A) ^ A) + data[ 3]; D = RL(D, 30);
ntru_crypto_sha1.c: ~~^~~~~~~~~ ~
ntru_crypto_sha1.c: ntru_crypto_sha1.c:88:33: note: place parentheses around the '&' expression to silence this warning
ntru_crypto_sha1.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
ntru_crypto_ntru_poly.c: fatal error: error in backend: Cannot select: 0x1b7da80: v32i16 = X86ISD::VBROADCAST 0x1b7d360
ntru_crypto_ntru_poly.c: 0x1b7d360: i16,ch = CopyFromReg 0x1ac17b0, Register:i16 %vreg0
ntru_crypto_ntru_poly.c: 0x1bce8b0: i16 = Register %vreg0
ntru_crypto_ntru_poly.c: In function: ntru_ring_mult_product_indices
ntru_crypto_ntru_poly.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
ntru_crypto_ntru_poly.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
ntru_crypto_ntru_poly.c: Target: x86_64-unknown-linux-gnu
ntru_crypto_ntru_poly.c: Thread model: posix
ntru_crypto_ntru_poly.c: InstalledDir: /usr/bin
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg:
ntru_crypto_ntru_poly.c: ********************
ntru_crypto_ntru_poly.c:
ntru_crypto_ntru_poly.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
ntru_crypto_ntru_poly.c: Preprocessed source(s) and associated run script(s) are located at:
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-bc4cb3.c
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-bc4cb3.sh
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg:
ntru_crypto_ntru_poly.c:
ntru_crypto_ntru_poly.c: ********************

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
ntru_crypto_ntru_poly.c: fatal error: error in backend: Cannot select: 0xfcdde0: v32i16 = X86ISD::VBROADCAST 0xfcd6c0
ntru_crypto_ntru_poly.c: 0xfcd6c0: i16,ch = CopyFromReg 0xefc6a0, Register:i16 %vreg0
ntru_crypto_ntru_poly.c: 0xfbe680: i16 = Register %vreg0
ntru_crypto_ntru_poly.c: In function: ntru_ring_mult_product_indices
ntru_crypto_ntru_poly.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
ntru_crypto_ntru_poly.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
ntru_crypto_ntru_poly.c: Target: x86_64-unknown-linux-gnu
ntru_crypto_ntru_poly.c: Thread model: posix
ntru_crypto_ntru_poly.c: InstalledDir: /usr/bin
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg:
ntru_crypto_ntru_poly.c: ********************
ntru_crypto_ntru_poly.c:
ntru_crypto_ntru_poly.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
ntru_crypto_ntru_poly.c: Preprocessed source(s) and associated run script(s) are located at:
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-c05d54.c
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-c05d54.sh
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg:
ntru_crypto_ntru_poly.c:
ntru_crypto_ntru_poly.c: ********************

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