Implementation notes: amd64, oki, crypto_encrypt/ntruees593ep1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_encrypt
Primitive: ntruees593ep1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
188480? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019012220181123
191306? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019012220181123
191360? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019012220181123
191512? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019012220181123
192234? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019012220181123
192974? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019012220181123
193846? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019012220181123
196006? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019012220181123
198400? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019012220181123
203976? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019012220181123
204728? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019012220181123
204958? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019012220181123
205084? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019012220181123
205290? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019012220181123
205406? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019012220181123
206462? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019012220181123
206670? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019012220181123
206766? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019012220181123
207240? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019012220181123
207308? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019012220181123
207536? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019012220181123
209208? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019012220181123
209638? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019012220181123
210184? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019012220181123
211140? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019012220181123
211468? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019012220181123
212112? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019012220181123
243796? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019012220181123
244360? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012220181123
244912? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019012220181123
245118? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
245342? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
245634? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019012220181123
245986? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019012220181123
247090? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019012220181123
247150? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019012220181123
247230? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012220181123
247444? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019012220181123
247582? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019012220181123
247648? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019012220181123
248262? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019012220181123
248474? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019012220181123
249088? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019012220181123
249974? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019012220181123
250164? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019012220181123
251128? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
251240? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019012220181123
251522? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
251916? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
252128? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019012220181123
252574? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019012220181123
252820? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019012220181123
253148? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019012220181123
254584? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019012220181123
255088? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012220181123
255374? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019012220181123
260266? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
260502? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
260512? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
260578? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019012220181123
260630? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012220181123
260670? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
260914? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019012220181123
261068? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
261182? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019012220181123
261730? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012220181123
262156? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019012220181123
262210? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019012220181123
262518? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019012220181123
262632? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019012220181123
263024? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019012220181123
263680? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019012220181123
263890? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019012220181123
264026? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019012220181123
264374? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019012220181123
264624? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019012220181123
264740? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
264806? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019012220181123
264996? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019012220181123
265358? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
266972? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019012220181123
267676? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019012220181123
274266? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
274870? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
274936? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019012220181123
275502? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012220181123
287638? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
287764? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012220181123
290696? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019012220181123
290902? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019012220181123
335876? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
337304? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019012220181123
337426? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019012220181123
338054? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019012220181123
338130? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012220181123
338306? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
338996? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
339014? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019012220181123
339098? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
339526? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019012220181123
339530? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019012220181123
340150? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
340300? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012220181123
340452? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
340846? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012220181123
340854? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019012220181123
341022? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012220181123
341594? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019012220181123
733306? ? ?? ? ?refgcc2019012220181123
733398? ? ?? ? ?refgcc_-funroll-loops2019012220181123
1067580? ? ?? ? ?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: 0x1542820: v32i16 = X86ISD::VBROADCAST 0x1542100
ntru_crypto_ntru_poly.c: 0x1542100: i16,ch = CopyFromReg 0x14ac640, Register:i16 %vreg0
ntru_crypto_ntru_poly.c: 0x1530740: 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-3937c5.c
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-3937c5.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: 0x26e5fb0: v32i16 = X86ISD::VBROADCAST 0x26e5890
ntru_crypto_ntru_poly.c: 0x26e5890: i16,ch = CopyFromReg 0x2620690, Register:i16 %vreg0
ntru_crypto_ntru_poly.c: 0x26e6d60: 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-08e1ee.c
ntru_crypto_ntru_poly.c: clang-3.8: note: diagnostic msg: /tmp/ntru_crypto_ntru_poly-08e1ee.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