Implementation notes: amd64, hydra8, crypto_encrypt/ntruees787ep1

Computer: hydra8
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_encrypt
Primitive: ntruees787ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
956716refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017110620171020
965004refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017110620171020
965304refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017110620171020
968332refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017110620171020
970544refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017110620171020
973720refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017110620171020
975772refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017110620171020
977368refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017110620171020
981088refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017110620171020
982096refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017110620171020
982764refgcc -funroll-loops -O2 -fomit-frame-pointer2017110620171020
985004refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017110620171020
987264refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017110620171020
987380refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017110620171020
991320refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017110620171020
992328refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017110620171020
993832refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017110620171020
994008refgcc -funroll-loops -O3 -fomit-frame-pointer2017110620171020
1008368refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017110620171020
1008780refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017110620171020
1009844refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017110620171020
1010484refgcc -funroll-loops -O -fomit-frame-pointer2017110620171020
1011420refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017110620171020
1011556refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017110620171020
1018892refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017110620171020
1020000refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017110620171020
1021360refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017110620171020
1030712refgcc -march=barcelona -O3 -fomit-frame-pointer2017110620171020
1035604refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017110620171020
1036960refgcc -march=k8 -O3 -fomit-frame-pointer2017110620171020
1038144refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017110620171020
1108716refgcc -m64 -O3 -fomit-frame-pointer2017110620171020
1108868refgcc -O3 -fomit-frame-pointer2017110620171020
1114696refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017110620171020
1115972refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017110620171020
1117240refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017110620171020
1119276refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017110620171020
1120024refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017110620171020
1123100refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017110620171020
1124044refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017110620171020
1124788refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017110620171020
1125416refgcc -march=nocona -O3 -fomit-frame-pointer2017110620171020
1125604refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017110620171020
1128124refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017110620171020
1130512refgcc -march=barcelona -O2 -fomit-frame-pointer2017110620171020
1131124refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017110620171020
1131520refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017110620171020
1131764refgcc -march=barcelona -O -fomit-frame-pointer2017110620171020
1132912refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017110620171020
1133020refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017110620171020
1133360refgcc -m64 -O2 -fomit-frame-pointer2017110620171020
1133760refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017110620171020
1134052refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017110620171020
1134076refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017110620171020
1134152refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017110620171020
1134168refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017110620171020
1135268refgcc -m64 -march=core2 -O -fomit-frame-pointer2017110620171020
1136780refgcc -O2 -fomit-frame-pointer2017110620171020
1139888refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017110620171020
1140296refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017110620171020
1140312refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017110620171020
1141748refgcc -march=k8 -O2 -fomit-frame-pointer2017110620171020
1142116refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017110620171020
1143020refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017110620171020
1145864refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017110620171020
1146484refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017110620171020
1146552refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017110620171020
1152596refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017110620171020
1153596refgcc -march=nocona -O -fomit-frame-pointer2017110620171020
1157560refgcc -march=nocona -O2 -fomit-frame-pointer2017110620171020
1158008refgcc -m64 -march=nocona -O -fomit-frame-pointer2017110620171020
1161904refgcc -fno-schedule-insns -O -fomit-frame-pointer2017110620171020
1162172refgcc -O -fomit-frame-pointer2017110620171020
1163332refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017110620171020
1169040refgcc -m64 -O -fomit-frame-pointer2017110620171020
1169888refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017110620171020
1181880refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017110620171020
1185656refgcc -march=nocona -Os -fomit-frame-pointer2017110620171020
1204292refgcc -m64 -Os -fomit-frame-pointer2017110620171020
1204684refgcc -Os -fomit-frame-pointer2017110620171020
1204692refgcc -march=k8 -Os -fomit-frame-pointer2017110620171020
1204712refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017110620171020
1205168refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017110620171020
1206884refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017110620171020
1209704refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017110620171020
1213544refgcc -march=barcelona -Os -fomit-frame-pointer2017110620171020
1284100refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017110620171020
1284324refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017110620171020
1284864refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017110620171020
1285168refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017110620171020
1285508refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017110620171020
1285636refgcc -funroll-loops -Os -fomit-frame-pointer2017110620171020
1285700refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017110620171020
1285708refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017110620171020
1285736refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017110620171020
1285816refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017110620171020
1286188refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017110620171020
1286884refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017110620171020
1287832refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017110620171020
1305700refgcc -march=k8 -O -fomit-frame-pointer2017110620171020
1313396refgcc -m64 -march=k8 -O -fomit-frame-pointer2017110620171020
1351168refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017110620171020
1353336refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017110620171020
1355128refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017110620171020
3035160refcc2017110620171020
3042828refgcc -funroll-loops2017110620171020
3111092refgcc2017110620171020

Test failure

Implementation: crypto_encrypt/ntruees787ep1/ref
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

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: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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