Implementation notes: amd64, cel02, crypto_aead/subterraneanv1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: subterraneanv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
104830431706 0 049605 824 960T:add_mem_compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
174956812424 0 030325 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
199399411460 0 024604 792 856T:add_mem_compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
212793614172 0 029130 800 856T:add_mem_compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
219653213943 0 028564 816 896T:add_mem_compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
232565213453 0 027820 816 896T:add_mem_compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
238746411823 0 024976 800 896T:add_mem_compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
34093026710 0 019860 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
54956406378 0 020748 816 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
55246168039 0 022660 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
55496345742 0 018912 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
660217410146 0 025183 808 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:add_mem_compact
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: 0x557f188f3390: v4i64 = X86ISD::VTRUNC 0x557f188f3260
try.c: 0x557f188f3260: v16i32 = vselect 0x557f188d0e40, 0x557f18880b80, 0x557f188f3130
try.c: 0x557f188d0e40: v4i1 = X86ISD::PCMPGTM 0x557f188d8a10, 0x557f188d45a0
try.c: 0x557f188d8a10: v4i64 = X86ISD::VBROADCAST 0x557f1887cb30
try.c: 0x557f1887cb30: i64,ch = load<LD8[%lsr.iv6971]> 0x557f187e9960, 0x557f188cb590, undef:i64
try.c: 0x557f188cb590: i64,ch = CopyFromReg 0x557f187e9960, Register:i64 %vreg50
try.c: 0x557f188d4800: i64 = Register %vreg50
try.c: 0x557f1887f1f0: i64 = undef
try.c: 0x557f188d45a0: v4i64,ch = CopyFromReg 0x557f187e9960, Register:v4i64 %vreg13
try.c: 0x557f188d9260: v4i64 = Register %vreg13
try.c: 0x557f18880b80: v16i32 = X86ISD::VBROADCAST 0x557f188d8c70
try.c: 0x557f188d8c70: i32,ch = load<LD4[ConstantPool]> 0x557f187e9960, 0x557f1887c110, undef:i64
try.c: 0x557f1887c110: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557f188c37f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557f1887f1f0: i64 = undef
try.c: 0x557f188f3130: 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: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: i32 = Constant<0>
try.c: 0x557f188f3000: 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:add_mem_compact

Compiler output

Implementation: T:add_mem_compact
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: 0x55c4073e33e0: v4i64 = X86ISD::VTRUNC 0x55c4073e32b0
try.c: 0x55c4073e32b0: v16i32 = vselect 0x55c4073dddb0, 0x55c40736c450, 0x55c4073e3180
try.c: 0x55c4073dddb0: v4i1 = X86ISD::PCMPGTM 0x55c4073c41f0, 0x55c4073bfd80
try.c: 0x55c4073c41f0: v4i64 = X86ISD::VBROADCAST 0x55c40736c910
try.c: 0x55c40736c910: i64,ch = load<LD8[%lsr.iv6971]> 0x55c4072bda40, 0x55c407360600, undef:i64
try.c: 0x55c407360600: i64,ch = CopyFromReg 0x55c4072bda40, Register:i64 %vreg50
try.c: 0x55c4073bffe0: i64 = Register %vreg50
try.c: 0x55c407359240: i64 = undef
try.c: 0x55c4073bfd80: v4i64,ch = CopyFromReg 0x55c4072bda40, Register:v4i64 %vreg13
try.c: 0x55c4073c4a40: v4i64 = Register %vreg13
try.c: 0x55c40736c450: v16i32 = X86ISD::VBROADCAST 0x55c4073c4450
try.c: 0x55c4073c4450: i32,ch = load<LD4[ConstantPool]> 0x55c4072bda40, 0x55c40735ebd0, undef:i64
try.c: 0x55c40735ebd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c407359bc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c407359240: i64 = undef
try.c: 0x55c4073e3180: 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: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: i32 = Constant<0>
try.c: 0x55c4073e3050: 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:add_mem_compact

Compiler output

Implementation: T:add_mem_compact
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: 0x5565c5760be0: v4i64 = X86ISD::VTRUNC 0x5565c5760ab0
try.c: 0x5565c5760ab0: v16i32 = vselect 0x5565c574caf0, 0x5565c56e1b90, 0x5565c5760980
try.c: 0x5565c574caf0: v4i1 = X86ISD::PCMPGTM 0x5565c5741210, 0x5565c573cda0
try.c: 0x5565c5741210: v4i64 = X86ISD::VBROADCAST 0x5565c56e8eb0
try.c: 0x5565c56e8eb0: i64,ch = load<LD8[%lsr.iv6971]> 0x5565c5651960, 0x5565c5734430, undef:i64
try.c: 0x5565c5734430: i64,ch = CopyFromReg 0x5565c5651960, Register:i64 %vreg50
try.c: 0x5565c573d000: i64 = Register %vreg50
try.c: 0x5565c56e0200: i64 = undef
try.c: 0x5565c573cda0: v4i64,ch = CopyFromReg 0x5565c5651960, Register:v4i64 %vreg13
try.c: 0x5565c5741a60: v4i64 = Register %vreg13
try.c: 0x5565c56e1b90: v16i32 = X86ISD::VBROADCAST 0x5565c5741470
try.c: 0x5565c5741470: i32,ch = load<LD4[ConstantPool]> 0x5565c5651960, 0x5565c56e8490, undef:i64
try.c: 0x5565c56e8490: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5565c56fe960: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5565c56e0200: i64 = undef
try.c: 0x5565c5760980: 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: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: i32 = Constant<0>
try.c: 0x5565c5760850: 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:add_mem_compact

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: 0x55b349efa700: v4i64 = X86ISD::VTRUNC 0x55b349efa5d0
try.c: 0x55b349efa5d0: v16i32 = vselect 0x55b349f109f0, 0x55b349ead4b0, 0x55b349efa4a0
try.c: 0x55b349f109f0: v4i1 = X86ISD::PCMPGTM 0x55b349ef2a30, 0x55b349eee5c0
try.c: 0x55b349ef2a30: v4i64 = X86ISD::VBROADCAST 0x55b349e9bec0
try.c: 0x55b349e9bec0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b349e03940, 0x55b349ee9420, undef:i64
try.c: 0x55b349ee9420: i64,ch = CopyFromReg 0x55b349e03940, Register:i64 %vreg50
try.c: 0x55b349eee820: i64 = Register %vreg50
try.c: 0x55b349e9d390: i64 = undef
try.c: 0x55b349eee5c0: v4i64,ch = CopyFromReg 0x55b349e03940, Register:v4i64 %vreg13
try.c: 0x55b349ef3280: v4i64 = Register %vreg13
try.c: 0x55b349ead4b0: v16i32 = X86ISD::VBROADCAST 0x55b349ef2c90
try.c: 0x55b349ef2c90: i32,ch = load<LD4[ConstantPool]> 0x55b349e03940, 0x55b349e81950, undef:i64
try.c: 0x55b349e81950: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b349ed7880: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b349e9d390: i64 = undef
try.c: 0x55b349efa4a0: 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: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: i32 = Constant<0>
try.c: 0x55b349efa370: 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: 0x55d7e988ccf0: v4i64 = X86ISD::VTRUNC 0x55d7e988cbc0
try.c: 0x55d7e988cbc0: v16i32 = vselect 0x55d7e98896d0, 0x55d7e9812ce0, 0x55d7e988ca90
try.c: 0x55d7e98896d0: v4i1 = X86ISD::PCMPGTM 0x55d7e9872af0, 0x55d7e986e680
try.c: 0x55d7e9872af0: v4i64 = X86ISD::VBROADCAST 0x55d7e98131a0
try.c: 0x55d7e98131a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d7e976ca30, 0x55d7e9824bf0, undef:i64
try.c: 0x55d7e9824bf0: i64,ch = CopyFromReg 0x55d7e976ca30, Register:i64 %vreg50
try.c: 0x55d7e986e8e0: i64 = Register %vreg50
try.c: 0x55d7e982e300: i64 = undef
try.c: 0x55d7e986e680: v4i64,ch = CopyFromReg 0x55d7e976ca30, Register:v4i64 %vreg13
try.c: 0x55d7e9873340: v4i64 = Register %vreg13
try.c: 0x55d7e9812ce0: v16i32 = X86ISD::VBROADCAST 0x55d7e9872d50
try.c: 0x55d7e9872d50: i32,ch = load<LD4[ConstantPool]> 0x55d7e976ca30, 0x55d7e9815680, undef:i64
try.c: 0x55d7e9815680: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d7e982ec80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d7e982e300: i64 = undef
try.c: 0x55d7e988ca90: 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: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: i32 = Constant<0>
try.c: 0x55d7e988c960: 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: 0x564b0f78b000: v4i64 = X86ISD::VTRUNC 0x564b0f78aed0
try.c: 0x564b0f78aed0: v16i32 = vselect 0x564b0f776ae0, 0x564b0f715640, 0x564b0f78ada0
try.c: 0x564b0f776ae0: v4i1 = X86ISD::PCMPGTM 0x564b0f770680, 0x564b0f76c210
try.c: 0x564b0f770680: v4i64 = X86ISD::VBROADCAST 0x564b0f71e710
try.c: 0x564b0f71e710: i64,ch = load<LD8[%lsr.iv6971]> 0x564b0f681950, 0x564b0f767070, undef:i64
try.c: 0x564b0f767070: i64,ch = CopyFromReg 0x564b0f681950, Register:i64 %vreg50
try.c: 0x564b0f76c470: i64 = Register %vreg50
try.c: 0x564b0f713cb0: i64 = undef
try.c: 0x564b0f76c210: v4i64,ch = CopyFromReg 0x564b0f681950, Register:v4i64 %vreg13
try.c: 0x564b0f770ed0: v4i64 = Register %vreg13
try.c: 0x564b0f715640: v16i32 = X86ISD::VBROADCAST 0x564b0f7708e0
try.c: 0x564b0f7708e0: i32,ch = load<LD4[ConstantPool]> 0x564b0f681950, 0x564b0f71dcf0, undef:i64
try.c: 0x564b0f71dcf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564b0f756470: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564b0f713cb0: i64 = undef
try.c: 0x564b0f78ada0: 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: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: i32 = Constant<0>
try.c: 0x564b0f78ac70: 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