Implementation notes: amd64, cel02, crypto_hash/sha224

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: sha224
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1238076 0 011075 824 776opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1870073 0 09791 808 776opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1892079 0 010771 824 776opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1931070 0 011805 808 736opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1967676 0 014332 832 808opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2381070 0 09959 800 736opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: openssl
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55a9dc100d00: v4i64 = X86ISD::VTRUNC 0x55a9dc100bd0
try.c: 0x55a9dc100bd0: v16i32 = vselect 0x55a9dc121e70, 0x55a9dc097e60, 0x55a9dc100aa0
try.c: 0x55a9dc121e70: v4i1 = X86ISD::PCMPGTM 0x55a9dc0f8ac0, 0x55a9dc0f4650
try.c: 0x55a9dc0f8ac0: v4i64 = X86ISD::VBROADCAST 0x55a9dc09c080
try.c: 0x55a9dc09c080: i64,ch = load<LD8[%lsr.iv6971]> 0x55a9dc009940, 0x55a9dc0e21f0, undef:i64
try.c: 0x55a9dc0e21f0: i64,ch = CopyFromReg 0x55a9dc009940, Register:i64 %vreg50
try.c: 0x55a9dc0f48b0: i64 = Register %vreg50
try.c: 0x55a9dc09d550: i64 = undef
try.c: 0x55a9dc0f4650: v4i64,ch = CopyFromReg 0x55a9dc009940, Register:v4i64 %vreg13
try.c: 0x55a9dc0f9310: v4i64 = Register %vreg13
try.c: 0x55a9dc097e60: v16i32 = X86ISD::VBROADCAST 0x55a9dc0f8d20
try.c: 0x55a9dc0f8d20: i32,ch = load<LD4[ConstantPool]> 0x55a9dc009940, 0x55a9dc09b660, undef:i64
try.c: 0x55a9dc09b660: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a9dc0dedb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a9dc09d550: i64 = undef
try.c: 0x55a9dc100aa0: 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: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: i32 = Constant<0>
try.c: 0x55a9dc100970: 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 openssl

Compiler output

Implementation: openssl
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55c92e2843c0: v4i64 = X86ISD::VTRUNC 0x55c92e284290
try.c: 0x55c92e284290: v16i32 = vselect 0x55c92e296740, 0x55c92e218610, 0x55c92e284160
try.c: 0x55c92e296740: v4i1 = X86ISD::PCMPGTM 0x55c92e27dd80, 0x55c92e279910
try.c: 0x55c92e27dd80: v4i64 = X86ISD::VBROADCAST 0x55c92e218ad0
try.c: 0x55c92e218ad0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c92e177a30, 0x55c92e211350, undef:i64
try.c: 0x55c92e211350: i64,ch = CopyFromReg 0x55c92e177a30, Register:i64 %vreg50
try.c: 0x55c92e279b70: i64 = Register %vreg50
try.c: 0x55c92e22e3c0: i64 = undef
try.c: 0x55c92e279910: v4i64,ch = CopyFromReg 0x55c92e177a30, Register:v4i64 %vreg13
try.c: 0x55c92e27e5d0: v4i64 = Register %vreg13
try.c: 0x55c92e218610: v16i32 = X86ISD::VBROADCAST 0x55c92e27dfe0
try.c: 0x55c92e27dfe0: i32,ch = load<LD4[ConstantPool]> 0x55c92e177a30, 0x55c92e21afb0, undef:i64
try.c: 0x55c92e21afb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c92e22ed40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c92e22e3c0: i64 = undef
try.c: 0x55c92e284160: 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: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: i32 = Constant<0>
try.c: 0x55c92e284030: 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 openssl

Compiler output

Implementation: openssl
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5607abdcdb40: v4i64 = X86ISD::VTRUNC 0x5607abdcda10
try.c: 0x5607abdcda10: v16i32 = vselect 0x5607abdd3f80, 0x5607abd68ef0, 0x5607abdcd8e0
try.c: 0x5607abdd3f80: v4i1 = X86ISD::PCMPGTM 0x5607abdc89e0, 0x5607abdc4570
try.c: 0x5607abdc89e0: v4i64 = X86ISD::VBROADCAST 0x5607abd7d890
try.c: 0x5607abd7d890: i64,ch = load<LD8[%lsr.iv6971]> 0x5607abcd9900, 0x5607abdbf3d0, undef:i64
try.c: 0x5607abdbf3d0: i64,ch = CopyFromReg 0x5607abcd9900, Register:i64 %vreg50
try.c: 0x5607abdc47d0: i64 = Register %vreg50
try.c: 0x5607abd67560: i64 = undef
try.c: 0x5607abdc4570: v4i64,ch = CopyFromReg 0x5607abcd9900, Register:v4i64 %vreg13
try.c: 0x5607abdc9230: v4i64 = Register %vreg13
try.c: 0x5607abd68ef0: v16i32 = X86ISD::VBROADCAST 0x5607abdc8c40
try.c: 0x5607abdc8c40: i32,ch = load<LD4[ConstantPool]> 0x5607abcd9900, 0x5607abd7ce70, undef:i64
try.c: 0x5607abd7ce70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5607abdb0cd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5607abd67560: i64 = undef
try.c: 0x5607abdcd8e0: 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: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: i32 = Constant<0>
try.c: 0x5607abdcd7b0: 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 openssl