Implementation notes: amd64, hydra1, crypto_encrypt/ntruees439ep1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_encrypt
Primitive: ntruees439ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
301307refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102520161009
301464refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102520161009
301668refgcc -funroll-loops -O3 -fomit-frame-pointer2016102520161009
301674refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102520161009
302043refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102520161009
302261refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102520161009
302334refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102520161009
302851refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102520161009
303402refgcc -O3 -fomit-frame-pointer2016102520161009
303772refgcc -m64 -O3 -fomit-frame-pointer2016102520161009
307621refgcc -march=barcelona -O3 -fomit-frame-pointer2016102520161009
308143refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102520161009
308431refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102520161009
309126refgcc -march=k8 -O3 -fomit-frame-pointer2016102520161009
309476refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102520161009
311808refgcc -march=nocona -O3 -fomit-frame-pointer2016102520161009
312024refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102520161009
312777refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102520161009
313064refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102520161009
314696refgcc -funroll-loops -O2 -fomit-frame-pointer2016102520161009
314947refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102520161009
315789refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102520161009
316144refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102520161009
316189refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102520161009
317307refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102520161009
317702refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102520161009
323309refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102520161009
324236refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102520161009
324281refgcc -funroll-loops -O -fomit-frame-pointer2016102520161009
324456refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102520161009
325011refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102520161009
325784refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102520161009
329018refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102520161009
329535refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102520161009
330016refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102520161009
330096refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102520161009
330155refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102520161009
330696refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102520161009
343431refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102520161009
343555refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102520161009
344095refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102520161009
344610refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102520161009
344611refgcc -march=k8 -O2 -fomit-frame-pointer2016102520161009
345788refgcc -march=barcelona -O2 -fomit-frame-pointer2016102520161009
354726refgcc -O2 -fomit-frame-pointer2016102520161009
354914refgcc -m64 -O2 -fomit-frame-pointer2016102520161009
355375refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102520161009
356028refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102520161009
356426refgcc -march=k8 -O -fomit-frame-pointer2016102520161009
356472refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102520161009
357581refgcc -march=barcelona -O -fomit-frame-pointer2016102520161009
357704refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102520161009
357766refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102520161009
361312refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102520161009
361691refgcc -O -fomit-frame-pointer2016102520161009
362413refgcc -m64 -O -fomit-frame-pointer2016102520161009
368654refgcc -march=nocona -O2 -fomit-frame-pointer2016102520161009
369157refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102520161009
372581refgcc -march=nocona -O -fomit-frame-pointer2016102520161009
372861refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102520161009
391435refgcc -march=barcelona -Os -fomit-frame-pointer2016102520161009
391544refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102520161009
391571refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102520161009
391590refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102520161009
391918refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102520161009
394289refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102520161009
394299refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102520161009
398963refgcc -funroll-loops -Os -fomit-frame-pointer2016102520161009
399024refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102520161009
402978refgcc -Os -fomit-frame-pointer2016102520161009
403421refgcc -march=k8 -Os -fomit-frame-pointer2016102520161009
409616refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102520161009
411563refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102520161009
412376refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102520161009
412808refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102520161009
413800refgcc -m64 -Os -fomit-frame-pointer2016102520161009
419234refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102520161009
421285refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102520161009
422856refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102520161009
424472refgcc -march=nocona -Os -fomit-frame-pointer2016102520161009
1053419refgcc -funroll-loops2016102520161009
1053776refgcc2016102520161009
1056632refcc2016102520161009

Test failure

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