Implementation notes: amd64, cel02, crypto_aead/isapa128v20

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: isapa128v20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8689824676 0 022485 832 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10941564633 0 019526 808 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11123563671 0 018188 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13456603497 0 017732 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13512963103 0 016152 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: 0x560f87a635a0: v4i64 = X86ISD::VTRUNC 0x560f87a63470
try.c: 0x560f87a63470: v16i32 = vselect 0x560f87a6c1a0, 0x560f879e7580, 0x560f87a63340
try.c: 0x560f87a6c1a0: v4i1 = X86ISD::PCMPGTM 0x560f87a48c20, 0x560f87a447b0
try.c: 0x560f87a48c20: v4i64 = X86ISD::VBROADCAST 0x560f87a16180
try.c: 0x560f87a16180: i64,ch = load<LD8[%lsr.iv6971]> 0x560f87959960, 0x560f87a3f610, undef:i64
try.c: 0x560f87a3f610: i64,ch = CopyFromReg 0x560f87959960, Register:i64 %vreg50
try.c: 0x560f87a44a10: i64 = Register %vreg50
try.c: 0x560f879e5bf0: i64 = undef
try.c: 0x560f87a447b0: v4i64,ch = CopyFromReg 0x560f87959960, Register:v4i64 %vreg13
try.c: 0x560f87a49470: v4i64 = Register %vreg13
try.c: 0x560f879e7580: v16i32 = X86ISD::VBROADCAST 0x560f87a48e80
try.c: 0x560f87a48e80: i32,ch = load<LD4[ConstantPool]> 0x560f87959960, 0x560f87a15760, undef:i64
try.c: 0x560f87a15760: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560f87a045e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560f879e5bf0: i64 = undef
try.c: 0x560f87a63340: 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: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: i32 = Constant<0>
try.c: 0x560f87a63210: 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: 0x55ec8d1c15c0: v4i64 = X86ISD::VTRUNC 0x55ec8d1c1490
try.c: 0x55ec8d1c1490: v16i32 = vselect 0x55ec8d1c6450, 0x55ec8d144060, 0x55ec8d1c1360
try.c: 0x55ec8d1c6450: v4i1 = X86ISD::PCMPGTM 0x55ec8d1a7fc0, 0x55ec8d1a3b50
try.c: 0x55ec8d1a7fc0: v4i64 = X86ISD::VBROADCAST 0x55ec8d144520
try.c: 0x55ec8d144520: i64,ch = load<LD8[%lsr.iv6971]> 0x55ec8d0a1a30, 0x55ec8d149170, undef:i64
try.c: 0x55ec8d149170: i64,ch = CopyFromReg 0x55ec8d0a1a30, Register:i64 %vreg50
try.c: 0x55ec8d1a3db0: i64 = Register %vreg50
try.c: 0x55ec8d1541d0: i64 = undef
try.c: 0x55ec8d1a3b50: v4i64,ch = CopyFromReg 0x55ec8d0a1a30, Register:v4i64 %vreg13
try.c: 0x55ec8d1a8810: v4i64 = Register %vreg13
try.c: 0x55ec8d144060: v16i32 = X86ISD::VBROADCAST 0x55ec8d1a8220
try.c: 0x55ec8d1a8220: i32,ch = load<LD4[ConstantPool]> 0x55ec8d0a1a30, 0x55ec8d13d790, undef:i64
try.c: 0x55ec8d13d790: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ec8d154b50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ec8d1541d0: i64 = undef
try.c: 0x55ec8d1c1360: 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: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: i32 = Constant<0>
try.c: 0x55ec8d1c1230: 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: 0x55caedb04a20: v4i64 = X86ISD::VTRUNC 0x55caedb048f0
try.c: 0x55caedb048f0: v16i32 = vselect 0x55caedb14b40, 0x55caedaaa920, 0x55caedb047c0
try.c: 0x55caedb14b40: v4i1 = X86ISD::PCMPGTM 0x55caedafd7d0, 0x55caedaf9360
try.c: 0x55caedafd7d0: v4i64 = X86ISD::VBROADCAST 0x55caedaa0d40
try.c: 0x55caedaa0d40: i64,ch = load<LD8[%lsr.iv6971]> 0x55caeda0e950, 0x55caedae77d0, undef:i64
try.c: 0x55caedae77d0: i64,ch = CopyFromReg 0x55caeda0e950, Register:i64 %vreg50
try.c: 0x55caedaf95c0: i64 = Register %vreg50
try.c: 0x55caedaa8f90: i64 = undef
try.c: 0x55caedaf9360: v4i64,ch = CopyFromReg 0x55caeda0e950, Register:v4i64 %vreg13
try.c: 0x55caedafe020: v4i64 = Register %vreg13
try.c: 0x55caedaaa920: v16i32 = X86ISD::VBROADCAST 0x55caedafda30
try.c: 0x55caedafda30: i32,ch = load<LD4[ConstantPool]> 0x55caeda0e950, 0x55caedaa0320, undef:i64
try.c: 0x55caedaa0320: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55caedae4110: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55caedaa8f90: i64 = undef
try.c: 0x55caedb047c0: 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: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: i32 = Constant<0>
try.c: 0x55caedb04690: 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: 0x55abd2cb8430: v4i32 = X86ISD::PCMPEQM 0x55abd2cbaf60, 0x55abd2cb8690
decrypt.c: 0x55abd2cbaf60: v4i32 = X86ISD::VZEXT 0x55abd2cb54a0
decrypt.c: 0x55abd2cb54a0: v16i8 = bitcast 0x55abd2cb5240
decrypt.c: 0x55abd2cb5240: v4i32 = scalar_to_vector 0x55abd2cb5700
decrypt.c: 0x55abd2cb5700: i32,ch = load<LD4[%sunkaddr15]> 0x55abd2c34920, 0x55abd2cb5ec0, undef:i64
decrypt.c: 0x55abd2cb5ec0: i64 = add FrameIndex:i64<0>, 0x55abd2cb5c60
decrypt.c: 0x55abd2cb5a00: i64 = FrameIndex<0>
decrypt.c: 0x55abd2cb5c60: i64,ch = CopyFromReg 0x55abd2c34920, Register:i64 %vreg2
decrypt.c: 0x55abd2cb5830: i64 = Register %vreg2
decrypt.c: 0x55abd2cb4eb0: i64 = undef
decrypt.c: 0x55abd2cb8690: v4i32 = X86ISD::VZEXT 0x55abd2cb8c80
decrypt.c: 0x55abd2cb8c80: v16i8 = bitcast 0x55abd2cb91e0
decrypt.c: 0x55abd2cb91e0: v4i32 = scalar_to_vector 0x55abd2cb9440
decrypt.c: 0x55abd2cb9440: i32,ch = load<LD4[%uglygep9](align=1)> 0x55abd2c34920, 0x55abd2cbabd0, undef:i64
decrypt.c: 0x55abd2cbabd0: i64 = add 0x55abd2cb4fe0, 0x55abd2cb5c60
decrypt.c: 0x55abd2cb4fe0: i64,ch = CopyFromReg 0x55abd2c34920, Register:i64 %vreg1
decrypt.c: 0x55abd2cb8300: i64 = Register %vreg1
decrypt.c: 0x55abd2cb5c60: i64,ch = CopyFromReg 0x55abd2c34920, Register:i64 %vreg2
decrypt.c: 0x55abd2cb5830: i64 = Register %vreg2
decrypt.c: 0x55abd2cb4eb0: i64 = undef
decrypt.c: In function: crypto_aead_isapa128v20_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