Implementation notes: amd64, glyme, crypto_encrypt/ntruees593ep1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_encrypt
Primitive: ntruees593ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
309308refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020620170105
309528refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020620170105
311620refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020620170105
312864refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020620170105
325296refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020620170105
328372refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020620170105
329688refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020620170105
329704refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020620170105
330120refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020620170105
330200refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020620170105
331236refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020620170105
331456refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020620170105
335212refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020620170105
336792refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020620170105
338052refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020620170105
338440refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020620170105
338544refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020620170105
340076refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020620170105
347100refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020620170105
347532refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020620170105
349860refgcc -funroll-loops -O3 -fomit-frame-pointer2017020620170105
350316refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020620170105
350552refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020620170105
355452refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020620170105
356508refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020620170105
356800refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020620170105
356820refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020620170105
356948refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020620170105
357516refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020620170105
358756refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020620170105
360572refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020620170105
361524refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020620170105
362264refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020620170105
363176refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020620170105
363340refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020620170105
363416refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020620170105
363428refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020620170105
365672refgcc -funroll-loops -O2 -fomit-frame-pointer2017020620170105
367388refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020620170105
368024refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020620170105
371804refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020620170105
373560refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020620170105
373692refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020620170105
373884refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020620170105
374312refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020620170105
375956refgcc -march=barcelona -O3 -fomit-frame-pointer2017020620170105
375980refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020620170105
376128refgcc -march=k8 -O3 -fomit-frame-pointer2017020620170105
376564refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020620170105
377540refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020620170105
378220refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020620170105
378324refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020620170105
380084refgcc -funroll-loops -O -fomit-frame-pointer2017020620170105
383988refgcc -march=nocona -O3 -fomit-frame-pointer2017020620170105
384864refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020620170105
389112refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020620170105
391904refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020620170105
394820refgcc -m64 -O3 -fomit-frame-pointer2017020620170105
396452refgcc -O3 -fomit-frame-pointer2017020620170105
399524refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020620170105
414880refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020620170105
416344refgcc -march=k8 -O2 -fomit-frame-pointer2017020620170105
418068refgcc -march=barcelona -O2 -fomit-frame-pointer2017020620170105
419040refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020620170105
420592refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020620170105
420836refgcc -m64 -O2 -fomit-frame-pointer2017020620170105
421320refgcc -O2 -fomit-frame-pointer2017020620170105
426148refgcc -march=nocona -O2 -fomit-frame-pointer2017020620170105
433476refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020620170105
433592refgcc -march=k8 -O -fomit-frame-pointer2017020620170105
433976refgcc -march=barcelona -O -fomit-frame-pointer2017020620170105
435460refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020620170105
437740refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020620170105
444076refgcc -march=nocona -O -fomit-frame-pointer2017020620170105
444256refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020620170105
444260refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020620170105
444468refgcc -O -fomit-frame-pointer2017020620170105
448280refgcc -m64 -O -fomit-frame-pointer2017020620170105
482584refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020620170105
483180refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020620170105
483252refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020620170105
483648refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020620170105
483852refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020620170105
485104refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020620170105
485428refgcc -funroll-loops -Os -fomit-frame-pointer2017020620170105
488108refgcc -Os -fomit-frame-pointer2017020620170105
489620refgcc -march=k8 -Os -fomit-frame-pointer2017020620170105
489640refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020620170105
489652refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020620170105
489740refgcc -m64 -Os -fomit-frame-pointer2017020620170105
490028refgcc -march=barcelona -Os -fomit-frame-pointer2017020620170105
490316refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020620170105
502220refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020620170105
502980refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020620170105
508140refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020620170105
509560refgcc -march=nocona -Os -fomit-frame-pointer2017020620170105
1421068refgcc2017020620170105
1421540refgcc -funroll-loops2017020620170105

Compiler output

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