Implementation notes: amd64, cel02, crypto_aead/isapk128av20

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: isapk128av20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16718725391 0 023229 832 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
21383605759 0 020686 808 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
107197764466 0 019036 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
135724463594 0 016688 808 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
160370004440 0 018821 832 896T:refgcc_-march=native_-mtune=native_-O_-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: 0x55fdecc97020: v4i64 = X86ISD::VTRUNC 0x55fdecc96ef0
try.c: 0x55fdecc96ef0: v16i32 = vselect 0x55fdecc919f0, 0x55fdecc38620, 0x55fdecc96dc0
try.c: 0x55fdecc919f0: v4i1 = X86ISD::PCMPGTM 0x55fdecc8c1b0, 0x55fdecc87d40
try.c: 0x55fdecc8c1b0: v4i64 = X86ISD::VBROADCAST 0x55fdecc2fa20
try.c: 0x55fdecc2fa20: i64,ch = load<LD8[%lsr.iv6971]> 0x55fdecb9c950, 0x55fdecc7ecd0, undef:i64
try.c: 0x55fdecc7ecd0: i64,ch = CopyFromReg 0x55fdecb9c950, Register:i64 %vreg50
try.c: 0x55fdecc87fa0: i64 = Register %vreg50
try.c: 0x55fdecc36c90: i64 = undef
try.c: 0x55fdecc87d40: v4i64,ch = CopyFromReg 0x55fdecb9c950, Register:v4i64 %vreg13
try.c: 0x55fdecc8ca00: v4i64 = Register %vreg13
try.c: 0x55fdecc38620: v16i32 = X86ISD::VBROADCAST 0x55fdecc8c410
try.c: 0x55fdecc8c410: i32,ch = load<LD4[ConstantPool]> 0x55fdecb9c950, 0x55fdecc2f000, undef:i64
try.c: 0x55fdecc2f000: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fdecc2dd40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fdecc36c90: i64 = undef
try.c: 0x55fdecc96dc0: 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: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: i32 = Constant<0>
try.c: 0x55fdecc96c90: 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: 0x5612b44961d0: v4i64 = X86ISD::VTRUNC 0x5612b44960a0
try.c: 0x5612b44960a0: v16i32 = vselect 0x5612b4476d20, 0x5612b440f7d0, 0x5612b4495f70
try.c: 0x5612b4476d20: v4i1 = X86ISD::PCMPGTM 0x5612b4472e60, 0x5612b446e3e0
try.c: 0x5612b4472e60: v4i64 = X86ISD::VBROADCAST 0x5612b440fc90
try.c: 0x5612b440fc90: i64,ch = load<LD8[%lsr.iv6971]> 0x5612b436ca30, 0x5612b4422690, undef:i64
try.c: 0x5612b4422690: i64,ch = CopyFromReg 0x5612b436ca30, Register:i64 %vreg50
try.c: 0x5612b446e640: i64 = Register %vreg50
try.c: 0x5612b44076d0: i64 = undef
try.c: 0x5612b446e3e0: v4i64,ch = CopyFromReg 0x5612b436ca30, Register:v4i64 %vreg13
try.c: 0x5612b44736b0: v4i64 = Register %vreg13
try.c: 0x5612b440f7d0: v16i32 = X86ISD::VBROADCAST 0x5612b44730c0
try.c: 0x5612b44730c0: i32,ch = load<LD4[ConstantPool]> 0x5612b436ca30, 0x5612b4420c60, undef:i64
try.c: 0x5612b4420c60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5612b4408050: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5612b44076d0: i64 = undef
try.c: 0x5612b4495f70: 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: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: i32 = Constant<0>
try.c: 0x5612b4495e40: 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: 0x5621028c5230: v4i64 = X86ISD::VTRUNC 0x5621028c5100
try.c: 0x5621028c5100: v16i32 = vselect 0x5621028b1100, 0x562102852ae0, 0x5621028c4fd0
try.c: 0x5621028b1100: v4i1 = X86ISD::PCMPGTM 0x5621028a98a0, 0x5621028a5430
try.c: 0x5621028a98a0: v4i64 = X86ISD::VBROADCAST 0x56210284d680
try.c: 0x56210284d680: i64,ch = load<LD8[%lsr.iv6971]> 0x5621027ba960, 0x5621028914a0, undef:i64
try.c: 0x5621028914a0: i64,ch = CopyFromReg 0x5621027ba960, Register:i64 %vreg50
try.c: 0x5621028a5690: i64 = Register %vreg50
try.c: 0x562102851150: i64 = undef
try.c: 0x5621028a5430: v4i64,ch = CopyFromReg 0x5621027ba960, Register:v4i64 %vreg13
try.c: 0x5621028aa0f0: v4i64 = Register %vreg13
try.c: 0x562102852ae0: v16i32 = X86ISD::VBROADCAST 0x5621028a9b00
try.c: 0x5621028a9b00: i32,ch = load<LD4[ConstantPool]> 0x5621027ba960, 0x56210284cc60, undef:i64
try.c: 0x56210284cc60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5621028984c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562102851150: i64 = undef
try.c: 0x5621028c4fd0: 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: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: i32 = Constant<0>
try.c: 0x5621028c4ea0: 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: 0x55a127ea9cc0: v4i32 = X86ISD::PCMPEQM 0x55a127eac530, 0x55a127ea9f20
decrypt.c: 0x55a127eac530: v4i32 = X86ISD::VZEXT 0x55a127ea7340
decrypt.c: 0x55a127ea7340: v16i8 = bitcast 0x55a127ea70e0
decrypt.c: 0x55a127ea70e0: v4i32 = scalar_to_vector 0x55a127ea75a0
decrypt.c: 0x55a127ea75a0: i32,ch = load<LD4[%sunkaddr15]> 0x55a127e25960, 0x55a127ea7d60, undef:i64
decrypt.c: 0x55a127ea7d60: i64 = add FrameIndex:i64<0>, 0x55a127ea7b00
decrypt.c: 0x55a127ea78a0: i64 = FrameIndex<0>
decrypt.c: 0x55a127ea7b00: i64,ch = CopyFromReg 0x55a127e25960, Register:i64 %vreg2
decrypt.c: 0x55a127ea76d0: i64 = Register %vreg2
decrypt.c: 0x55a127ea6d50: i64 = undef
decrypt.c: 0x55a127ea9f20: v4i32 = X86ISD::VZEXT 0x55a127eaa510
decrypt.c: 0x55a127eaa510: v16i8 = bitcast 0x55a127eaaa70
decrypt.c: 0x55a127eaaa70: v4i32 = scalar_to_vector 0x55a127eaacd0
decrypt.c: 0x55a127eaacd0: i32,ch = load<LD4[%uglygep9](align=1)> 0x55a127e25960, 0x55a127eac1a0, undef:i64
decrypt.c: 0x55a127eac1a0: i64 = add 0x55a127ea6e80, 0x55a127ea7b00
decrypt.c: 0x55a127ea6e80: i64,ch = CopyFromReg 0x55a127e25960, Register:i64 %vreg1
decrypt.c: 0x55a127ea9b90: i64 = Register %vreg1
decrypt.c: 0x55a127ea7b00: i64,ch = CopyFromReg 0x55a127e25960, Register:i64 %vreg2
decrypt.c: 0x55a127ea76d0: i64 = Register %vreg2
decrypt.c: 0x55a127ea6d50: i64 = undef
decrypt.c: In function: crypto_aead_isapk128av20_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