Implementation notes: amd64, genji262, crypto_hash/bash256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: bash256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1361819546 0 029567 808 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1372820152 0 031839 808 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1388219657 0 029831 808 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
2052626528 0 039101 800 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
2061426528 0 038509 800 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
2087826528 0 038509 800 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091220190910
2149411280 0 022983 808 776avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
2193410785 0 020991 808 776avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
2208810196 0 019306 784 776avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
2217610694 0 020759 808 776avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

Checksum failure

Implementation: crypto_hash/bash256/ref
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8
Number of similar (compiler,implementation) pairs: 28, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer avx2 ref
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer avx2 ref
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer ref
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer ref
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer avx2 ref
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer avx2 ref
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer ref
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer ref
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer ref
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer ref
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer avx2 ref
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer avx2 ref
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer ref
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer ref
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer ref
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer ref
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer avx2 ref
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer avx2 ref

Test failure

Implementation: crypto_hash/bash256/avx2
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 avx2 ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer avx2 ref
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer avx2 ref
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer avx2 ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer avx2 ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer avx2 ref

Compiler output

Implementation: crypto_hash/bash256/avx2
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bash_avx2.c: In file included from bash_avx2.c:40:
bash_avx2.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/immintrin.h:27:
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:55:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:61:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:68:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:74:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:84:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:90:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:97:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ^
bash_avx2.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:103:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
bash_avx2.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
bash_avx2.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: crypto_hash/bash256/avx2
Compiler: icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer
bash_avx2.c: bash_avx2.c(70): error: #error directive: "The compiler does not support AVX2 intrinsics."
bash_avx2.c: #error "The compiler does not support AVX2 intrinsics."
bash_avx2.c: ^
bash_avx2.c:
bash_avx2.c: bash_avx2.c(271): error: identifier "u256" is undefined
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c:
bash_avx2.c: bash_avx2.c(272): error: identifier "u256" is undefined
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c:
bash_avx2.c: bash_avx2.c(272): warning #266: function "LOADW" declared implicitly
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c:
bash_avx2.c: bash_avx2.c(273): error: identifier "u256" is undefined
bash_avx2.c: u256 W1 = LOADW( S + 4 );
bash_avx2.c: ^
bash_avx2.c:
bash_avx2.c: bash_avx2.c(274): error: identifier "u256" is undefined
bash_avx2.c: u256 W2 = LOADW( S + 8 );
bash_avx2.c: ^
bash_avx2.c:
bash_avx2.c: bash_avx2.c(275): error: identifier "u256" is undefined
bash_avx2.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx2
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx2
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx2
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx2
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx2
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx2
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx2
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx2
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx2
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx2