Implementation notes: amd64, genji154, crypto_encrypt/ntruees401ep2

Computer: genji154
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_encrypt
Primitive: ntruees401ep2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
285194? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017041020170228
293163? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017041020170228
298012? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017041020170228
299065? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017041020170228
299208? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017041020170228
303862? ? ?? ? ?reficc_-xMIC-AVX512_-O2_-fomit-frame-pointer2017041020170228
304720? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017041020170228
306670? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017041020170228
309582? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017041020170228
310323? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017041020170228
312013? ? ?? ? ?reficc_-xMIC-AVX512_-O3_-fomit-frame-pointer2017041020170228
313495? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017041020170228
313794? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017041020170228
316212? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017041020170228
318240? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017041020170228
320177? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017041020170228
321113? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017041020170228
321165? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017041020170228
321451? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017041020170228
324090? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017041020170228
328198? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017041020170228
330109? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017041020170228
330642? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017041020170228
332761? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017041020170228
333346? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017041020170228
334061? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017041020170228
334945? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017041020170228
335270? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017041020170228
338364? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017041020170228
350103? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017041020170228
352235? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017041020170228
352794? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017041020170228
355706? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017041020170228
356824? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017041020170228
358735? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017041020170228
358969? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017041020170228
359710? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017041020170228
359827? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017041020170228
360074? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017041020170228
360854? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017041020170228
361621? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017041020170228
363649? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017041020170228
363688? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017041020170228
363870? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017041020170228
363909? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017041020170228
364884? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017041020170228
365391? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017041020170228
365859? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017041020170228
367523? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017041020170228
368381? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017041020170228
368394? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017041020170228
368862? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017041020170228
369161? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017041020170228
370916? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017041020170228
371761? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017041020170228
372021? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017041020170228
373490? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017041020170228
375479? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017041020170228
375622? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017041020170228
375648? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017041020170228
375752? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017041020170228
376610? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017041020170228
376896? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017041020170228
377897? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017041020170228
378105? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017041020170228
384280? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017041020170228
386542? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017041020170228
388570? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017041020170228
388999? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017041020170228
389246? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017041020170228
390429? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017041020170228
391859? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017041020170228
392457? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017041020170228
392574? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017041020170228
398879? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017041020170228
402012? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017041020170228
402389? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017041020170228
402714? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017041020170228
404469? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017041020170228
405860? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017041020170228
406107? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017041020170228
407329? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017041020170228
408837? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017041020170228
409032? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017041020170228
412646? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017041020170228
412945? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017041020170228
418626? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017041020170228
418795? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017041020170228
418821? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017041020170228
421473? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017041020170228
426413? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017041020170228
444535? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017041020170228
466167? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017041020170228
471926? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017041020170228
472134? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017041020170228
473083? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017041020170228
473304? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017041020170228
473421? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017041020170228
473525? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017041020170228
473681? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017041020170228
474331? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017041020170228
474513? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017041020170228
475267? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017041020170228
475358? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017041020170228
475384? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017041020170228
475592? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017041020170228
476593? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017041020170228
478608? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017041020170228
487968? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017041020170228
489112? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017041020170228
605748? ? ?? ? ?reficc2017041020170228
633763? ? ?? ? ?reficc_-no-vec2017041020170228
1308541? ? ?? ? ?refgcc2017041020170228
1332032? ? ?? ? ?refgcc_-funroll-loops2017041020170228
3007654? ? ?? ? ?refcc2017041020170228

Compiler output

Implementation: crypto_encrypt/ntruees401ep2/ref
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: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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 -march=native -O3 -fomit-frame-pointer -fwrapv -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: crypto_encrypt/ntruees401ep2/ref
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c(1172): (col. 5) warning #13211: Immediate parameter to intrinsic call too large
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c(1172): (col. 5) warning #13211: Immediate parameter to intrinsic call too large
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c(1172): (col. 5) warning #13211: Immediate parameter to intrinsic call too large
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c(1172): (col. 5) warning #13211: Immediate parameter to intrinsic call too large
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c(1172): (col. 5) warning #13211: Immediate parameter to intrinsic call too large
ntru_crypto_ntru_poly.c: ntru_crypto_ntru_poly.c(1172): (col. 5) warning #13211: Immediate parameter to intrinsic call too large

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer ref
icc -xMIC-AVX512 -O3 -fomit-frame-pointer ref