Implementation notes: amd64, h5e450, crypto_encrypt/ntruees787ep1

Computer: h5e450
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20130419
Operation: crypto_encrypt
Primitive: ntruees787ep1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2315130refclang -O32012080520120717
2414901refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012080520120717
2419059refgcc -funroll-loops -O2 -fomit-frame-pointer2012080520120717
2420172refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012080520120717
2421582refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012080520120717
2424186refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012080520120717
2456601refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012080520120717
2460693refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012080520120717
2462106refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012080520120717
2462382refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012080520120717
2470299refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012080520120717
2474394refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012080520120717
2475378refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012080520120717
2476896refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012080520120717
2477223refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012080520120717
2477271refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012080520120717
2477895refgcc -funroll-loops -O -fomit-frame-pointer2012080520120717
2478336refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012080520120717
2478723refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012080520120717
2478858refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012080520120717
2479047refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012080520120717
2480460refgcc -funroll-loops -O3 -fomit-frame-pointer2012080520120717
2490294refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012080520120717
2491536refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012080520120717
2527389refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012080520120717
2527716refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012080520120717
2528400refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012080520120717
2532360refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012080520120717
2839860refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012080520120717
2839971refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012080520120717
2840910refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012080520120717
2842200refgcc -funroll-loops -Os -fomit-frame-pointer2012080520120717
2842254refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012080520120717
2842308refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012080520120717
2842608refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012080520120717
2846421refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012080520120717
2847786refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012080520120717
2866980refgcc -march=barcelona -O -fomit-frame-pointer2012080520120717
2868108refgcc -m64 -march=k8 -O -fomit-frame-pointer2012080520120717
2870826refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012080520120717
2871447refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012080520120717
2874225refgcc -march=k8 -O -fomit-frame-pointer2012080520120717
2894583refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012080520120717
2896815refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012080520120717
2901597refgcc -march=k8 -O3 -fomit-frame-pointer2012080520120717
2913969refgcc -march=barcelona -O3 -fomit-frame-pointer2012080520120717
2950554refgcc -march=barcelona -O2 -fomit-frame-pointer2012080520120717
2953383refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012080520120717
2954073refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012080520120717
3020655refgcc -O -fomit-frame-pointer2012080520120717
3021033refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012080520120717
3021702refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012080520120717
3022851refgcc -m64 -march=core2 -O -fomit-frame-pointer2012080520120717
3023046refgcc -m64 -O -fomit-frame-pointer2012080520120717
3023064refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012080520120717
3024141refgcc -fno-schedule-insns -O -fomit-frame-pointer2012080520120717
3056628refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012080520120717
3086886refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012080520120717
3086922refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012080520120717
3087747refgcc -march=nocona -O2 -fomit-frame-pointer2012080520120717
3088527refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012080520120717
3090144refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012080520120717
3090900refgcc -O2 -fomit-frame-pointer2012080520120717
3092295refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012080520120717
3093462refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012080520120717
3095925refgcc -m64 -O2 -fomit-frame-pointer2012080520120717
3177735refgcc -m64 -march=nocona -O -fomit-frame-pointer2012080520120717
3183162refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012080520120717
3183318refgcc -march=nocona -O3 -fomit-frame-pointer2012080520120717
3185151refgcc -march=nocona -O -fomit-frame-pointer2012080520120717
3201615refgcc -m64 -O3 -fomit-frame-pointer2012080520120717
3202659refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012080520120717
3203622refgcc -O3 -fomit-frame-pointer2012080520120717
3209205refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012080520120717
3251019refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012080520120717
3255096refgcc -march=k8 -O2 -fomit-frame-pointer2012080520120717
3338196refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012080520120717
3338202refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012080520120717
3338709refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012080520120717
3338772refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012080520120717
3338799refgcc -march=barcelona -Os -fomit-frame-pointer2012080520120717
3338847refgcc -Os -fomit-frame-pointer2012080520120717
3338907refgcc -march=k8 -Os -fomit-frame-pointer2012080520120717
3339375refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012080520120717
3339474refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012080520120717
3339540refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012080520120717
3339819refgcc -m64 -Os -fomit-frame-pointer2012080520120717
3340371refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012080520120717
3345081refgcc -march=nocona -Os -fomit-frame-pointer2012080520120717
3347250refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012080520120717
8439627refgcc -funroll-loops2012080520120717
8440224refgcc2012080520120717
8440482refcc2012080520120717

Compiler output

Implementation: crypto_encrypt/ntruees787ep1/ref
Compiler: clang -O3
ntru_encrypt.c: ntru_encrypt.c:477:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
ntru_encrypt.c: ntru_encrypt.c:477:26: note: place parentheses around the assignment to silence this warning
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ( )
ntru_encrypt.c: ntru_encrypt.c:477:26: note: use '==' to turn this assignment into an equality comparison
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ==
ntru_encrypt.c: ntru_encrypt.c:493:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
ntru_encrypt.c: ntru_encrypt.c:493:22: note: place parentheses around the assignment to silence this warning
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ( )
ntru_encrypt.c: ntru_encrypt.c:493:22: note: use '==' to turn this assignment into an equality comparison
ntru_encrypt.c: if (ci_coeff = *chkR_ptr++ & 0x0001) {
ntru_encrypt.c: ^
ntru_encrypt.c: ==
ntru_encrypt.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 ref