Implementation notes: amd64, genji262, crypto_hash/sarmal512

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: sarmal512
TimeImplementationCompilerBenchmark dateSUPERCOP version
9262opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
9284opt64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
9306opt64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
9372opt64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
9394opt64gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
9416opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
9416opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
9438opt64gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
9438opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
9482opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
9504opt64gcc -O3 -fomit-frame-pointer2018081920180818
9504opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
9504opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
9504opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
9504opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
9526opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
9526opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
9548opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
9548opt64gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
9570opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
9570opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
9636opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
9702opt64gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
9724opt64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
9724opt64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
9746opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
9768opt64gcc -O -fomit-frame-pointer2018081920180818
9768opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
9768opt64gcc -m64 -O3 -fomit-frame-pointer2018081920180818
9768opt64gcc -m64 -O -fomit-frame-pointer2018081920180818
9768opt64gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
9812opt64gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
9856opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
9878opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
9878opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
9900opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
9900opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
9922opt64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
9922opt64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
9944opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
9944opt64gcc -m64 -O2 -fomit-frame-pointer2018081920180818
9944opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
9944opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
9966opt64gcc -O2 -fomit-frame-pointer2018081920180818
9988opt64gcc -march=nocona -O -fomit-frame-pointer2018081920180818
10010opt64gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
10032opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
10098opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
10142opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
10142opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
10208opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
10230opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
10516asm64gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
10516opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
10538asm64gcc -O3 -fomit-frame-pointer2018081920180818
10538asm64gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
10538asm64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
10538opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
10560asm64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
10582asm64gcc -m64 -O3 -fomit-frame-pointer2018081920180818
10626opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
10648opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
10648opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
10648opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
10670opt64gcc -Os -fomit-frame-pointer2018081920180818
10670opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
10670asm64gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
10670opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
10670opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
10670asm64gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
10670asm64gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
10670asm64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
10670opt64gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
10670asm64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
10670opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
10670asm64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
10692asm64gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
10692asm64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
10692asm64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
10692opt64gcc -m64 -Os -fomit-frame-pointer2018081920180818
10692asm64gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
10692opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
10692opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
10692asm64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
10692opt64gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
10714asm64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
10736asm64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
10736asm64gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
10736asm64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
10736opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
10758asm64gcc -O2 -fomit-frame-pointer2018081920180818
10758asm64gcc -O -fomit-frame-pointer2018081920180818
10758asm64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
10758asm64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
10758opt64gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
10758opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
10758asm64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
10758opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
10758opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
10758asm64gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
10758asm64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
10758asm64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
10758asm64gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
10780asm64gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
10780opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
10780opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
10780opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
10780asm64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
10780asm64gcc -m64 -O2 -fomit-frame-pointer2018081920180818
10780asm64gcc -m64 -O -fomit-frame-pointer2018081920180818
10780asm64gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
10802asm64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
10802asm64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
10802asm64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
10802asm64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
10824asm64gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
10824asm64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
10824asm64gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
10824asm64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
10824asm64gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
10846asm64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
10846asm64gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
10868opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
10868asm64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
10868opt64gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
10868opt64gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
10868opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
10868asm64gcc -march=nocona -O -fomit-frame-pointer2018081920180818
10890opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
10890asm64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
10890asm64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
10890asm64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
10890opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
10890asm64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
10890asm64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
10890opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
10890opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
10890opt64gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
10912asm64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
10912opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
10912asm64gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
10912opt64gcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
10912opt64gcc -march=k8 -O -fomit-frame-pointer2018081920180818
10934opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
10934opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
10934opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
10934opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
10934asm64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
10934asm64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
10934opt64gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
10934asm64gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
10934opt64gcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
10934asm64gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
10956opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
10956asm64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
10956opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
10956opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
10978asm64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
10978opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
10978asm64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
11000opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
11000opt64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
11000opt64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
11044opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
11066opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
11066opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
11066opt64gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
11088asm64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
11088opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
11110asm64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
11110asm64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
11176opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
11176asm64gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
11176asm64gcc -march=k8 -O -fomit-frame-pointer2018081920180818
11198asm64gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
11198asm64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
11220asm64gcc -Os -fomit-frame-pointer2018081920180818
11220asm64gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
11220asm64gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
11220asm64gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
11220asm64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
11242asm64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
11242asm64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
11242asm64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
11242asm64gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
11242asm64gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
11264asm64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
11264asm64gcc -m64 -Os -fomit-frame-pointer2018081920180818
11264asm64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
11330asm64gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
11330asm64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
11330asm64gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
11330asm64gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
11330asm64gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
11352asm64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
11374asm64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
11374asm64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
11374asm64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
11396asm64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
11396asm64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
11440asm64gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
11462asm64gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
11462asm64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
11462asm64gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
11506asm64gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
11814asm64gcc2018081920180818
11858asm64gcc -funroll-loops2018081920180818
11968asm64cc2018081920180818
17248opt64gcc2018081920180818
17270opt64gcc -funroll-loops2018081920180818
19316opt64cc2018081920180818
23166opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
error 142
sh: line 1: 110555 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
error 142
sh: line 1: 111342 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer
error 142
sh: line 1: 109732 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
error 142
sh: line 1: 116972 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
error 142
sh: line 1: 117103 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -funroll-loops -march=k8 -O -fomit-frame-pointer
error 142
sh: line 1: 117866 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_hash/sarmal512/asm64
Compiler: gcc -m64 -march=k8 -O2 -fomit-frame-pointer
error 111
crypto_hash is nondeterministic

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