Implementation notes: amd64, oki, crypto_hash/bash256

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: bash256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9612? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
9620? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
10486? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
10494? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
10522? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
10744? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
10836? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
10864? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
10876? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
10926? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
10944? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
10962? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
11044? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
11046? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
16820? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
16866? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
16872? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
16882? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
16884? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
16896? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
16916? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
16918? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
16948? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
18002? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
18010? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
18042? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
18066? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
18296? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
18302? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
18310? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
18400? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
18406? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
18408? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
18412? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
18418? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
18446? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
18508? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
18508? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
18510? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
18512? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
18514? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
18516? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
18524? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
18528? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
18538? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
18542? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
18542? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
18580? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
18792? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
18802? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
18802? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
18802? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
18804? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
18804? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
18806? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
18810? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
18810? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
18828? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
18830? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
18838? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
18860? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
18874? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
18886? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
18886? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
18890? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
18898? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
18938? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
18940? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
18940? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
18942? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
18952? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
18956? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
18984? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
18986? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
18990? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
18998? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
19000? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
19360? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
19362? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
19368? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
19368? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
19374? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
19376? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
19378? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
19390? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
19390? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
19392? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
19394? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
19394? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
19398? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
19398? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
19398? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
19402? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
19404? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
19404? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
19404? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
19404? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
19420? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
19432? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
19622? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
19628? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20770? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20912? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123

Checksum failure

Implementation: ref
Security model: unknown
Compiler: cc
e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8
Number of similar (compiler,implementation) pairs: 29, namely:
CompilerImplementations
cc ref
gcc ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Checksum failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8 e8496f7c0a80f87022012d0e76a2ba92f75dbac914504b74b4def5f0e9ec0be8
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
bash_avx2.c: bash_avx2.c:70:2: error: #error "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: In function 'bashavx2_F0':
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name 'u256'
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name 'u256'
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:273:5: error: unknown type name 'u256'
bash_avx2.c: u256 W1 = LOADW( S + 4 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:274:5: error: unknown type name 'u256'
bash_avx2.c: u256 W2 = LOADW( S + 8 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:275:5: error: unknown type name 'u256'
bash_avx2.c: u256 W3 = LOADW( S + 12 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:276:5: error: unknown type name 'u256'
bash_avx2.c: u256 W4 = LOADW( S + 16 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:277:5: error: unknown type name 'u256'
bash_avx2.c: u256 W5 = LOADW( S + 20 );
bash_avx2.c: ^
bash_avx2.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
bash_avx2.c: bash_avx2.c:70:2: error: "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:271:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:272:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:273:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W1 = LOADW( S + 4 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:274:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W2 = LOADW( S + 8 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:275:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W3 = LOADW( S + 12 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:276:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W4 = LOADW( S + 16 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:277:5: error: use of undeclared identifier 'u256'
bash_avx2.c: u256 W5 = LOADW( S + 20 );
bash_avx2.c: ^
bash_avx2.c: bash_avx2.c:279:34: error: use of undeclared identifier 'S2'
bash_avx2.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x10a8600: v4i64 = X86ISD::VTRUNC 0x10ac460
try.c: 0x10ac460: v16i32 = vselect 0x10b1870, 0x103e420, 0x10ac330
try.c: 0x10b1870: v4i1 = X86ISD::PCMPGTM 0x1091ef0, 0x103f1d0
try.c: 0x1091ef0: v4i64 = X86ISD::VBROADCAST 0x103f560
try.c: 0x103f560: i64,ch = load<LD8[%uglygep72]> 0xf8cdd0, 0x1081440, undef:i64
try.c: 0x1081440: i64 = add 0x1092dd0, 0x1032360
try.c: 0x1092dd0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x10892f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1032360: i64 = shl 0x1088aa0, Constant:i8<3>
try.c: 0x1088aa0: i64,ch = CopyFromReg 0xf8cdd0, Register:i64 %vreg50
try.c: 0x1093290: i64 = Register %vreg50
try.c: 0x1033960: i8 = Constant<3>
try.c: 0x1090560: i64 = undef
try.c: 0x103f1d0: v4i64,ch = CopyFromReg 0xf8cdd0, Register:v4i64 %vreg13
try.c: 0x102c890: v4i64 = Register %vreg13
try.c: 0x103e420: v16i32 = X86ISD::VBROADCAST 0x1088d00
try.c: 0x1088d00: i32,ch = load<LD4[ConstantPool]> 0xf8cdd0, 0x10abfa0, undef:i64
try.c: 0x10abfa0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1037ec0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1090560: i64 = undef
try.c: 0x10ac330: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x10ac200: i32 = Constant<0>
try.c: 0x10ac200: i32 = Constant<0>
try.c: 0x10ac200: i32 = Constant<0>
try.c: 0x10ac200: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x22d45c0: v4i64 = X86ISD::VTRUNC 0x22d43f0
try.c: 0x22d43f0: v16i32 = vselect 0x22cbab0, 0x2255160, 0x22d42c0
try.c: 0x22cbab0: v4i1 = X86ISD::PCMPGTM 0x22bceb0, 0x2255f10
try.c: 0x22bceb0: v4i64 = X86ISD::VBROADCAST 0x22562a0
try.c: 0x22562a0: i64,ch = load<LD8[%uglygep72]> 0x21b6dd0, 0x22a5b40, undef:i64
try.c: 0x22a5b40: i64 = add 0x22bdd90, 0x224f920
try.c: 0x22bdd90: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x22a9e10: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x224f920: i64 = shl 0x22a95c0, Constant:i8<3>
try.c: 0x22a95c0: i64,ch = CopyFromReg 0x21b6dd0, Register:i64 %vreg50
try.c: 0x22be250: i64 = Register %vreg50
try.c: 0x2239cf0: i8 = Constant<3>
try.c: 0x22bb520: i64 = undef
try.c: 0x2255f10: v4i64,ch = CopyFromReg 0x21b6dd0, Register:v4i64 %vreg13
try.c: 0x2269e80: v4i64 = Register %vreg13
try.c: 0x2255160: v16i32 = X86ISD::VBROADCAST 0x22a9820
try.c: 0x22a9820: i32,ch = load<LD4[ConstantPool]> 0x21b6dd0, 0x22d3f30, undef:i64
try.c: 0x22d3f30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x22679a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x22bb520: i64 = undef
try.c: 0x22d42c0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x22d4190: i32 = Constant<0>
try.c: 0x22d4190: i32 = Constant<0>
try.c: 0x22d4190: i32 = Constant<0>
try.c: 0x22d4190: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc
bash_avx2.c: bash_avx2.c:70:2: error: #error "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: In function 'bashavx2_F0':
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:272:15: warning: implicit declaration of function 'LOADW' [-Wimplicit-function-declaration]
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^~~~~
bash_avx2.c: bash_avx2.c:273:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W1 = LOADW( S + 4 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:274:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W2 = LOADW( S + 8 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:275:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W3 = LOADW( S + 12 );
bash_avx2.c: ...

Number of similar (compiler,implementation) pairs: 94, namely:
CompilerImplementations
gcc avx2
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx2
gcc -m64 -O2 -fomit-frame-pointer avx2
gcc -m64 -O3 -fomit-frame-pointer avx2
gcc -m64 -O -fomit-frame-pointer avx2
gcc -m64 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -march=barcelona -O -fomit-frame-pointer avx2
gcc -march=barcelona -Os -fomit-frame-pointer avx2
gcc -march=k8 -O2 -fomit-frame-pointer avx2
gcc -march=k8 -O3 -fomit-frame-pointer avx2
gcc -march=k8 -O -fomit-frame-pointer avx2
gcc -march=k8 -Os -fomit-frame-pointer avx2
gcc -march=nocona -O2 -fomit-frame-pointer avx2
gcc -march=nocona -O3 -fomit-frame-pointer avx2
gcc -march=nocona -O -fomit-frame-pointer avx2
gcc -march=nocona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
bash_avx2.c: bash_avx2.c:70:2: error: #error "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: In function 'bashavx2_F0':
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:272:15: warning: implicit declaration of function 'LOADW' [-Wimplicit-function-declaration]
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^~~~~
bash_avx2.c: bash_avx2.c:273:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W1 = LOADW( S + 4 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:274:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W2 = LOADW( S + 8 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:275:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W3 = LOADW( S + 12 );
bash_avx2.c: ...
bash_avx2.c: bash_avx2.c:70:2: error: #error "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: In function 'bashavx2_F0':
bash_avx2.c: bash_avx2.c:271:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 S1,S2,T0,T1,T2,U0,U1,U2;
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:272:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:272:15: warning: implicit declaration of function 'LOADW' [-Wimplicit-function-declaration]
bash_avx2.c: u256 W0 = LOADW( S + 0 );
bash_avx2.c: ^~~~~
bash_avx2.c: bash_avx2.c:273:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W1 = LOADW( S + 4 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:274:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W2 = LOADW( S + 8 );
bash_avx2.c: ^~~~
bash_avx2.c: m25
bash_avx2.c: bash_avx2.c:275:5: error: unknown type name 'u256'; did you mean 'm25'?
bash_avx2.c: u256 W3 = LOADW( S + 12 );
bash_avx2.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x230ec40: v4i64 = X86ISD::VTRUNC 0x230ea70
try.c: 0x230ea70: v16i32 = vselect 0x22fc170, 0x2292070, 0x230e940
try.c: 0x22fc170: v4i1 = X86ISD::PCMPGTM 0x22f7970, 0x2292e20
try.c: 0x22f7970: v4i64 = X86ISD::VBROADCAST 0x22931b0
try.c: 0x22931b0: i64,ch = load<LD8[%uglygep72]> 0x21f2dd0, 0x2298040, undef:i64
try.c: 0x2298040: i64 = add 0x22f8850, 0x2287230
try.c: 0x22f8850: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x22ef6f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2287230: i64 = shl 0x22eeea0, Constant:i8<3>
try.c: 0x22eeea0: i64,ch = CopyFromReg 0x21f2dd0, Register:i64 %vreg50
try.c: 0x22f8d10: i64 = Register %vreg50
try.c: 0x2275110: i8 = Constant<3>
try.c: 0x22f5fe0: i64 = undef
try.c: 0x2292e20: v4i64,ch = CopyFromReg 0x21f2dd0, Register:v4i64 %vreg13
try.c: 0x22a5da0: v4i64 = Register %vreg13
try.c: 0x2292070: v16i32 = X86ISD::VBROADCAST 0x22ef100
try.c: 0x22ef100: i32,ch = load<LD4[ConstantPool]> 0x21f2dd0, 0x230e5b0, undef:i64
try.c: 0x230e5b0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x22a38c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x22f5fe0: i64 = undef
try.c: 0x230e940: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x230e810: i32 = Constant<0>
try.c: 0x230e810: i32 = Constant<0>
try.c: 0x230e810: i32 = Constant<0>
try.c: 0x230e810: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x18a5850: v4i64 = X86ISD::VTRUNC 0x18a5680
try.c: 0x18a5680: v16i32 = vselect 0x189a1e0, 0x1827390, 0x18a5550
try.c: 0x189a1e0: v4i1 = X86ISD::PCMPGTM 0x188dd30, 0x1828140
try.c: 0x188dd30: v4i64 = X86ISD::VBROADCAST 0x18284d0
try.c: 0x18284d0: i64,ch = load<LD8[%uglygep72]> 0x1788dd0, 0x1840960, undef:i64
try.c: 0x1840960: i64 = add 0x188ec10, 0x180e7b0
try.c: 0x188ec10: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1831610: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x180e7b0: i64 = shl 0x1830dc0, Constant:i8<3>
try.c: 0x1830dc0: i64,ch = CopyFromReg 0x1788dd0, Register:i64 %vreg50
try.c: 0x188f0d0: i64 = Register %vreg50
try.c: 0x180a530: i8 = Constant<3>
try.c: 0x188c3a0: i64 = undef
try.c: 0x1828140: v4i64,ch = CopyFromReg 0x1788dd0, Register:v4i64 %vreg13
try.c: 0x183b4e0: v4i64 = Register %vreg13
try.c: 0x1827390: v16i32 = X86ISD::VBROADCAST 0x1831020
try.c: 0x1831020: i32,ch = load<LD4[ConstantPool]> 0x1788dd0, 0x18a51c0, undef:i64
try.c: 0x18a51c0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1839000: i64 = TargetConstantPool<i32 1> 0
try.c: 0x188c3a0: i64 = undef
try.c: 0x18a5550: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x18a5420: i32 = Constant<0>
try.c: 0x18a5420: i32 = Constant<0>
try.c: 0x18a5420: i32 = Constant<0>
try.c: 0x18a5420: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref