Implementation notes: amd64, cel02, crypto_aead/grain128aead

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: grain128aead
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7670823453 0 017911 848 896T:opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7701207900 0 022928 824 856T:opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8010583174 0 016386 824 896T:opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11348424439 0 017634 816 856T:opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
113499412064 0 029991 848 960T:opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12898943830 0 018543 848 896T:opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1004286020362 0 038377 856 968T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1615992610365 0 025240 824 864T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
528560103397 0 016634 824 904T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
767324045108 0 019782 840 904T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
819364424033 0 018470 840 904T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
919004984537 0 017778 816 864T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:opt32
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: 0x561b902c9be0: v4i64 = X86ISD::VTRUNC 0x561b902c9ab0
try.c: 0x561b902c9ab0: v16i32 = vselect 0x561b902c4c30, 0x561b90268950, 0x561b902c9980
try.c: 0x561b902c4c30: v4i1 = X86ISD::PCMPGTM 0x561b902c1c00, 0x561b902bd790
try.c: 0x561b902c1c00: v4i64 = X86ISD::VBROADCAST 0x561b9026e260
try.c: 0x561b9026e260: i64,ch = load<LD8[%lsr.iv6971]> 0x561b901d2950, 0x561b902abe50, undef:i64
try.c: 0x561b902abe50: i64,ch = CopyFromReg 0x561b901d2950, Register:i64 %vreg50
try.c: 0x561b902bd9f0: i64 = Register %vreg50
try.c: 0x561b9026f730: i64 = undef
try.c: 0x561b902bd790: v4i64,ch = CopyFromReg 0x561b901d2950, Register:v4i64 %vreg13
try.c: 0x561b902c2450: v4i64 = Register %vreg13
try.c: 0x561b90268950: v16i32 = X86ISD::VBROADCAST 0x561b902c1e60
try.c: 0x561b902c1e60: i32,ch = load<LD4[ConstantPool]> 0x561b901d2950, 0x561b9026d840, undef:i64
try.c: 0x561b9026d840: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561b902ad050: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561b9026f730: i64 = undef
try.c: 0x561b902c9980: 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: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: i32 = Constant<0>
try.c: 0x561b902c9850: 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:opt32

Compiler output

Implementation: T:opt32
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: 0x560619d6d5d0: v4i64 = X86ISD::VTRUNC 0x560619d6d4a0
try.c: 0x560619d6d4a0: v16i32 = vselect 0x560619d73cc0, 0x560619cfef40, 0x560619d6d370
try.c: 0x560619d73cc0: v4i1 = X86ISD::PCMPGTM 0x560619d54ff0, 0x560619d52b10
try.c: 0x560619d54ff0: v4i64 = X86ISD::VBROADCAST 0x560619cff400
try.c: 0x560619cff400: i64,ch = load<LD8[%lsr.iv6971]> 0x560619c4fa30, 0x560619d03310, undef:i64
try.c: 0x560619d03310: i64,ch = CopyFromReg 0x560619c4fa30, Register:i64 %vreg50
try.c: 0x560619d52d70: i64 = Register %vreg50
try.c: 0x560619cee120: i64 = undef
try.c: 0x560619d52b10: v4i64,ch = CopyFromReg 0x560619c4fa30, Register:v4i64 %vreg13
try.c: 0x560619d55840: v4i64 = Register %vreg13
try.c: 0x560619cfef40: v16i32 = X86ISD::VBROADCAST 0x560619d55250
try.c: 0x560619d55250: i32,ch = load<LD4[ConstantPool]> 0x560619c4fa30, 0x560619d018e0, undef:i64
try.c: 0x560619d018e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560619ceeaa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560619cee120: i64 = undef
try.c: 0x560619d6d370: 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: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: i32 = Constant<0>
try.c: 0x560619d6d240: 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:opt32

Compiler output

Implementation: T:opt32
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: 0x56396549b1d0: v4i64 = X86ISD::VTRUNC 0x56396549b0a0
try.c: 0x56396549b0a0: v16i32 = vselect 0x563965497bb0, 0x563965437c40, 0x56396549af70
try.c: 0x563965497bb0: v4i1 = X86ISD::PCMPGTM 0x563965492f60, 0x56396548eaf0
try.c: 0x563965492f60: v4i64 = X86ISD::VBROADCAST 0x563965433180
try.c: 0x563965433180: i64,ch = load<LD8[%lsr.iv6971]> 0x5639653a3900, 0x5639654852c0, undef:i64
try.c: 0x5639654852c0: i64,ch = CopyFromReg 0x5639653a3900, Register:i64 %vreg50
try.c: 0x56396548ed50: i64 = Register %vreg50
try.c: 0x5639654362b0: i64 = undef
try.c: 0x56396548eaf0: v4i64,ch = CopyFromReg 0x5639653a3900, Register:v4i64 %vreg13
try.c: 0x5639654937b0: v4i64 = Register %vreg13
try.c: 0x563965437c40: v16i32 = X86ISD::VBROADCAST 0x5639654931c0
try.c: 0x5639654931c0: i32,ch = load<LD4[ConstantPool]> 0x5639653a3900, 0x563965432760, undef:i64
try.c: 0x563965432760: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563965430bb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5639654362b0: i64 = undef
try.c: 0x56396549af70: 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: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: i32 = Constant<0>
try.c: 0x56396549ae40: 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:opt32

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: 0x561dba026080: v4i64 = X86ISD::VTRUNC 0x561dba025f50
try.c: 0x561dba025f50: v16i32 = vselect 0x561dba020a50, 0x561db9fc7590, 0x561dba025e20
try.c: 0x561dba020a50: v4i1 = X86ISD::PCMPGTM 0x561dba01fa40, 0x561dba01b5d0
try.c: 0x561dba01fa40: v4i64 = X86ISD::VBROADCAST 0x561db9fc35a0
try.c: 0x561db9fc35a0: i64,ch = load<LD8[%lsr.iv6971]> 0x561db9f30950, 0x561dba016430, undef:i64
try.c: 0x561dba016430: i64,ch = CopyFromReg 0x561db9f30950, Register:i64 %vreg50
try.c: 0x561dba01b830: i64 = Register %vreg50
try.c: 0x561db9fc5c00: i64 = undef
try.c: 0x561dba01b5d0: v4i64,ch = CopyFromReg 0x561db9f30950, Register:v4i64 %vreg13
try.c: 0x561dba020290: v4i64 = Register %vreg13
try.c: 0x561db9fc7590: v16i32 = X86ISD::VBROADCAST 0x561dba01fca0
try.c: 0x561dba01fca0: i32,ch = load<LD4[ConstantPool]> 0x561db9f30950, 0x561db9fc2b80, undef:i64
try.c: 0x561db9fc2b80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561dba004f10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561db9fc5c00: i64 = undef
try.c: 0x561dba025e20: 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: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: i32 = Constant<0>
try.c: 0x561dba025cf0: 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: 0x55883c9c8b90: v4i64 = X86ISD::VTRUNC 0x55883c9c8a60
try.c: 0x55883c9c8a60: v16i32 = vselect 0x55883c9d73c0, 0x55883c9574e0, 0x55883c9c8930
try.c: 0x55883c9d73c0: v4i1 = X86ISD::PCMPGTM 0x55883c9bd110, 0x55883c9b8ca0
try.c: 0x55883c9bd110: v4i64 = X86ISD::VBROADCAST 0x55883c9579a0
try.c: 0x55883c9579a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55883c8b6a30, 0x55883c956250, undef:i64
try.c: 0x55883c956250: i64,ch = CopyFromReg 0x55883c8b6a30, Register:i64 %vreg50
try.c: 0x55883c9b8f00: i64 = Register %vreg50
try.c: 0x55883c97efe0: i64 = undef
try.c: 0x55883c9b8ca0: v4i64,ch = CopyFromReg 0x55883c8b6a30, Register:v4i64 %vreg13
try.c: 0x55883c9bd960: v4i64 = Register %vreg13
try.c: 0x55883c9574e0: v16i32 = X86ISD::VBROADCAST 0x55883c9bd370
try.c: 0x55883c9bd370: i32,ch = load<LD4[ConstantPool]> 0x55883c8b6a30, 0x55883c954820, undef:i64
try.c: 0x55883c954820: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55883c97f960: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55883c97efe0: i64 = undef
try.c: 0x55883c9c8930: 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: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: i32 = Constant<0>
try.c: 0x55883c9c8800: 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: 0x55ce3a3281a0: v4i64 = X86ISD::VTRUNC 0x55ce3a328070
try.c: 0x55ce3a328070: v16i32 = vselect 0x55ce3a314480, 0x55ce3a2ba7f0, 0x55ce3a327f40
try.c: 0x55ce3a314480: v4i1 = X86ISD::PCMPGTM 0x55ce3a30d820, 0x55ce3a3093b0
try.c: 0x55ce3a30d820: v4i64 = X86ISD::VBROADCAST 0x55ce3a2b5e50
try.c: 0x55ce3a2b5e50: i64,ch = load<LD8[%lsr.iv6971]> 0x55ce3a21e950, 0x55ce3a2fb1f0, undef:i64
try.c: 0x55ce3a2fb1f0: i64,ch = CopyFromReg 0x55ce3a21e950, Register:i64 %vreg50
try.c: 0x55ce3a309610: i64 = Register %vreg50
try.c: 0x55ce3a2b8e60: i64 = undef
try.c: 0x55ce3a3093b0: v4i64,ch = CopyFromReg 0x55ce3a21e950, Register:v4i64 %vreg13
try.c: 0x55ce3a30e070: v4i64 = Register %vreg13
try.c: 0x55ce3a2ba7f0: v16i32 = X86ISD::VBROADCAST 0x55ce3a30da80
try.c: 0x55ce3a30da80: i32,ch = load<LD4[ConstantPool]> 0x55ce3a21e950, 0x55ce3a2b5430, undef:i64
try.c: 0x55ce3a2b5430: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ce3a2fbe90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ce3a2b8e60: i64 = undef
try.c: 0x55ce3a327f40: 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: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: i32 = Constant<0>
try.c: 0x55ce3a327e10: 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