Implementation notes: amd64, h5e450, crypto_dh/surf127eps

Computer: h5e450
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20130419
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
2062491mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012080320120717
2065548mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012080320120717
2067042mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012080320120717
2067930mpfqgcc -march=nocona -O3 -fomit-frame-pointer2012080320120717
2068731mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2012080320120717
2068788mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012080320120717
2069349mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012080320120717
2069745mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012080320120717
2069964mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012080320120717
2070684mpfqgcc -O3 -fomit-frame-pointer2012080320120717
2070744mpfqgcc -march=k8 -O3 -fomit-frame-pointer2012080320120717
2071203mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012080320120717
2071233mpfqgcc -m64 -O3 -fomit-frame-pointer2012080320120717
2071788mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2012080320120717
2071899mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012080320120717
2072916mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012080320120717
2072994mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012080320120717
2074035mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012080320120717
2075946mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012080320120717
2076786mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2012080320120717
2077230mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012080320120717
2077425mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012080320120717
2078025mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012080320120717
2078562mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012080320120717
2078724mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012080320120717
2078958mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2012080320120717
2079102mpfqgcc -funroll-loops -O -fomit-frame-pointer2012080320120717
2079339mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012080320120717
2079522mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2012080320120717
2079624mpfqgcc -march=k8 -O -fomit-frame-pointer2012080320120717
2079660mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012080320120717
2080014mpfqgcc -march=nocona -O2 -fomit-frame-pointer2012080320120717
2080182mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012080320120717
2080533mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012080320120717
2080572mpfqgcc -march=nocona -O -fomit-frame-pointer2012080320120717
2080728mpfqgcc -march=barcelona -O -fomit-frame-pointer2012080320120717
2080914mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012080320120717
2081358mpfqgcc -m64 -O -fomit-frame-pointer2012080320120717
2081580mpfqgcc -O2 -fomit-frame-pointer2012080320120717
2081589mpfqgcc -march=k8 -O2 -fomit-frame-pointer2012080320120717
2082183mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012080320120717
2082291mpfqgcc -O -fomit-frame-pointer2012080320120717
2082501mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2012080320120717
2082615mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012080320120717
2082735mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2012080320120717
2082903mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012080320120717
2082912mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012080320120717
2083257mpfqgcc -m64 -O2 -fomit-frame-pointer2012080320120717
2083383mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2012080320120717
2083626mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012080320120717
2084262mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012080320120717
2084778mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2012080320120717
2358417mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012080320120717
2358708mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2012080320120717
2359434mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012080320120717
2360466mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012080320120717
2364081mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012080320120717
2364228mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012080320120717
2364360mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012080320120717
2366700mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012080320120717
2367696mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012080320120717
2368059mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012080320120717
2368716mpfqgcc -funroll-loops -Os -fomit-frame-pointer2012080320120717
2369367mpfqgcc -march=barcelona -Os -fomit-frame-pointer2012080320120717
2369385mpfqgcc -march=nocona -Os -fomit-frame-pointer2012080320120717
2369610mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012080320120717
2369802mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012080320120717
2370285mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012080320120717
2371374mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2012080320120717
2371725mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2012080320120717
2371938mpfqgcc -m64 -Os -fomit-frame-pointer2012080320120717
2372448mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2012080320120717
2373498mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012080320120717
2373894mpfqgcc -march=k8 -Os -fomit-frame-pointer2012080320120717
2374548mpfqgcc -Os -fomit-frame-pointer2012080320120717
2398731mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012080320120717
2399121mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012080320120717
2422932mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012080320120717
2423856mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012080320120717
2426238mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012080320120717
2427123mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012080320120717
2435262mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012080320120717
2436318mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012080320120717
2440980mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012080320120717
2441037mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012080320120717
2441184mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2012080320120717
2442993mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2012080320120717
2443113mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012080320120717
2443620mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012080320120717

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: cc
surf127eps.c: In file included from mpfq_p_127_735.h:5:0,
surf127eps.c: from surf127eps.c:18:
surf127eps.c: x86_64/mpfq_p_127_735.h: In function 'mpfq_p_127_735_hadamard':
surf127eps.c: x86_64/mpfq_p_127_735.h:360:3: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
surf127eps.c: x86_64/mpfq_p_127_735.h:360:3: error: 'asm' operand has impossible constraints

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc mpfq
gcc mpfq
gcc -funroll-loops mpfq

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: clang -O3
mpfq_p_127_735.c: In file included from mpfq_p_127_735.c:5:
mpfq_p_127_735.c: ./x86_64/mpfq_p_127_735.c:111:1: warning: control reaches end of non-void function [-Wreturn-type]
mpfq_p_127_735.c: }
mpfq_p_127_735.c: ^
mpfq_p_127_735.c: 1 warning generated.
surf127eps.c: In file included from surf127eps.c:18:
surf127eps.c: In file included from ./mpfq_p_127_735.h:5:
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: ran out of registers during register allocation
surf127eps.c: " movq %0, %%rcx\n"
surf127eps.c: ^
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: ran out of registers during register allocation
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: ran out of registers during register allocation
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: ran out of registers during register allocation
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: ran out of registers during register allocation
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: ran out of registers during register allocation
surf127eps.c: 6 errors generated.

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