Implementation notes: amd64, rumba5, crypto_encrypt/ntruees787ep1

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_encrypt
Primitive: ntruees787ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
665920refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018091720180818
666112refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018091720180818
668192refgcc -funroll-loops -O3 -fomit-frame-pointer2018091720180818
681888refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018091720180818
682080refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018091720180818
683616refgcc -funroll-loops -O2 -fomit-frame-pointer2018091720180818
684160refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018091720180818
693536refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018091720180818
695168refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018091720180818
696480refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018091720180818
696480refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018091720180818
696640refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018091720180818
696704refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018091720180818
697120refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018091720180818
699552refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018091720180818
701280refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018091720180818
703168refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018091720180818
705248refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018091720180818
710400refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018091720180818
713664refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018091720180818
722336refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018091720180818
723616refgcc -march=barcelona -O3 -fomit-frame-pointer2018091720180818
726400refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018091720180818
726752refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018091720180818
727168refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018091720180818
727168refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018091720180818
727392refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018091720180818
727840refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018091720180818
727904refgcc -funroll-loops -O -fomit-frame-pointer2018091720180818
728416refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018091720180818
739456refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018091720180818
790016refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018091720180818
791392refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018091720180818
792128refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018091720180818
792896refgcc -m64 -O3 -fomit-frame-pointer2018091720180818
793056refgcc -O3 -fomit-frame-pointer2018091720180818
793248refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018091720180818
794208refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018091720180818
794304refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018091720180818
808704refgcc -m64 -march=core2 -O -fomit-frame-pointer2018091720180818
808896refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018091720180818
810176refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018091720180818
810528refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018091720180818
810528refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018091720180818
810784refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018091720180818
819136refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018091720180818
821088refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018091720180818
822816refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018091720180818
822816refgcc -march=nocona -Os -fomit-frame-pointer2018091720180818
822912refgcc -march=k8 -O3 -fomit-frame-pointer2018091720180818
853184refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018091720180818
858144refgcc -march=barcelona -O2 -fomit-frame-pointer2018091720180818
862688refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018091720180818
864224refgcc -march=k8 -O2 -fomit-frame-pointer2018091720180818
864960refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018091720180818
865120refgcc -march=nocona -O3 -fomit-frame-pointer2018091720180818
878752refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018091720180818
898816refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018091720180818
909472refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018091720180818
910400refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018091720180818
917728refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018091720180818
917952refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018091720180818
924576refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018091720180818
927904refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018091720180818
928128refgcc -march=barcelona -O -fomit-frame-pointer2018091720180818
933824refgcc -march=k8 -O -fomit-frame-pointer2018091720180818
933888refgcc -m64 -march=k8 -O -fomit-frame-pointer2018091720180818
941408refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018091720180818
941440refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018091720180818
943968refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018091720180818
944256refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018091720180818
944384refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018091720180818
944448refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018091720180818
944928refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018091720180818
945056refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018091720180818
946112refgcc -funroll-loops -Os -fomit-frame-pointer2018091720180818
947584refgcc -m64 -O2 -fomit-frame-pointer2018091720180818
947744refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018091720180818
948032refgcc -O2 -fomit-frame-pointer2018091720180818
962272refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018091720180818
962912refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018091720180818
966816refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018091720180818
976160refgcc -march=barcelona -Os -fomit-frame-pointer2018091720180818
976320refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018091720180818
976768refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018091720180818
976800refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018091720180818
976992refgcc -march=k8 -Os -fomit-frame-pointer2018091720180818
977088refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018091720180818
977152refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018091720180818
977632refgcc -Os -fomit-frame-pointer2018091720180818
977728refgcc -m64 -Os -fomit-frame-pointer2018091720180818
977792refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018091720180818
978816refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018091720180818
978848refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018091720180818
978944refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018091720180818
979072refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018091720180818
979264refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018091720180818
979264refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018091720180818
986176refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018091720180818
1006496refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018091720180818
1014624refgcc -march=nocona -O2 -fomit-frame-pointer2018091720180818
1015168refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018091720180818
1062464refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018091720180818
1078240refgcc -O -fomit-frame-pointer2018091720180818
1078272refgcc -m64 -O -fomit-frame-pointer2018091720180818
1080320refgcc -fno-schedule-insns -O -fomit-frame-pointer2018091720180818
1112832refgcc -march=nocona -O -fomit-frame-pointer2018091720180818
1112864refgcc -m64 -march=nocona -O -fomit-frame-pointer2018091720180818
3439040refgcc -funroll-loops2018091720180818
3439200refgcc2018091720180818
3444256refcc2018091720180818

Compiler output

Implementation: crypto_encrypt/ntruees787ep1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
crypto_sha1.c: crypto_sha1.c:85:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
crypto_sha1.c: ~~^~~~~~~~~ ~
crypto_sha1.c: crypto_sha1.c:85:33: note: place parentheses around the '&' expression to silence this warning
crypto_sha1.c: E += RL(A, 5) + K00_19 + (B & (C ^ D) ^ D) + data[ 0]; B = RL(B, 30);
crypto_sha1.c: ^
crypto_sha1.c: ( )
crypto_sha1.c: crypto_sha1.c:86:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
crypto_sha1.c: ~~^~~~~~~~~ ~
crypto_sha1.c: crypto_sha1.c:86:33: note: place parentheses around the '&' expression to silence this warning
crypto_sha1.c: D += RL(E, 5) + K00_19 + (A & (B ^ C) ^ C) + data[ 1]; A = RL(A, 30);
crypto_sha1.c: ^
crypto_sha1.c: ( )
crypto_sha1.c: crypto_sha1.c:87:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
crypto_sha1.c: ~~^~~~~~~~~ ~
crypto_sha1.c: crypto_sha1.c:87:33: note: place parentheses around the '&' expression to silence this warning
crypto_sha1.c: C += RL(D, 5) + K00_19 + (E & (A ^ B) ^ B) + data[ 2]; E = RL(E, 30);
crypto_sha1.c: ^
crypto_sha1.c: ( )
crypto_sha1.c: crypto_sha1.c:88:33: warning: '&' within '^' [-Wbitwise-op-parentheses]
crypto_sha1.c: B += RL(C, 5) + K00_19 + (D & (E ^ A) ^ A) + data[ 3]; D = RL(D, 30);
crypto_sha1.c: ~~^~~~~~~~~ ~
crypto_sha1.c: crypto_sha1.c:88:33: note: place parentheses around the '&' expression to silence this warning
crypto_sha1.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -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