Implementation notes: amd64, genji262, crypto_hash/sarmal256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: sarmal256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
831630064 17216 12845269 18064 872opt64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019091220190910
840429066 16640 12840665 17448 904opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
840430064 17216 12845269 18064 872opt64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019091220190910
842630448 17216 12845717 18064 872opt64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019091220190910
842630064 17216 12845269 18064 872opt64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019091220190910
844830704 17216 12846309 18064 872opt64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019091220190910
844830704 17216 12846309 18064 872opt64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
847030704 17216 12846309 18064 872opt64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019091220190910
853630704 17216 12846309 18064 872opt64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019091220190910
860230448 17216 12845717 18064 872opt64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019091220190910
862428117 16640 12837980 17440 904opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
866830064 17216 12845269 18064 872opt64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
866830448 17216 12845717 18064 872opt64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019091220190910
869026760 17216 12842365 18064 872asm64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019091220190910
873428417 16640 12838428 17440 904opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
875629960 17216 12843957 18064 872opt64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019091220190910
877828477 16384 040355 17176 752opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
877828783 16384 041251 17176 752opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
877828477 16384 040355 17176 752opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
882230448 17216 12845717 18064 872opt64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019091220190910
884426760 17216 12842365 18064 872asm64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019091220190910
884430552 17216 12844493 18064 872opt64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019091220190910
886631024 17216 12846261 18064 872opt64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019091220190910
888826760 17216 12842365 18064 872asm64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019091220190910
888826760 17216 12841965 18064 872asm64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019091220190910
888826760 17216 12841965 18064 872asm64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019091220190910
891024689 16640 12834700 17440 904asm64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
893231024 17216 12846261 18064 872opt64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019091220190910
893226760 17216 12842365 18064 872asm64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019091220190910
893231024 17216 12846261 18064 872opt64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019091220190910
895426760 17216 12841965 18064 872asm64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019091220190910
895426760 17216 12841965 18064 872asm64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019091220190910
895431024 17216 12846261 18064 872opt64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019091220190910
897627584 17216 12842853 18064 872asm64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019091220190910
899827104 17216 12841045 18064 872asm64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019091220190910
899827104 17216 12841101 18064 872asm64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019091220190910
902025250 16640 12836849 17448 904asm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
902027584 17216 12842853 18064 872asm64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019091220190910
902027584 17216 12842853 18064 872asm64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019091220190910
904227584 17216 12842821 18064 872asm64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019091220190910
904227584 17216 12842853 18064 872asm64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019091220190910
904227584 17216 12842821 18064 872asm64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019091220190910
908627584 17216 12842821 18064 872asm64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019091220190910
913027584 17216 12842821 18064 872asm64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019091220190910
930624343 16640 12834204 17440 904asm64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
937228249 16384 037441 17168 736opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
946024776 16640 12833772 17424 904opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
957023850 16640 12832844 17424 904asm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

Test failure

Implementation: crypto_hash/sarmal256/asm64
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer asm64 opt64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer asm64 opt64
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer asm64 opt64
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer asm64 opt64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer asm64 opt64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer asm64 opt64

Compiler output

Implementation: crypto_hash/sarmal256/asm64
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sarmal.c: sarmal.c:945:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: <inline asm>: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: <inline asm>: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: <inline asm>: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: <inline asm>: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: 3, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm64

Compiler output

Implementation: crypto_hash/sarmal256/asm64
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sarmal.c: sarmal.c:945:14: error: invalid instruction mnemonic 'addq'
sarmal.c: "push rax\n\t"
sarmal.c: ^
sarmal.c: <inline asm>: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: <inline asm>: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
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm64