Implementation notes: amd64, oki, crypto_encrypt/ntruees439ep1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
139882? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019012220181123
140558? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019012220181123
141046? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019012220181123
141290? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019012220181123
141974? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019012220181123
142092? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019012220181123
142126? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019012220181123
142464? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019012220181123
144216? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019012220181123
145180? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019012220181123
145422? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019012220181123
145442? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019012220181123
145762? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019012220181123
145802? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019012220181123
145892? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019012220181123
145910? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019012220181123
145958? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019012220181123
146038? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019012220181123
146158? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019012220181123
146498? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019012220181123
146642? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019012220181123
146848? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019012220181123
146960? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019012220181123
146986? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019012220181123
147086? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019012220181123
147286? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019012220181123
148036? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019012220181123
166946? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012220181123
167286? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
167296? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019012220181123
167320? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019012220181123
167676? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
167684? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019012220181123
167920? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019012220181123
170880? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
170894? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
171358? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019012220181123
171842? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019012220181123
171852? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019012220181123
171852? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019012220181123
172418? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012220181123
172580? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019012220181123
172590? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019012220181123
172650? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019012220181123
172858? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019012220181123
173166? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
173240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
173352? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012220181123
173878? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019012220181123
174028? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019012220181123
174102? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019012220181123
175208? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019012220181123
175426? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019012220181123
177246? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
177540? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
181458? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
181536? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
182524? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012220181123
182686? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
183166? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019012220181123
183276? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019012220181123
183324? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
183688? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019012220181123
183716? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019012220181123
183724? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019012220181123
183756? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019012220181123
183762? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019012220181123
183844? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019012220181123
183878? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019012220181123
184016? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019012220181123
184070? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019012220181123
184430? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
184438? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
186348? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019012220181123
187470? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019012220181123
187506? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019012220181123
187812? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019012220181123
188004? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019012220181123
188240? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019012220181123
188676? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019012220181123
188804? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019012220181123
188888? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019012220181123
190898? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
190956? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
191198? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
191274? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
200058? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
201014? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
204090? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019012220181123
204290? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019012220181123
238522? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
238542? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019012220181123
238646? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012220181123
238676? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
238716? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019012220181123
238760? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019012220181123
238950? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019012220181123
239482? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
239594? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012220181123
239652? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
240108? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019012220181123
240298? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
240310? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019012220181123
240480? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
240880? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
240994? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
241490? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019012220181123
241782? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019012220181123
516100? ? ?? ? ?refgcc_-funroll-loops2019012220181123
517174? ? ?? ? ?refgcc2019012220181123
711572? ? ?? ? ?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: 0x16b6370: v32i16 = X86ISD::VBROADCAST 0x16b5c50
ntru_crypto_ntru_poly.c: 0x16b5c50: i16,ch = CopyFromReg 0x15d26a0, Register:i16 %vreg0
ntru_crypto_ntru_poly.c: 0x16b7120: 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-88afb1.c
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-88afb1.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: 0x18806e0: v32i16 = X86ISD::VBROADCAST 0x187ffc0
ntru_crypto_ntru_poly.c: 0x187ffc0: i16,ch = CopyFromReg 0x17c3740, Register:i16 %vreg0
ntru_crypto_ntru_poly.c: 0x1881490: 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-7b83ba.c
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-7b83ba.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