Implementation notes: amd64, glyme, crypto_hash/sarmal256

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_hash
Primitive: sarmal256
TimeImplementationCompilerBenchmark dateSUPERCOP version
13332asm64gcc -m64 -O3 -fomit-frame-pointer2017020120170105
13352asm64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
13364asm64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020120170105
13372asm64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020120170105
13380asm64gcc -funroll-loops -O2 -fomit-frame-pointer2017020120170105
13380asm64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
13388asm64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020120170105
13392asm64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020120170105
13400asm64gcc -O2 -fomit-frame-pointer2017020120170105
13404asm64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
13404asm64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020120170105
13408asm64gcc -m64 -O2 -fomit-frame-pointer2017020120170105
13408asm64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020120170105
13412asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020120170105
13416asm64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020120170105
13420asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
13424asm64gcc -O3 -fomit-frame-pointer2017020120170105
13432asm64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020120170105
13436asm64gcc -funroll-loops -O -fomit-frame-pointer2017020120170105
13436asm64gcc -funroll-loops -m64 -O -fomit-frame-pointer2017020120170105
13436asm64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020120170105
13444asm64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020120170105
13464asm64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
13464asm64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020120170105
13472asm64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
13480asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
13484asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020120170105
13484asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020120170105
13488asm64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020120170105
13492asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2017020120170105
13492asm64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020120170105
13500asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020120170105
13500asm64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020120170105
13512asm64gcc -funroll-loops -O3 -fomit-frame-pointer2017020120170105
13512asm64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020120170105
13544asm64gcc -O -fomit-frame-pointer2017020120170105
13544asm64gcc -m64 -O -fomit-frame-pointer2017020120170105
13640opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
13640asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2017020120170105
13644opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020120170105
13656opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020120170105
13664opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
13712asm64gcc -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
13712asm64gcc -march=k8 -O -fomit-frame-pointer2017020120170105
13816asm64gcc -march=barcelona -O -fomit-frame-pointer2017020120170105
13820asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
13896opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
13900opt64gcc -march=nocona -O3 -fomit-frame-pointer2017020120170105
13908asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
13908asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020120170105
13912asm64gcc -m64 -Os -fomit-frame-pointer2017020120170105
13916asm64gcc -Os -fomit-frame-pointer2017020120170105
13916asm64gcc -march=k8 -Os -fomit-frame-pointer2017020120170105
13924asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
13924asm64gcc -march=barcelona -Os -fomit-frame-pointer2017020120170105
13928asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
13968asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020120170105
13968asm64gcc -march=nocona -O -fomit-frame-pointer2017020120170105
13972asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
13976asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2017020120170105
13980asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020120170105
13980asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020120170105
14012asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
14016asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
14020opt64gcc -march=nocona -O2 -fomit-frame-pointer2017020120170105
14024asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
14028opt64gcc -O2 -fomit-frame-pointer2017020120170105
14028asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
14028asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020120170105
14032opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
14068asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
14068asm64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020120170105
14076opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
14084asm64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
14084asm64gcc -march=k8 -O2 -fomit-frame-pointer2017020120170105
14088asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020120170105
14088asm64gcc -march=nocona -Os -fomit-frame-pointer2017020120170105
14096opt64gcc -m64 -O2 -fomit-frame-pointer2017020120170105
14112opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020120170105
14120opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020120170105
14120opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020120170105
14120opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020120170105
14132opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020120170105
14136opt64gcc -funroll-loops -O2 -fomit-frame-pointer2017020120170105
14144asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
14152opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020120170105
14152asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020120170105
14168opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
14176asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
14184opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020120170105
14196asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
14196asm64gcc -march=nocona -O3 -fomit-frame-pointer2017020120170105
14200opt64gcc -funroll-loops -O3 -fomit-frame-pointer2017020120170105
14216asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
14216asm64gcc -march=nocona -O2 -fomit-frame-pointer2017020120170105
14224asm64gcc -march=barcelona -O2 -fomit-frame-pointer2017020120170105
14236asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
14248opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020120170105
14252asm64gcc -march=barcelona -O3 -fomit-frame-pointer2017020120170105
14256opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020120170105
14268opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020120170105
14280opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020120170105
14284asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020120170105
14292opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020120170105
14296asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020120170105
14300opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020120170105
14328opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020120170105
14356opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
14380opt64gcc -m64 -O3 -fomit-frame-pointer2017020120170105
14400opt64gcc -O3 -fomit-frame-pointer2017020120170105
14480asm64gcc -funroll-loops -Os -fomit-frame-pointer2017020120170105
14480asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020120170105
14484opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
14492opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
14496opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020120170105
14516asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
14516asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
14516asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020120170105
14520asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
14544asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020120170105
14564opt64gcc -funroll-loops -O -fomit-frame-pointer2017020120170105
14564opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2017020120170105
14576opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
14580asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
14580asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020120170105
14720opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
14720opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020120170105
14756opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
14756opt64gcc -march=nocona -Os -fomit-frame-pointer2017020120170105
14884opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
14892opt64gcc -march=barcelona -Os -fomit-frame-pointer2017020120170105
14920opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2017020120170105
14920opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020120170105
14924opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020120170105
14924opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020120170105
14924opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
14928opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
14928opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020120170105
14932opt64gcc -m64 -Os -fomit-frame-pointer2017020120170105
14932opt64gcc -march=k8 -Os -fomit-frame-pointer2017020120170105
14956opt64gcc -Os -fomit-frame-pointer2017020120170105
14972opt64gcc -m64 -O -fomit-frame-pointer2017020120170105
14996opt64gcc -O -fomit-frame-pointer2017020120170105
15008opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
15012opt64gcc -march=nocona -O -fomit-frame-pointer2017020120170105
15036opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020120170105
15064opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
15080opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
15080opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020120170105
15096opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020120170105
15100opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020120170105
15120opt64gcc -funroll-loops -Os -fomit-frame-pointer2017020120170105
15120opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020120170105
15120opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020120170105
15124opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2017020120170105
15132opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2017020120170105
15132opt64gcc -march=barcelona -O2 -fomit-frame-pointer2017020120170105
15140opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
15144opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
15148opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020120170105
15172opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
15176opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
15176opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
15184opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020120170105
15192opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020120170105
15196opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
15208opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020120170105
15208opt64gcc -march=k8 -O2 -fomit-frame-pointer2017020120170105
15212opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
15244opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020120170105
15264opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
15272opt64gcc -march=barcelona -O3 -fomit-frame-pointer2017020120170105
15284opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
15380opt64gcc -march=k8 -O3 -fomit-frame-pointer2017020120170105
15388opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
15456opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020120170105
15688opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
15688opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020120170105
15688opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
15696opt64gcc -march=k8 -O -fomit-frame-pointer2017020120170105
15756opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
15780opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020120170105
15856opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
15860opt64gcc -march=barcelona -O -fomit-frame-pointer2017020120170105
16044asm64gcc -funroll-loops2017020120170105
16284asm64gcc2017020120170105
17164opt64clang -O3 -fomit-frame-pointer -Qunused-arguments2017020120170105
17224opt64clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
17224opt64clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
17224opt64clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
17240opt64clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020120170105
17260opt64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
34580opt64gcc -funroll-loops2017020120170105
34632opt64gcc2017020120170105
38484opt64cc2017020120170105

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer asm64
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer asm64
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer asm64

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer asm64
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer asm64
gcc -m64 -march=k8 -O3 -fomit-frame-pointer asm64
gcc -march=k8 -O3 -fomit-frame-pointer asm64

Compiler output

Implementation: crypto_hash/sarmal256/asm64
Compiler: cc
sarmal.c: sarmal.c:945:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: gt;:1323:2: note: instantiated into assembly here
sarmal.c: addq [rdx], 1024
sarmal.c: ^~~~
sarmal.c: sarmal.c:1120:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: gt;:1075:2: note: instantiated into assembly here
sarmal.c: addq [rdx], 1024
sarmal.c: ^~~~
sarmal.c: 2 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc asm64

Compiler output

Implementation: crypto_hash/sarmal256/asm64
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
sarmal.c: sarmal.c:945:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: gt;:1323:2: note: instantiated into assembly here
sarmal.c: addq [rdx], 1024
sarmal.c: ^~~~
sarmal.c: sarmal.c:1120:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: gt;:1075:2: note: instantiated into assembly here
sarmal.c: addq [rdx], 1024
sarmal.c: ^~~~
sarmal.c: sarmal.c:945:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: gt;:1323:2: note: instantiated into assembly here
sarmal.c: addq [rdx], 1024
sarmal.c: ^~~~
sarmal.c: sarmal.c:1120:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: gt;:1075:2: note: instantiated into assembly here
sarmal.c: addq [rdx], 1024
sarmal.c: ^~~~
sarmal.c: sarmal.c:945:14: error: invalid instruction mnemonic 'addq'
sarmal.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments asm64
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments asm64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments asm64
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments asm64
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments asm64
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments asm64