Implementation notes: amd64, oki, crypto_hash/bash512

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: bash512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18324? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
18336? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
19902? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
19948? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
19962? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
20560? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
20638? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
20640? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
20684? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
20762? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
20780? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
20884? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
21048? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
21048? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
32094? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
32114? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
32232? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
32254? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
32268? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
32270? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
32276? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
32302? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
32320? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
34322? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
34342? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
34390? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
34448? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
34946? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
34950? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
35008? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
35070? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
35078? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
35128? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
35140? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
35150? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
35156? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
35240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
35282? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
35316? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
35324? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
35330? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
35344? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
35382? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
35398? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
35398? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
35406? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
35418? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
35424? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
35868? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
35870? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
35874? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
35902? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
35902? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
35920? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
35926? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
35966? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
35970? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
35980? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
36016? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
36032? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
36044? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
36048? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
36052? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
36060? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
36122? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
36144? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
36172? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
36180? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
36198? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
36206? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
36212? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
36222? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
36224? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
36248? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
36258? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
36262? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
36262? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
36978? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
37016? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
37040? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
37040? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
37042? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
37056? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
37062? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
37064? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
37074? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
37076? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
37078? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
37086? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
37092? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
37098? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
37100? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
37112? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
37116? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
37126? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
37140? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
37144? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
37150? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
37166? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
37500? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
37512? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
39780? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
39984? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123

Checksum failure

Implementation: ref
Security model: unknown
Compiler: cc
a397472ba7599635360cf4397e77b42145d47322e3ee531180b21ebf8e99930d
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
a397472ba7599635360cf4397e77b42145d47322e3ee531180b21ebf8e99930d a397472ba7599635360cf4397e77b42145d47322e3ee531180b21ebf8e99930d
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: 0x218d130: v4i64 = X86ISD::VTRUNC 0x218cf60
try.c: 0x218cf60: v16i32 = vselect 0x217cbc0, 0x210a940, 0x218ce30
try.c: 0x217cbc0: v4i1 = X86ISD::PCMPGTM 0x2176a20, 0x210ba80
try.c: 0x2176a20: v4i64 = X86ISD::VBROADCAST 0x210be10
try.c: 0x210be10: i64,ch = load<LD8[%uglygep72]> 0x2070dc0, 0x21275e0, undef:i64
try.c: 0x21275e0: i64 = add 0x2177900, 0x21252d0
try.c: 0x2177900: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x211a7b0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x21252d0: i64 = shl 0x2119f60, Constant:i8<3>
try.c: 0x2119f60: i64,ch = CopyFromReg 0x2070dc0, Register:i64 %vreg50
try.c: 0x2177dc0: i64 = Register %vreg50
try.c: 0x2117c20: i8 = Constant<3>
try.c: 0x2175090: i64 = undef
try.c: 0x210ba80: v4i64,ch = CopyFromReg 0x2070dc0, Register:v4i64 %vreg13
try.c: 0x2137d50: v4i64 = Register %vreg13
try.c: 0x210a940: v16i32 = X86ISD::VBROADCAST 0x211a1c0
try.c: 0x211a1c0: i32,ch = load<LD4[ConstantPool]> 0x2070dc0, 0x218caa0, undef:i64
try.c: 0x218caa0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2135870: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2175090: i64 = undef
try.c: 0x218ce30: 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: 0x218cd00: i32 = Constant<0>
try.c: 0x218cd00: i32 = Constant<0>
try.c: 0x218cd00: i32 = Constant<0>
try.c: 0x218cd00: 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: 0x17e42d0: v4i64 = X86ISD::VTRUNC 0x17e4100
try.c: 0x17e4100: v16i32 = vselect 0x17c3920, 0x176cce0, 0x17e3fd0
try.c: 0x17c3920: v4i1 = X86ISD::PCMPGTM 0x17cafb0, 0x17727a0
try.c: 0x17cafb0: v4i64 = X86ISD::VBROADCAST 0x1772b30
try.c: 0x1772b30: i64,ch = load<LD8[%uglygep72]> 0x16c6dd0, 0x17823f0, undef:i64
try.c: 0x17823f0: i64 = add 0x17cbe90, 0x1723490
try.c: 0x17cbe90: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x176f900: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1723490: i64 = shl 0x176f0b0, Constant:i8<3>
try.c: 0x176f0b0: i64,ch = CopyFromReg 0x16c6dd0, Register:i64 %vreg50
try.c: 0x17cc350: i64 = Register %vreg50
try.c: 0x175f820: i8 = Constant<3>
try.c: 0x17c9620: i64 = undef
try.c: 0x17727a0: v4i64,ch = CopyFromReg 0x16c6dd0, Register:v4i64 %vreg13
try.c: 0x1779650: v4i64 = Register %vreg13
try.c: 0x176cce0: v16i32 = X86ISD::VBROADCAST 0x176f310
try.c: 0x176f310: i32,ch = load<LD4[ConstantPool]> 0x16c6dd0, 0x17e3c40, undef:i64
try.c: 0x17e3c40: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1777170: i64 = TargetConstantPool<i32 1> 0
try.c: 0x17c9620: i64 = undef
try.c: 0x17e3fd0: 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: 0x17e3ea0: i32 = Constant<0>
try.c: 0x17e3ea0: i32 = Constant<0>
try.c: 0x17e3ea0: i32 = Constant<0>
try.c: 0x17e3ea0: 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: 0x19cd0c0: v4i64 = X86ISD::VTRUNC 0x19ccef0
try.c: 0x19ccef0: v16i32 = vselect 0x19c9b30, 0x1970650, 0x19ccdc0
try.c: 0x19c9b30: v4i1 = X86ISD::PCMPGTM 0x19b61b0, 0x1971400
try.c: 0x19b61b0: v4i64 = X86ISD::VBROADCAST 0x1971790
try.c: 0x1971790: i64,ch = load<LD8[%uglygep72]> 0x18afde0, 0x1977ab0, undef:i64
try.c: 0x1977ab0: i64 = add 0x19b7090, 0x195b920
try.c: 0x19b7090: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x19ae440: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x195b920: i64 = shl 0x19adbf0, Constant:i8<3>
try.c: 0x19adbf0: i64,ch = CopyFromReg 0x18afde0, Register:i64 %vreg50
try.c: 0x19b7550: i64 = Register %vreg50
try.c: 0x19445e0: i8 = Constant<3>
try.c: 0x19b4010: i64 = undef
try.c: 0x1971400: v4i64,ch = CopyFromReg 0x18afde0, Register:v4i64 %vreg13
try.c: 0x1950280: v4i64 = Register %vreg13
try.c: 0x1970650: v16i32 = X86ISD::VBROADCAST 0x19ade50
try.c: 0x19ade50: i32,ch = load<LD4[ConstantPool]> 0x18afde0, 0x19cca30, undef:i64
try.c: 0x19cca30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x194dda0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x19b4010: i64 = undef
try.c: 0x19ccdc0: 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: 0x19ccc90: i32 = Constant<0>
try.c: 0x19ccc90: i32 = Constant<0>
try.c: 0x19ccc90: i32 = Constant<0>
try.c: 0x19ccc90: 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: 0x1b3d5f0: v4i64 = X86ISD::VTRUNC 0x1b3d420
try.c: 0x1b3d420: v16i32 = vselect 0x1b38380, 0x1acc350, 0x1b3d2f0
try.c: 0x1b38380: v4i1 = X86ISD::PCMPGTM 0x1b28f00, 0x1ad5780
try.c: 0x1b28f00: v4i64 = X86ISD::VBROADCAST 0x1ad5b10
try.c: 0x1ad5b10: i64,ch = load<LD8[%uglygep72]> 0x1a24db0, 0x1ac3a00, undef:i64
try.c: 0x1ac3a00: i64 = add 0x1b29de0, 0x1a851c0
try.c: 0x1b29de0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1b10df0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1a851c0: i64 = shl 0x1b105a0, Constant:i8<3>
try.c: 0x1b105a0: i64,ch = CopyFromReg 0x1a24db0, Register:i64 %vreg50
try.c: 0x1b2a2a0: i64 = Register %vreg50
try.c: 0x1ad83e0: i8 = Constant<3>
try.c: 0x1b27570: i64 = undef
try.c: 0x1ad5780: v4i64,ch = CopyFromReg 0x1a24db0, Register:v4i64 %vreg13
try.c: 0x1ac1770: v4i64 = Register %vreg13
try.c: 0x1acc350: v16i32 = X86ISD::VBROADCAST 0x1b10800
try.c: 0x1b10800: i32,ch = load<LD4[ConstantPool]> 0x1a24db0, 0x1b3cf60, undef:i64
try.c: 0x1b3cf60: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1abf290: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1b27570: i64 = undef
try.c: 0x1b3d2f0: 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: 0x1b3d1c0: i32 = Constant<0>
try.c: 0x1b3d1c0: i32 = Constant<0>
try.c: 0x1b3d1c0: i32 = Constant<0>
try.c: 0x1b3d1c0: 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