Implementation notes: amd64, oki, crypto_hash/bash384

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: bash384
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12432? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
12436? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
13560? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
13574? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
13732? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
14016? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
14038? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
14062? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
14114? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
14134? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
14148? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
14288? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
14408? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
14474? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
21876? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
21876? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
21960? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
21962? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
21968? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
22000? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
22004? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
22022? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
22030? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
23372? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
23382? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
23452? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
23466? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
23804? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
23818? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
23818? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
23886? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
23894? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
23940? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
23940? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
23944? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
23946? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
24026? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
24046? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
24062? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
24068? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
24092? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
24102? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
24106? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
24108? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
24118? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
24120? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
24122? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
24174? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
24442? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
24444? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
24446? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
24448? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
24458? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
24472? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
24474? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
24478? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
24480? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
24512? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
24522? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
24546? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
24558? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
24574? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
24588? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
24590? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
24604? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
24606? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
24658? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
24658? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
24660? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
24674? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
24674? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
24684? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
24694? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
24694? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
24710? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
24712? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
24714? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
25218? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
25218? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
25226? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
25228? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
25232? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
25242? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
25244? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
25246? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
25250? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
25256? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
25260? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
25268? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
25278? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
25282? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
25284? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
25286? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
25288? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
25288? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
25290? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
25290? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
25292? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
25312? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
25498? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
25510? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
27058? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
27094? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123

Checksum failure

Implementation: ref
Security model: unknown
Compiler: cc
5375eb5598e0761cfb8ba51fe71d22966f54da0039becf495a65d0f5ccc08558
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
5375eb5598e0761cfb8ba51fe71d22966f54da0039becf495a65d0f5ccc08558 5375eb5598e0761cfb8ba51fe71d22966f54da0039becf495a65d0f5ccc08558
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: 0x1cc8420: v4i64 = X86ISD::VTRUNC 0x1cc8250
try.c: 0x1cc8250: v16i32 = vselect 0x1cb8590, 0x1c72cb0, 0x1cc8120
try.c: 0x1cb8590: v4i1 = X86ISD::PCMPGTM 0x1cb1d10, 0x1c73a60
try.c: 0x1cb1d10: v4i64 = X86ISD::VBROADCAST 0x1c73df0
try.c: 0x1c73df0: i64,ch = load<LD8[%uglygep72]> 0x1babdb0, 0x1c695d0, undef:i64
try.c: 0x1c695d0: i64 = add 0x1cb2bf0, 0x1c2d700
try.c: 0x1cb2bf0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1ca8690: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1c2d700: i64 = shl 0x1ca7e40, Constant:i8<3>
try.c: 0x1ca7e40: i64,ch = CopyFromReg 0x1babdb0, Register:i64 %vreg50
try.c: 0x1cb30b0: i64 = Register %vreg50
try.c: 0x1c51970: i8 = Constant<3>
try.c: 0x1cb0380: i64 = undef
try.c: 0x1c73a60: v4i64,ch = CopyFromReg 0x1babdb0, Register:v4i64 %vreg13
try.c: 0x1c480d0: v4i64 = Register %vreg13
try.c: 0x1c72cb0: v16i32 = X86ISD::VBROADCAST 0x1ca80a0
try.c: 0x1ca80a0: i32,ch = load<LD4[ConstantPool]> 0x1babdb0, 0x1cc7d90, undef:i64
try.c: 0x1cc7d90: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1c5d2a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1cb0380: i64 = undef
try.c: 0x1cc8120: 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: 0x1cc7ff0: i32 = Constant<0>
try.c: 0x1cc7ff0: i32 = Constant<0>
try.c: 0x1cc7ff0: i32 = Constant<0>
try.c: 0x1cc7ff0: 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: 0x1d40f20: v4i64 = X86ISD::VTRUNC 0x1d40d50
try.c: 0x1d40d50: v16i32 = vselect 0x1d4ade0, 0x1cc76e0, 0x1d40c20
try.c: 0x1d4ade0: v4i1 = X86ISD::PCMPGTM 0x1d2b820, 0x1cdc150
try.c: 0x1d2b820: v4i64 = X86ISD::VBROADCAST 0x1cdc4e0
try.c: 0x1cdc4e0: i64,ch = load<LD8[%uglygep72]> 0x1c25dd0, 0x1d0b1b0, undef:i64
try.c: 0x1d0b1b0: i64 = add 0x1d2c700, 0x1ccb530
try.c: 0x1d2c700: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1cee930: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1ccb530: i64 = shl 0x1cee0e0, Constant:i8<3>
try.c: 0x1cee0e0: i64,ch = CopyFromReg 0x1c25dd0, Register:i64 %vreg50
try.c: 0x1d2cbc0: i64 = Register %vreg50
try.c: 0x1cccb30: i8 = Constant<3>
try.c: 0x1d29e90: i64 = undef
try.c: 0x1cdc150: v4i64,ch = CopyFromReg 0x1c25dd0, Register:v4i64 %vreg13
try.c: 0x1cc2280: v4i64 = Register %vreg13
try.c: 0x1cc76e0: v16i32 = X86ISD::VBROADCAST 0x1cee340
try.c: 0x1cee340: i32,ch = load<LD4[ConstantPool]> 0x1c25dd0, 0x1d40890, undef:i64
try.c: 0x1d40890: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1cddf10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1d29e90: i64 = undef
try.c: 0x1d40c20: 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: 0x1d40af0: i32 = Constant<0>
try.c: 0x1d40af0: i32 = Constant<0>
try.c: 0x1d40af0: i32 = Constant<0>
try.c: 0x1d40af0: 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: 0x2667020: v4i64 = X86ISD::VTRUNC 0x2666e50
try.c: 0x2666e50: v16i32 = vselect 0x2663a90, 0x260ea90, 0x2666d20
try.c: 0x2663a90: v4i1 = X86ISD::PCMPGTM 0x264c8e0, 0x25f96e0
try.c: 0x264c8e0: v4i64 = X86ISD::VBROADCAST 0x25f9a70
try.c: 0x25f9a70: i64,ch = load<LD8[%uglygep72]> 0x2547dd0, 0x26337a0, undef:i64
try.c: 0x26337a0: i64 = add 0x264d7c0, 0x25c9ea0
try.c: 0x264d7c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x26350f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x25c9ea0: i64 = shl 0x26348a0, Constant:i8<3>
try.c: 0x26348a0: i64,ch = CopyFromReg 0x2547dd0, Register:i64 %vreg50
try.c: 0x264dc80: i64 = Register %vreg50
try.c: 0x25edaf0: i8 = Constant<3>
try.c: 0x264a740: i64 = undef
try.c: 0x25f96e0: v4i64,ch = CopyFromReg 0x2547dd0, Register:v4i64 %vreg13
try.c: 0x25e4250: v4i64 = Register %vreg13
try.c: 0x260ea90: v16i32 = X86ISD::VBROADCAST 0x2634b00
try.c: 0x2634b00: i32,ch = load<LD4[ConstantPool]> 0x2547dd0, 0x2666990, undef:i64
try.c: 0x2666990: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x25fb4a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x264a740: i64 = undef
try.c: 0x2666d20: 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: 0x2666bf0: i32 = Constant<0>
try.c: 0x2666bf0: i32 = Constant<0>
try.c: 0x2666bf0: i32 = Constant<0>
try.c: 0x2666bf0: 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: 0x1e2eb00: v4i64 = X86ISD::VTRUNC 0x1e2e930
try.c: 0x1e2e930: v16i32 = vselect 0x1e360f0, 0x1dbe530, 0x1e2e800
try.c: 0x1e360f0: v4i1 = X86ISD::PCMPGTM 0x1e18800, 0x1dbf2e0
try.c: 0x1e18800: v4i64 = X86ISD::VBROADCAST 0x1dbf670
try.c: 0x1dbf670: i64,ch = load<LD8[%uglygep72]> 0x1d13dd0, 0x1dd0880, undef:i64
try.c: 0x1dd0880: i64 = add 0x1e196e0, 0x1d9a7b0
try.c: 0x1e196e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1e0b5a0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1d9a7b0: i64 = shl 0x1e0ad50, Constant:i8<3>
try.c: 0x1e0ad50: i64,ch = CopyFromReg 0x1d13dd0, Register:i64 %vreg50
try.c: 0x1e19ba0: i64 = Register %vreg50
try.c: 0x1dc7900: i8 = Constant<3>
try.c: 0x1e16660: i64 = undef
try.c: 0x1dbf2e0: v4i64,ch = CopyFromReg 0x1d13dd0, Register:v4i64 %vreg13
try.c: 0x1db1310: v4i64 = Register %vreg13
try.c: 0x1dbe530: v16i32 = X86ISD::VBROADCAST 0x1e0afb0
try.c: 0x1e0afb0: i32,ch = load<LD4[ConstantPool]> 0x1d13dd0, 0x1e2e470, undef:i64
try.c: 0x1e2e470: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1daee30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1e16660: i64 = undef
try.c: 0x1e2e800: 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: 0x1e2e6d0: i32 = Constant<0>
try.c: 0x1e2e6d0: i32 = Constant<0>
try.c: 0x1e2e6d0: i32 = Constant<0>
try.c: 0x1e2e6d0: 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