Implementation notes: amd64, cel02, crypto_hash/fugue512

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: fugue512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5405445023 0 052980 792 736T:ccalik/vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5465828245 0 039013 824 776T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5479831124 0 042205 824 776T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5808434330 0 042924 792 736T:ccalik/aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5900433826 0 048069 824 808T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6052625477 0 035200 800 776T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6205034030 0 043744 800 776T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6934836847 0 047621 824 776T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7325439500 0 050581 824 776T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7362642842 0 057085 824 808T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7597836435 0 046386 808 776T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8090442330 0 054280 808 736T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
14211641696 0 056151 832 808T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14431839412 0 049522 800 736T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
14537440784 0 052014 824 776T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15282442520 0 053390 824 776T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ccalik/aesni
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55c303b46ba0: v4i64 = X86ISD::VTRUNC 0x55c303b46a70
try.c: 0x55c303b46a70: v16i32 = vselect 0x55c303b1b660, 0x55c303ad0eb0, 0x55c303b46940
try.c: 0x55c303b1b660: v4i1 = X86ISD::PCMPGTM 0x55c303b23170, 0x55c303b1ed00
try.c: 0x55c303b23170: v4i64 = X86ISD::VBROADCAST 0x55c303abf5d0
try.c: 0x55c303abf5d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c303a33950, 0x55c303b15490, undef:i64
try.c: 0x55c303b15490: i64,ch = CopyFromReg 0x55c303a33950, Register:i64 %vreg50
try.c: 0x55c303b1ef60: i64 = Register %vreg50
try.c: 0x55c303ac0aa0: i64 = undef
try.c: 0x55c303b1ed00: v4i64,ch = CopyFromReg 0x55c303a33950, Register:v4i64 %vreg13
try.c: 0x55c303b239c0: v4i64 = Register %vreg13
try.c: 0x55c303ad0eb0: v16i32 = X86ISD::VBROADCAST 0x55c303b233d0
try.c: 0x55c303b233d0: i32,ch = load<LD4[ConstantPool]> 0x55c303a33950, 0x55c303ac7430, undef:i64
try.c: 0x55c303ac7430: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c303ae64e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c303ac0aa0: i64 = undef
try.c: 0x55c303b46940: 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: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: 0x55c303b46810: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/aesni

Compiler output

Implementation: T:ccalik/aesni
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55652c57ae80: v4i64 = X86ISD::VTRUNC 0x55652c57ad50
try.c: 0x55652c57ad50: v16i32 = vselect 0x55652c569110, 0x55652c4f6e70, 0x55652c57ac20
try.c: 0x55652c569110: v4i1 = X86ISD::PCMPGTM 0x55652c5614e0, 0x55652c55dec0
try.c: 0x55652c5614e0: v4i64 = X86ISD::VBROADCAST 0x55652c4f7330
try.c: 0x55652c4f7330: i64,ch = load<LD8[%lsr.iv6971]> 0x55652c45ba00, 0x55652c5040d0, undef:i64
try.c: 0x55652c5040d0: i64,ch = CopyFromReg 0x55652c45ba00, Register:i64 %vreg50
try.c: 0x55652c55e120: i64 = Register %vreg50
try.c: 0x55652c4f9100: i64 = undef
try.c: 0x55652c55dec0: v4i64,ch = CopyFromReg 0x55652c45ba00, Register:v4i64 %vreg13
try.c: 0x55652c561d30: v4i64 = Register %vreg13
try.c: 0x55652c4f6e70: v16i32 = X86ISD::VBROADCAST 0x55652c561740
try.c: 0x55652c561740: i32,ch = load<LD4[ConstantPool]> 0x55652c45ba00, 0x55652c5026a0, undef:i64
try.c: 0x55652c5026a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55652c4f9a80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55652c4f9100: i64 = undef
try.c: 0x55652c57ac20: 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: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: 0x55652c57aaf0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/aesni

Compiler output

Implementation: T:ccalik/aesni
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x556dd6b7e380: v4i64 = X86ISD::VTRUNC 0x556dd6b7e250
try.c: 0x556dd6b7e250: v16i32 = vselect 0x556dd6b895b0, 0x556dd6b0baa0, 0x556dd6b7e120
try.c: 0x556dd6b895b0: v4i1 = X86ISD::PCMPGTM 0x556dd6b66a20, 0x556dd6b625b0
try.c: 0x556dd6b66a20: v4i64 = X86ISD::VBROADCAST 0x556dd6b220e0
try.c: 0x556dd6b220e0: i64,ch = load<LD8[%lsr.iv6971]> 0x556dd6a77950, 0x556dd6b50d20, undef:i64
try.c: 0x556dd6b50d20: i64,ch = CopyFromReg 0x556dd6a77950, Register:i64 %vreg50
try.c: 0x556dd6b62810: i64 = Register %vreg50
try.c: 0x556dd6b0a110: i64 = undef
try.c: 0x556dd6b625b0: v4i64,ch = CopyFromReg 0x556dd6a77950, Register:v4i64 %vreg13
try.c: 0x556dd6b67270: v4i64 = Register %vreg13
try.c: 0x556dd6b0baa0: v16i32 = X86ISD::VBROADCAST 0x556dd6b66c80
try.c: 0x556dd6b66c80: i32,ch = load<LD4[ConstantPool]> 0x556dd6a77950, 0x556dd6b216c0, undef:i64
try.c: 0x556dd6b216c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556dd6b51f20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556dd6b0a110: i64 = undef
try.c: 0x556dd6b7e120: 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: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: 0x556dd6b7dff0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/aesni

Compiler output

Implementation: T:ccalik/aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:449:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c: ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:249:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_shuffle_epi8(r0, M128(_inv_shift_rows));\
hash.c: ^
hash.c: hash.c:449:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:449:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: hash.c:341:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUPERMIX(_t2, _t3, _t0, _t1, r0);\
hash.c: ^
hash.c: hash.c:253:2: note: expanded from macro 'SUPERMIX'
hash.c: PRESUPERMIX(t0, t1, t2, t3, t4);\
hash.c: ^
hash.c: hash.c:245:25: note: expanded from macro 'PRESUPERMIX'
hash.c: s2 = _mm_xor_si128(s2, _mm_shuffle_epi8(M128(_mul2mask), t1));\
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/aesni

Compiler output

Implementation: T:ccalik/vperm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5606c7288090: v4i64 = X86ISD::VTRUNC 0x5606c7287f60
try.c: 0x5606c7287f60: v16i32 = vselect 0x5606c7273760, 0x5606c7219f00, 0x5606c7287e30
try.c: 0x5606c7273760: v4i1 = X86ISD::PCMPGTM 0x5606c7270730, 0x5606c726c2c0
try.c: 0x5606c7270730: v4i64 = X86ISD::VBROADCAST 0x5606c7211ad0
try.c: 0x5606c7211ad0: i64,ch = load<LD8[%lsr.iv6971]> 0x5606c71819b0, 0x5606c725a720, undef:i64
try.c: 0x5606c725a720: i64,ch = CopyFromReg 0x5606c71819b0, Register:i64 %vreg50
try.c: 0x5606c726c520: i64 = Register %vreg50
try.c: 0x5606c7218570: i64 = undef
try.c: 0x5606c726c2c0: v4i64,ch = CopyFromReg 0x5606c71819b0, Register:v4i64 %vreg13
try.c: 0x5606c7270f80: v4i64 = Register %vreg13
try.c: 0x5606c7219f00: v16i32 = X86ISD::VBROADCAST 0x5606c7270990
try.c: 0x5606c7270990: i32,ch = load<LD4[ConstantPool]> 0x5606c71819b0, 0x5606c72110b0, undef:i64
try.c: 0x5606c72110b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5606c7200540: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5606c7218570: i64 = undef
try.c: 0x5606c7287e30: 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: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: 0x5606c7287d00: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/vperm

Compiler output

Implementation: T:ccalik/vperm
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x561e00d40260: v4i64 = X86ISD::VTRUNC 0x561e00d40130
try.c: 0x561e00d40130: v16i32 = vselect 0x561e00d30590, 0x561e00cb11c0, 0x561e00d40000
try.c: 0x561e00d30590: v4i1 = X86ISD::PCMPGTM 0x561e00d18990, 0x561e00d15530
try.c: 0x561e00d18990: v4i64 = X86ISD::VBROADCAST 0x561e00cb1680
try.c: 0x561e00cb1680: i64,ch = load<LD8[%lsr.iv6971]> 0x561e00c12a40, 0x561e00cbb840, undef:i64
try.c: 0x561e00cbb840: i64,ch = CopyFromReg 0x561e00c12a40, Register:i64 %vreg50
try.c: 0x561e00d15790: i64 = Register %vreg50
try.c: 0x561e00cb7b10: i64 = undef
try.c: 0x561e00d15530: v4i64,ch = CopyFromReg 0x561e00c12a40, Register:v4i64 %vreg13
try.c: 0x561e00d191e0: v4i64 = Register %vreg13
try.c: 0x561e00cb11c0: v16i32 = X86ISD::VBROADCAST 0x561e00d18bf0
try.c: 0x561e00d18bf0: i32,ch = load<LD4[ConstantPool]> 0x561e00c12a40, 0x561e00cc35f0, undef:i64
try.c: 0x561e00cc35f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561e00cb8490: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561e00cb7b10: i64 = undef
try.c: 0x561e00d40000: 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: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: 0x561e00d3fed0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/vperm

Compiler output

Implementation: T:ccalik/vperm
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x563954a676e0: v4i64 = X86ISD::VTRUNC 0x563954a675b0
try.c: 0x563954a675b0: v16i32 = vselect 0x563954a7bc40, 0x563954a01540, 0x563954a67480
try.c: 0x563954a7bc40: v4i1 = X86ISD::PCMPGTM 0x563954a620b0, 0x563954a5d630
try.c: 0x563954a620b0: v4i64 = X86ISD::VBROADCAST 0x563954a1cfa0
try.c: 0x563954a1cfa0: i64,ch = load<LD8[%lsr.iv6971]> 0x563954972950, 0x563954a4d840, undef:i64
try.c: 0x563954a4d840: i64,ch = CopyFromReg 0x563954972950, Register:i64 %vreg50
try.c: 0x563954a5d890: i64 = Register %vreg50
try.c: 0x5639549ffbb0: i64 = undef
try.c: 0x563954a5d630: v4i64,ch = CopyFromReg 0x563954972950, Register:v4i64 %vreg13
try.c: 0x563954a62900: v4i64 = Register %vreg13
try.c: 0x563954a01540: v16i32 = X86ISD::VBROADCAST 0x563954a62310
try.c: 0x563954a62310: i32,ch = load<LD4[ConstantPool]> 0x563954972950, 0x563954a1c580, undef:i64
try.c: 0x563954a1c580: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563954a4a180: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5639549ffbb0: i64 = undef
try.c: 0x563954a67480: 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: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: 0x563954a67350: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/vperm

Compiler output

Implementation: T:ccalik/vperm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:447:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: TIX256(pmsg, ctx->state[1], ctx->state[0], ctx->state[6], ctx->state[8], _t0, _t1, _t2);
hash.c: ^
hash.c: hash.c:168:2: note: expanded from macro 'TIX256'
hash.c: TRANSFORM(t1, _k_ipt, t2, t3);\
hash.c: ^
hash.c: ./vperm.h:52:7: note: expanded from macro 'TRANSFORM'
hash.c: t1 = _mm_shuffle_epi8(*((__m128i*)table + 1), t1);\
hash.c: ^
hash.c: hash.c:447:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: hash.c:168:2: note: expanded from macro 'TIX256'
hash.c: TRANSFORM(t1, _k_ipt, t2, t3);\
hash.c: ^
hash.c: ./vperm.h:53:7: note: expanded from macro 'TRANSFORM'
hash.c: x = _mm_shuffle_epi8(*((__m128i*)table + 0), x);\
hash.c: ^
hash.c: hash.c:448:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c: ^
hash.c: hash.c:339:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:264:20: note: expanded from macro 'SUBSTITUTE'
hash.c: #define SUBSTITUTE SUBSTITUTE_VPERM_CORE
hash.c: ^
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/vperm

Compiler output

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5585d89b2440: v4i64 = X86ISD::VTRUNC 0x5585d89b2310
try.c: 0x5585d89b2310: v16i32 = vselect 0x5585d89ace10, 0x5585d8954b10, 0x5585d89b21e0
try.c: 0x5585d89ace10: v4i1 = X86ISD::PCMPGTM 0x5585d89abe00, 0x5585d89a7990
try.c: 0x5585d89abe00: v4i64 = X86ISD::VBROADCAST 0x5585d8951cb0
try.c: 0x5585d8951cb0: i64,ch = load<LD8[%lsr.iv6971]> 0x5585d88bc950, 0x5585d899e4a0, undef:i64
try.c: 0x5585d899e4a0: i64,ch = CopyFromReg 0x5585d88bc950, Register:i64 %vreg50
try.c: 0x5585d89a7bf0: i64 = Register %vreg50
try.c: 0x5585d8953180: i64 = undef
try.c: 0x5585d89a7990: v4i64,ch = CopyFromReg 0x5585d88bc950, Register:v4i64 %vreg13
try.c: 0x5585d89ac650: v4i64 = Register %vreg13
try.c: 0x5585d8954b10: v16i32 = X86ISD::VBROADCAST 0x5585d89ac060
try.c: 0x5585d89ac060: i32,ch = load<LD4[ConstantPool]> 0x5585d88bc950, 0x5585d8950080, undef:i64
try.c: 0x5585d8950080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5585d898f360: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5585d8953180: i64 = undef
try.c: 0x5585d89b21e0: 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: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: 0x5585d89b20b0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib

Compiler output

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x564dcc182f30: v4i64 = X86ISD::VTRUNC 0x564dcc182e00
try.c: 0x564dcc182e00: v16i32 = vselect 0x564dcc18d790, 0x564dcc113000, 0x564dcc182cd0
try.c: 0x564dcc18d790: v4i1 = X86ISD::PCMPGTM 0x564dcc176fa0, 0x564dcc173530
try.c: 0x564dcc176fa0: v4i64 = X86ISD::VBROADCAST 0x564dcc1134c0
try.c: 0x564dcc1134c0: i64,ch = load<LD8[%lsr.iv6971]> 0x564dcc071a10, 0x564dcc121b20, undef:i64
try.c: 0x564dcc121b20: i64,ch = CopyFromReg 0x564dcc071a10, Register:i64 %vreg50
try.c: 0x564dcc173790: i64 = Register %vreg50
try.c: 0x564dcc0f0240: i64 = undef
try.c: 0x564dcc173530: v4i64,ch = CopyFromReg 0x564dcc071a10, Register:v4i64 %vreg13
try.c: 0x564dcc1777f0: v4i64 = Register %vreg13
try.c: 0x564dcc113000: v16i32 = X86ISD::VBROADCAST 0x564dcc177200
try.c: 0x564dcc177200: i32,ch = load<LD4[ConstantPool]> 0x564dcc071a10, 0x564dcc1159a0, undef:i64
try.c: 0x564dcc1159a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564dcc0f0bc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564dcc0f0240: i64 = undef
try.c: 0x564dcc182cd0: 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: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: 0x564dcc182ba0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55f9ceb2e470: v4i64 = X86ISD::VTRUNC 0x55f9ceb2e340
try.c: 0x55f9ceb2e340: v16i32 = vselect 0x55f9ceb45060, 0x55f9ceace3f0, 0x55f9ceb2e210
try.c: 0x55f9ceb45060: v4i1 = X86ISD::PCMPGTM 0x55f9ceb27a20, 0x55f9ceb235b0
try.c: 0x55f9ceb27a20: v4i64 = X86ISD::VBROADCAST 0x55f9ceacb040
try.c: 0x55f9ceacb040: i64,ch = load<LD8[%lsr.iv6971]> 0x55f9cea38930, 0x55f9ceb1e410, undef:i64
try.c: 0x55f9ceb1e410: i64,ch = CopyFromReg 0x55f9cea38930, Register:i64 %vreg50
try.c: 0x55f9ceb23810: i64 = Register %vreg50
try.c: 0x55f9ceacc510: i64 = undef
try.c: 0x55f9ceb235b0: v4i64,ch = CopyFromReg 0x55f9cea38930, Register:v4i64 %vreg13
try.c: 0x55f9ceb28270: v4i64 = Register %vreg13
try.c: 0x55f9ceace3f0: v16i32 = X86ISD::VBROADCAST 0x55f9ceb27c80
try.c: 0x55f9ceb27c80: i32,ch = load<LD4[ConstantPool]> 0x55f9cea38930, 0x55f9ceaca620, undef:i64
try.c: 0x55f9ceaca620: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f9cea94d80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f9ceacc510: i64 = undef
try.c: 0x55f9ceb2e210: 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: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: 0x55f9ceb2e0e0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib