Implementation notes: amd64, hydra8, crypto_encrypt/ntruees401ep2

Computer: hydra8
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_encrypt
Primitive: ntruees401ep2
TimeImplementationCompilerBenchmark dateSUPERCOP version
145004refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017110620171020
145608refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017110620171020
145880refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017110620171020
146384refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017110620171020
147488refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017110620171020
148380refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017110620171020
151104refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017110620171020
151480refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017110620171020
153784refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017110620171020
154096refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017110620171020
155736refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017110620171020
156512refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017110620171020
157340refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017110620171020
157848refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017110620171020
159656refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017110620171020
161448refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017110620171020
161652refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017110620171020
161768refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017110620171020
162044refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017110620171020
162180refgcc -m64 -march=core2 -O -fomit-frame-pointer2017110620171020
163812refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017110620171020
164164refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017110620171020
165380refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017110620171020
165536refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017110620171020
173120refgcc -march=barcelona -O3 -fomit-frame-pointer2017110620171020
173976refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017110620171020
174916refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017110620171020
175032refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017110620171020
175084refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017110620171020
175276refgcc -march=k8 -O3 -fomit-frame-pointer2017110620171020
175284refgcc -O3 -fomit-frame-pointer2017110620171020
175312refgcc -funroll-loops -O3 -fomit-frame-pointer2017110620171020
176256refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017110620171020
176680refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017110620171020
177296refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017110620171020
177448refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017110620171020
177924refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017110620171020
179208refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017110620171020
181124refgcc -march=nocona -O3 -fomit-frame-pointer2017110620171020
181656refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017110620171020
181692refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017110620171020
186424refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017110620171020
186860refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017110620171020
187400refgcc -funroll-loops -O2 -fomit-frame-pointer2017110620171020
187900refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017110620171020
188244refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017110620171020
188392refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017110620171020
188460refgcc -funroll-loops -O -fomit-frame-pointer2017110620171020
188568refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017110620171020
188796refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017110620171020
188796refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017110620171020
189424refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017110620171020
189688refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017110620171020
191052refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017110620171020
191368refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017110620171020
191432refgcc -m64 -O3 -fomit-frame-pointer2017110620171020
191432refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017110620171020
191744refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017110620171020
191744refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017110620171020
192252refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017110620171020
192412refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017110620171020
192636refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017110620171020
192704refgcc -march=barcelona -O2 -fomit-frame-pointer2017110620171020
193236refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017110620171020
193744refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017110620171020
193852refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017110620171020
193988refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017110620171020
194552refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017110620171020
194932refgcc -O2 -fomit-frame-pointer2017110620171020
195256refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017110620171020
195500refgcc -march=k8 -O2 -fomit-frame-pointer2017110620171020
196164refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017110620171020
196240refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017110620171020
197364refgcc -march=barcelona -O -fomit-frame-pointer2017110620171020
198456refgcc -m64 -O2 -fomit-frame-pointer2017110620171020
198480refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017110620171020
198984refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017110620171020
199136refgcc -march=nocona -O2 -fomit-frame-pointer2017110620171020
199456refgcc -m64 -march=k8 -O -fomit-frame-pointer2017110620171020
200780refgcc -march=k8 -O -fomit-frame-pointer2017110620171020
201972refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017110620171020
202984refgcc -m64 -march=nocona -O -fomit-frame-pointer2017110620171020
203348refgcc -fno-schedule-insns -O -fomit-frame-pointer2017110620171020
204356refgcc -m64 -O -fomit-frame-pointer2017110620171020
205420refgcc -march=nocona -O -fomit-frame-pointer2017110620171020
206984refgcc -O -fomit-frame-pointer2017110620171020
232672refgcc -march=nocona -Os -fomit-frame-pointer2017110620171020
233944refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017110620171020
234516refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017110620171020
235400refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017110620171020
237140refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017110620171020
237436refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017110620171020
237568refgcc -funroll-loops -Os -fomit-frame-pointer2017110620171020
237612refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017110620171020
237756refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017110620171020
237840refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017110620171020
238980refgcc -march=k8 -Os -fomit-frame-pointer2017110620171020
239396refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017110620171020
240096refgcc -march=barcelona -Os -fomit-frame-pointer2017110620171020
240496refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017110620171020
240940refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017110620171020
241072refgcc -Os -fomit-frame-pointer2017110620171020
241384refgcc -m64 -Os -fomit-frame-pointer2017110620171020
241924refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017110620171020
525104refcc2017110620171020
526544refgcc -funroll-loops2017110620171020
526840refgcc2017110620171020

Test failure

Implementation: crypto_encrypt/ntruees401ep2/ref
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

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: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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