Implementation notes: amd64, glyme, crypto_encrypt/ntruees439ep1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
224864refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020620170105
225160refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020620170105
227660refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020620170105
233508refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020620170105
235932refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020620170105
236616refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020620170105
238732refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020620170105
238772refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020620170105
240352refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020620170105
242424refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020620170105
242732refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020620170105
243172refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020620170105
249312refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020620170105
249320refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020620170105
249856refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020620170105
251372refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020620170105
252808refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020620170105
254868refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020620170105
255076refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020620170105
257004refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020620170105
258552refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020620170105
259004refgcc -funroll-loops -O2 -fomit-frame-pointer2017020620170105
259212refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020620170105
260320refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020620170105
260456refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020620170105
260780refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020620170105
261120refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020620170105
261164refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020620170105
261328refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020620170105
261560refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020620170105
261728refgcc -funroll-loops -O3 -fomit-frame-pointer2017020620170105
261896refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020620170105
263588refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020620170105
263720refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020620170105
265948refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020620170105
266628refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020620170105
267728refgcc -march=k8 -O3 -fomit-frame-pointer2017020620170105
267796refgcc -funroll-loops -O -fomit-frame-pointer2017020620170105
267840refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020620170105
268748refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020620170105
269144refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020620170105
269160refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020620170105
269624refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020620170105
270300refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020620170105
270752refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020620170105
271028refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020620170105
271076refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020620170105
271340refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020620170105
272636refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020620170105
272696refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020620170105
273420refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020620170105
273608refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020620170105
274592refgcc -march=nocona -O3 -fomit-frame-pointer2017020620170105
274996refgcc -march=barcelona -O3 -fomit-frame-pointer2017020620170105
275160refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020620170105
277012refgcc -O3 -fomit-frame-pointer2017020620170105
277388refgcc -m64 -O3 -fomit-frame-pointer2017020620170105
278700refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020620170105
280644refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020620170105
280884refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020620170105
296040refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020620170105
296424refgcc -m64 -O2 -fomit-frame-pointer2017020620170105
296848refgcc -O2 -fomit-frame-pointer2017020620170105
297044refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020620170105
297428refgcc -march=k8 -O2 -fomit-frame-pointer2017020620170105
297756refgcc -march=barcelona -O2 -fomit-frame-pointer2017020620170105
298648refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020620170105
305536refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020620170105
306256refgcc -O -fomit-frame-pointer2017020620170105
306312refgcc -m64 -O -fomit-frame-pointer2017020620170105
306956refgcc -march=nocona -O2 -fomit-frame-pointer2017020620170105
308292refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020620170105
312620refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020620170105
313656refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020620170105
315472refgcc -march=barcelona -O -fomit-frame-pointer2017020620170105
316372refgcc -march=k8 -O -fomit-frame-pointer2017020620170105
316956refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020620170105
318744refgcc -march=nocona -O -fomit-frame-pointer2017020620170105
354156refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020620170105
354840refgcc -m64 -Os -fomit-frame-pointer2017020620170105
355056refgcc -march=barcelona -Os -fomit-frame-pointer2017020620170105
355508refgcc -Os -fomit-frame-pointer2017020620170105
357548refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020620170105
358000refgcc -march=k8 -Os -fomit-frame-pointer2017020620170105
358748refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020620170105
362676refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020620170105
363148refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020620170105
363504refgcc -funroll-loops -Os -fomit-frame-pointer2017020620170105
363528refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020620170105
363612refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020620170105
363648refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020620170105
365192refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020620170105
365244refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020620170105
365712refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020620170105
375376refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020620170105
375412refgcc -march=nocona -Os -fomit-frame-pointer2017020620170105
1015872refgcc2017020620170105
1021176refgcc -funroll-loops2017020620170105

Compiler output

Implementation: crypto_encrypt/ntruees439ep1/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