Implementation notes: amd64, hydra1, crypto_encrypt/ntruees593ep1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_encrypt
Primitive: ntruees593ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
436848refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102520161009
437504refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102520161009
438251refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102520161009
438523refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102520161009
438528refgcc -funroll-loops -O3 -fomit-frame-pointer2016102520161009
439355refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102520161009
439752refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102520161009
444553refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102520161009
444890refgcc -m64 -O3 -fomit-frame-pointer2016102520161009
445323refgcc -O3 -fomit-frame-pointer2016102520161009
446587refgcc -march=k8 -O3 -fomit-frame-pointer2016102520161009
446652refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102520161009
450189refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102520161009
450255refgcc -march=barcelona -O3 -fomit-frame-pointer2016102520161009
450565refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102520161009
451459refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102520161009
451890refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102520161009
452573refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102520161009
452942refgcc -march=nocona -O3 -fomit-frame-pointer2016102520161009
454432refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102520161009
454544refgcc -funroll-loops -O2 -fomit-frame-pointer2016102520161009
456416refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102520161009
456597refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102520161009
456711refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102520161009
457054refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102520161009
457879refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102520161009
459773refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102520161009
463182refgcc -funroll-loops -O -fomit-frame-pointer2016102520161009
463296refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102520161009
463719refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102520161009
464598refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102520161009
464600refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102520161009
466051refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102520161009
466410refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102520161009
471802refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102520161009
471980refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102520161009
473915refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102520161009
474644refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102520161009
489296refgcc -march=barcelona -O2 -fomit-frame-pointer2016102520161009
490108refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102520161009
493840refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102520161009
494862refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102520161009
499174refgcc -march=k8 -O -fomit-frame-pointer2016102520161009
499870refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102520161009
500531refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102520161009
500897refgcc -march=k8 -O2 -fomit-frame-pointer2016102520161009
502568refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102520161009
502711refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102520161009
503066refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102520161009
503162refgcc -O -fomit-frame-pointer2016102520161009
503285refgcc -m64 -O -fomit-frame-pointer2016102520161009
503744refgcc -march=barcelona -O -fomit-frame-pointer2016102520161009
504051refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102520161009
506915refgcc -m64 -O2 -fomit-frame-pointer2016102520161009
507013refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102520161009
507097refgcc -O2 -fomit-frame-pointer2016102520161009
521760refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102520161009
521998refgcc -march=nocona -O2 -fomit-frame-pointer2016102520161009
522323refgcc -march=nocona -O -fomit-frame-pointer2016102520161009
522406refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102520161009
546188refgcc -m64 -Os -fomit-frame-pointer2016102520161009
546695refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102520161009
546951refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102520161009
553968refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102520161009
554603refgcc -funroll-loops -Os -fomit-frame-pointer2016102520161009
567221refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102520161009
567267refgcc -march=k8 -Os -fomit-frame-pointer2016102520161009
568622refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102520161009
568887refgcc -march=barcelona -Os -fomit-frame-pointer2016102520161009
569675refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102520161009
569926refgcc -Os -fomit-frame-pointer2016102520161009
569946refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102520161009
571844refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102520161009
572797refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102520161009
573485refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102520161009
573682refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102520161009
581744refgcc -march=nocona -Os -fomit-frame-pointer2016102520161009
582047refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102520161009
591075refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102520161009
597248refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102520161009
1474069refgcc2016102520161009
1474984refgcc -funroll-loops2016102520161009
1480539refcc2016102520161009

Test failure

Implementation: crypto_encrypt/ntruees593ep1/ref
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/ntruees593ep1/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: 6, namely:
CompilerImplementations
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