Implementation notes: amd64, glyme, crypto_encrypt/ntruees401ep2

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_encrypt
Primitive: ntruees401ep2
TimeImplementationCompilerBenchmark dateSUPERCOP version
182308refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020620170105
182736refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020620170105
185576refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020620170105
192148refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020620170105
192324refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020620170105
192832refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020620170105
197056refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020620170105
197104refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020620170105
197360refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020620170105
198780refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020620170105
199272refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020620170105
199676refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020620170105
201212refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020620170105
201640refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020620170105
202080refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020620170105
203552refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020620170105
207648refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020620170105
209396refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020620170105
214724refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020620170105
214724refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020620170105
215512refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020620170105
215628refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020620170105
215868refgcc -funroll-loops -O2 -fomit-frame-pointer2017020620170105
216856refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020620170105
216876refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020620170105
217244refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020620170105
217284refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020620170105
217552refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020620170105
217612refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020620170105
217960refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020620170105
218160refgcc -funroll-loops -O3 -fomit-frame-pointer2017020620170105
218596refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020620170105
220280refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020620170105
220404refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020620170105
222320refgcc -m64 -O3 -fomit-frame-pointer2017020620170105
222528refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020620170105
222800refgcc -O3 -fomit-frame-pointer2017020620170105
222832refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020620170105
224156refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020620170105
224164refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020620170105
224340refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020620170105
225112refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020620170105
225212refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020620170105
225328refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020620170105
225580refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020620170105
226008refgcc -funroll-loops -O -fomit-frame-pointer2017020620170105
226112refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020620170105
226312refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020620170105
226424refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020620170105
227216refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020620170105
228652refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020620170105
228784refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020620170105
229340refgcc -march=barcelona -O3 -fomit-frame-pointer2017020620170105
229492refgcc -march=k8 -O3 -fomit-frame-pointer2017020620170105
229992refgcc -march=nocona -O3 -fomit-frame-pointer2017020620170105
230732refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020620170105
231196refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020620170105
232368refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020620170105
237236refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020620170105
237416refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020620170105
249760refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020620170105
250908refgcc -march=barcelona -O2 -fomit-frame-pointer2017020620170105
251132refgcc -O2 -fomit-frame-pointer2017020620170105
251148refgcc -march=k8 -O2 -fomit-frame-pointer2017020620170105
251684refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020620170105
252252refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020620170105
253276refgcc -m64 -O2 -fomit-frame-pointer2017020620170105
260108refgcc -march=nocona -O2 -fomit-frame-pointer2017020620170105
260132refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020620170105
260664refgcc -march=barcelona -O -fomit-frame-pointer2017020620170105
261216refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020620170105
265156refgcc -O -fomit-frame-pointer2017020620170105
265764refgcc -m64 -O -fomit-frame-pointer2017020620170105
266340refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020620170105
266436refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020620170105
267308refgcc -march=k8 -O -fomit-frame-pointer2017020620170105
272584refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020620170105
273880refgcc -march=nocona -O -fomit-frame-pointer2017020620170105
303548refgcc -march=k8 -Os -fomit-frame-pointer2017020620170105
303876refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020620170105
303960refgcc -m64 -Os -fomit-frame-pointer2017020620170105
304300refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020620170105
304840refgcc -march=barcelona -Os -fomit-frame-pointer2017020620170105
305236refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020620170105
307264refgcc -Os -fomit-frame-pointer2017020620170105
307288refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020620170105
307472refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020620170105
307632refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020620170105
307692refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020620170105
308320refgcc -funroll-loops -Os -fomit-frame-pointer2017020620170105
309172refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020620170105
309296refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020620170105
314804refgcc -march=nocona -Os -fomit-frame-pointer2017020620170105
315160refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020620170105
319996refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020620170105
321040refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020620170105
899576refgcc2017020620170105
902936refgcc -funroll-loops2017020620170105

Compiler output

Implementation: crypto_encrypt/ntruees401ep2/ref
Compiler: cc
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: 7, namely:
CompilerImplementations
cc ref
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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