Implementation notes: amd64, glyme, crypto_aead/trivia128v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: trivia128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
315144refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020520170105
315384refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020520170105
317748refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020520170105
317752refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020520170105
318012refgcc -funroll-loops -O3 -fomit-frame-pointer2017020520170105
318012refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020520170105
318012refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020520170105
321632refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020520170105
321668refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020520170105
328028refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020520170105
328372refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020520170105
331500refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020520170105
331584refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020520170105
333124refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020520170105
333140refgcc -funroll-loops -O2 -fomit-frame-pointer2017020520170105
333204refgcc -m64 -O3 -fomit-frame-pointer2017020520170105
333212refgcc -O3 -fomit-frame-pointer2017020520170105
333212refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020520170105
333312refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020520170105
333360refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020520170105
333552refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020520170105
333572refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020520170105
333592refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020520170105
333620refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020520170105
334772refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020520170105
335388refgcc -march=k8 -O3 -fomit-frame-pointer2017020520170105
335412refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020520170105
337952refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020520170105
338592refgcc -march=nocona -O3 -fomit-frame-pointer2017020520170105
338736refgcc -march=barcelona -O3 -fomit-frame-pointer2017020520170105
338752refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020520170105
340140refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020520170105
340200refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020520170105
362896refgcc -march=k8 -O2 -fomit-frame-pointer2017020520170105
363216refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020520170105
365556refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020520170105
365568refgcc -m64 -O2 -fomit-frame-pointer2017020520170105
365588refgcc -O2 -fomit-frame-pointer2017020520170105
365776refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020520170105
365780refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020520170105
365780refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020520170105
366060refgcc -march=barcelona -O2 -fomit-frame-pointer2017020520170105
366128refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020520170105
366840refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020520170105
366872refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020520170105
366880refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020520170105
367756refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020520170105
367760refgcc -march=nocona -O2 -fomit-frame-pointer2017020520170105
427200refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020520170105
427208refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020520170105
429628refgcc -funroll-loops -O -fomit-frame-pointer2017020520170105
429648refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020520170105
429648refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020520170105
430764refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020520170105
430764refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020520170105
432492refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020520170105
432736refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020520170105
450644refgcc -march=barcelona -O -fomit-frame-pointer2017020520170105
450824refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020520170105
454380refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020520170105
454908refgcc -march=k8 -O -fomit-frame-pointer2017020520170105
456020refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020520170105
456040refgcc -m64 -O -fomit-frame-pointer2017020520170105
456076refgcc -O -fomit-frame-pointer2017020520170105
456256refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020520170105
456300refgcc -march=nocona -O -fomit-frame-pointer2017020520170105
461480refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020520170105
461488refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020520170105
461488refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020520170105
461488refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020520170105
461516refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020520170105
461524refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020520170105
497484refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020520170105
497488refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020520170105
497492refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020520170105
497496refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020520170105
497508refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020520170105
497532refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020520170105
497536refgcc -Os -fomit-frame-pointer2017020520170105
497536refgcc -m64 -Os -fomit-frame-pointer2017020520170105
498624refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020520170105
498624refgcc -march=barcelona -Os -fomit-frame-pointer2017020520170105
499808refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020520170105
499808refgcc -march=k8 -Os -fomit-frame-pointer2017020520170105
500408refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020520170105
500436refgcc -march=nocona -Os -fomit-frame-pointer2017020520170105
500832refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020520170105
545696refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020520170105
545816refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020520170105
546120refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020520170105
546156refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020520170105
546340refgcc -funroll-loops -Os -fomit-frame-pointer2017020520170105
546780refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020520170105
546780refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020520170105
553984refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020520170105
554552refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020520170105
2100992refgcc -funroll-loops2017020520170105
2101156refgcc2017020520170105

Compiler output

Implementation: crypto_aead/trivia128v1/ref
Compiler: cc
encrypt.c: encrypt.c:118:12: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
encrypt.c: if((a>gt;>gt;31)&1==1) result = result^(CONST_alpha_32);
encrypt.c: ^~~~~
encrypt.c: encrypt.c:118:12: note: place parentheses around the '==' expression to silence this warning
encrypt.c: if((a>gt;>gt;31)&1==1) result = result^(CONST_alpha_32);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:118:12: note: place parentheses around the & expression to evaluate it first
encrypt.c: if((a>gt;>gt;31)&1==1) result = result^(CONST_alpha_32);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:143:12: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
encrypt.c: if((b>gt;>gt;63)&1==1) result = result^(CONST_beta_64);
encrypt.c: ^~~~~
encrypt.c: encrypt.c:143:12: note: place parentheses around the '==' expression to silence this warning
encrypt.c: if((b>gt;>gt;63)&1==1) result = result^(CONST_beta_64);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:143:12: note: place parentheses around the & expression to evaluate it first
encrypt.c: if((b>gt;>gt;63)&1==1) result = result^(CONST_beta_64);
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:178:8: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
encrypt.c: if(b&1==1) result=a;
encrypt.c: ^~~~~
encrypt.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