Implementation notes: amd64, cel02, crypto_aead/hanmre

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: hanmre
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6281084416 0 022221 832 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7531884613 0 019486 808 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8397303587 0 018108 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9510683416 0 017644 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11420743061 0 016080 808 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
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: 0x55759a629480: v4i64 = X86ISD::VTRUNC 0x55759a629350
try.c: 0x55759a629350: v16i32 = vselect 0x55759a625e60, 0x55759a5c1910, 0x55759a629220
try.c: 0x55759a625e60: v4i1 = X86ISD::PCMPGTM 0x55759a621940, 0x55759a61d4d0
try.c: 0x55759a621940: v4i64 = X86ISD::VBROADCAST 0x55759a5e72a0
try.c: 0x55759a5e72a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55759a532920, 0x55759a60cf40, undef:i64
try.c: 0x55759a60cf40: i64,ch = CopyFromReg 0x55759a532920, Register:i64 %vreg50
try.c: 0x55759a61d730: i64 = Register %vreg50
try.c: 0x55759a5e8770: i64 = undef
try.c: 0x55759a61d4d0: v4i64,ch = CopyFromReg 0x55759a532920, Register:v4i64 %vreg13
try.c: 0x55759a622190: v4i64 = Register %vreg13
try.c: 0x55759a5c1910: v16i32 = X86ISD::VBROADCAST 0x55759a621ba0
try.c: 0x55759a621ba0: i32,ch = load<LD4[ConstantPool]> 0x55759a532920, 0x55759a5c5d60, undef:i64
try.c: 0x55759a5c5d60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55759a60b620: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55759a5e8770: i64 = undef
try.c: 0x55759a629220: 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: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: i32 = Constant<0>
try.c: 0x55759a6290f0: 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:ref

Compiler output

Implementation: T:ref
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: 0x55e3ee34b870: v4i64 = X86ISD::VTRUNC 0x55e3ee34b740
try.c: 0x55e3ee34b740: v16i32 = vselect 0x55e3ee346240, 0x55e3ee2ee270, 0x55e3ee34b610
try.c: 0x55e3ee346240: v4i1 = X86ISD::PCMPGTM 0x55e3ee345230, 0x55e3ee341210
try.c: 0x55e3ee345230: v4i64 = X86ISD::VBROADCAST 0x55e3ee2ee730
try.c: 0x55e3ee2ee730: i64,ch = load<LD8[%lsr.iv6971]> 0x55e3ee23ea00, 0x55e3ee2e14c0, undef:i64
try.c: 0x55e3ee2e14c0: i64,ch = CopyFromReg 0x55e3ee23ea00, Register:i64 %vreg50
try.c: 0x55e3ee341470: i64 = Register %vreg50
try.c: 0x55e3ee2d2ae0: i64 = undef
try.c: 0x55e3ee341210: v4i64,ch = CopyFromReg 0x55e3ee23ea00, Register:v4i64 %vreg13
try.c: 0x55e3ee345a80: v4i64 = Register %vreg13
try.c: 0x55e3ee2ee270: v16i32 = X86ISD::VBROADCAST 0x55e3ee345490
try.c: 0x55e3ee345490: i32,ch = load<LD4[ConstantPool]> 0x55e3ee23ea00, 0x55e3ee2dfa90, undef:i64
try.c: 0x55e3ee2dfa90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e3ee2d3460: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e3ee2d2ae0: i64 = undef
try.c: 0x55e3ee34b610: 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: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: i32 = Constant<0>
try.c: 0x55e3ee34b4e0: 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:ref

Compiler output

Implementation: T:ref
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: 0x559f5147c070: v4i64 = X86ISD::VTRUNC 0x559f5147bf40
try.c: 0x559f5147bf40: v16i32 = vselect 0x559f51476a40, 0x559f51400c20, 0x559f5147be10
try.c: 0x559f51476a40: v4i1 = X86ISD::PCMPGTM 0x559f5145f6d0, 0x559f5145b260
try.c: 0x559f5145f6d0: v4i64 = X86ISD::VBROADCAST 0x559f5141b5f0
try.c: 0x559f5141b5f0: i64,ch = load<LD8[%lsr.iv6971]> 0x559f51370930, 0x559f51441340, undef:i64
try.c: 0x559f51441340: i64,ch = CopyFromReg 0x559f51370930, Register:i64 %vreg50
try.c: 0x559f5145b4c0: i64 = Register %vreg50
try.c: 0x559f513ff290: i64 = undef
try.c: 0x559f5145b260: v4i64,ch = CopyFromReg 0x559f51370930, Register:v4i64 %vreg13
try.c: 0x559f5145ff20: v4i64 = Register %vreg13
try.c: 0x559f51400c20: v16i32 = X86ISD::VBROADCAST 0x559f5145f930
try.c: 0x559f5145f930: i32,ch = load<LD4[ConstantPool]> 0x559f51370930, 0x559f5141abd0, undef:i64
try.c: 0x559f5141abd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559f5144aa20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559f513ff290: i64 = undef
try.c: 0x559f5147be10: 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: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: i32 = Constant<0>
try.c: 0x559f5147bce0: 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:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
decrypt.c: fatal error: error in backend: Cannot select: 0x556f827001b0: v4i32 = X86ISD::PCMPEQM 0x556f82703240, 0x556f827004b0
decrypt.c: 0x556f82703240: v4i32 = X86ISD::VZEXT 0x556f82702d80
decrypt.c: 0x556f82702d80: v16i8 = bitcast 0x556f826fd520
decrypt.c: 0x556f826fd520: v4i32 = scalar_to_vector 0x556f826fd190
decrypt.c: 0x556f826fd190: i32,ch = load<LD4[%sunkaddr21]> 0x556f8267aa00, 0x556f826ff960, undef:i64
decrypt.c: 0x556f826ff960: i64 = add FrameIndex:i64<1>, 0x556f826fd3f0
decrypt.c: 0x556f826fcf30: i64 = FrameIndex<1>
decrypt.c: 0x556f826fd3f0: i64,ch = CopyFromReg 0x556f8267aa00, Register:i64 %vreg1
decrypt.c: 0x556f826fcd60: i64 = Register %vreg1
decrypt.c: 0x556f82701e40: i64 = undef
decrypt.c: 0x556f827004b0: v4i32 = X86ISD::VZEXT 0x556f82700970
decrypt.c: 0x556f82700970: v16i8 = bitcast 0x556f82700d00
decrypt.c: 0x556f82700d00: v4i32 = scalar_to_vector 0x556f82701ab0
decrypt.c: 0x556f82701ab0: i32,ch = load<LD4[%uglygep14](align=1)> 0x556f8267aa00, 0x556f826fc510, undef:i64
decrypt.c: 0x556f826fc510: i64 = add 0x556f826ffa90, 0x556f826fd3f0
decrypt.c: 0x556f826ffa90: i64,ch = CopyFromReg 0x556f8267aa00, Register:i64 %vreg0
decrypt.c: 0x556f826ff830: i64 = Register %vreg0
decrypt.c: 0x556f826fd3f0: i64,ch = CopyFromReg 0x556f8267aa00, Register:i64 %vreg1
decrypt.c: 0x556f826fcd60: i64 = Register %vreg1
decrypt.c: 0x556f82701e40: i64 = undef
decrypt.c: In function: crypto_aead_hanmre_ref_timingleaks_decrypt
decrypt.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
decrypt.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
decrypt.c: Target: x86_64-pc-linux-gnu
decrypt.c: Thread model: posix
decrypt.c: ...

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