Implementation notes: amd64, cel02, crypto_aead/scream12v3

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: scream12v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9258013101 0 033637 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10941213665 0 032220 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
14273822903 0 047213 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15668013659 0 034733 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16002011129 0 030104 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5353587534 0 027778 800 864T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7381429412 0 033565 824 968T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10155146532 0 026997 824 904T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10565306933 0 027885 824 904T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10874505811 0 024228 792 864T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11472726074 0 024944 800 904T: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: 0x564401eaaf50: v4i64 = X86ISD::VTRUNC 0x564401eaae20
try.c: 0x564401eaae20: v16i32 = vselect 0x564401ea5920, 0x564401e43e30, 0x564401eaacf0
try.c: 0x564401ea5920: v4i1 = X86ISD::PCMPGTM 0x564401ea4910, 0x564401ea04a0
try.c: 0x564401ea4910: v4i64 = X86ISD::VBROADCAST 0x564401e4d850
try.c: 0x564401e4d850: i64,ch = load<LD8[%lsr.iv6971]> 0x564401db5960, 0x564401e8e9e0, undef:i64
try.c: 0x564401e8e9e0: i64,ch = CopyFromReg 0x564401db5960, Register:i64 %vreg50
try.c: 0x564401ea0700: i64 = Register %vreg50
try.c: 0x564401e4ed20: i64 = undef
try.c: 0x564401ea04a0: v4i64,ch = CopyFromReg 0x564401db5960, Register:v4i64 %vreg13
try.c: 0x564401ea5160: v4i64 = Register %vreg13
try.c: 0x564401e43e30: v16i32 = X86ISD::VBROADCAST 0x564401ea4b70
try.c: 0x564401ea4b70: i32,ch = load<LD4[ConstantPool]> 0x564401db5960, 0x564401e53b00, undef:i64
try.c: 0x564401e53b00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564401e8fbe0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564401e4ed20: i64 = undef
try.c: 0x564401eaacf0: 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: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: i32 = Constant<0>
try.c: 0x564401eaabc0: 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: 0x563efd0c4100: v4i64 = X86ISD::VTRUNC 0x563efd0c3fd0
try.c: 0x563efd0c3fd0: v16i32 = vselect 0x563efd0cad60, 0x563efd047250, 0x563efd0c3ea0
try.c: 0x563efd0cad60: v4i1 = X86ISD::PCMPGTM 0x563efd0ab510, 0x563efd0a7ef0
try.c: 0x563efd0ab510: v4i64 = X86ISD::VBROADCAST 0x563efd047710
try.c: 0x563efd047710: i64,ch = load<LD8[%lsr.iv6971]> 0x563efcfa5a30, 0x563efd04c120, undef:i64
try.c: 0x563efd04c120: i64,ch = CopyFromReg 0x563efcfa5a30, Register:i64 %vreg50
try.c: 0x563efd0a8150: i64 = Register %vreg50
try.c: 0x563efd044280: i64 = undef
try.c: 0x563efd0a7ef0: v4i64,ch = CopyFromReg 0x563efcfa5a30, Register:v4i64 %vreg13
try.c: 0x563efd0abd60: v4i64 = Register %vreg13
try.c: 0x563efd047250: v16i32 = X86ISD::VBROADCAST 0x563efd0ab770
try.c: 0x563efd0ab770: i32,ch = load<LD4[ConstantPool]> 0x563efcfa5a30, 0x563efd049bf0, undef:i64
try.c: 0x563efd049bf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563efd044c00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563efd044280: i64 = undef
try.c: 0x563efd0c3ea0: 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: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: i32 = Constant<0>
try.c: 0x563efd0c3d70: 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: 0x55e54a2aca50: v4i64 = X86ISD::VTRUNC 0x55e54a2ac920
try.c: 0x55e54a2ac920: v16i32 = vselect 0x55e54a2aa8f0, 0x55e54a255cc0, 0x55e54a2ac7f0
try.c: 0x55e54a2aa8f0: v4i1 = X86ISD::PCMPGTM 0x55e54a2a78c0, 0x55e54a2a3450
try.c: 0x55e54a2a78c0: v4i64 = X86ISD::VBROADCAST 0x55e54a24c4d0
try.c: 0x55e54a24c4d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e54a1b8920, 0x55e54a29a570, undef:i64
try.c: 0x55e54a29a570: i64,ch = CopyFromReg 0x55e54a1b8920, Register:i64 %vreg50
try.c: 0x55e54a2a36b0: i64 = Register %vreg50
try.c: 0x55e54a254330: i64 = undef
try.c: 0x55e54a2a3450: v4i64,ch = CopyFromReg 0x55e54a1b8920, Register:v4i64 %vreg13
try.c: 0x55e54a2a8110: v4i64 = Register %vreg13
try.c: 0x55e54a255cc0: v16i32 = X86ISD::VBROADCAST 0x55e54a2a7b20
try.c: 0x55e54a2a7b20: i32,ch = load<LD4[ConstantPool]> 0x55e54a1b8920, 0x55e54a24bab0, undef:i64
try.c: 0x55e54a24bab0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e54a2692f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e54a254330: i64 = undef
try.c: 0x55e54a2ac7f0: 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: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: i32 = Constant<0>
try.c: 0x55e54a2ac6c0: 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:sse
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: 0x561248b2ca20: v4i64 = X86ISD::VTRUNC 0x561248b2c8f0
try.c: 0x561248b2c8f0: v16i32 = vselect 0x561248b1fcd0, 0x561248ac96e0, 0x561248b2c7c0
try.c: 0x561248b1fcd0: v4i1 = X86ISD::PCMPGTM 0x561248b278a0, 0x561248b23430
try.c: 0x561248b278a0: v4i64 = X86ISD::VBROADCAST 0x561248ac6880
try.c: 0x561248ac6880: i64,ch = load<LD8[%lsr.iv6971]> 0x561248a38950, 0x561248b0da30, undef:i64
try.c: 0x561248b0da30: i64,ch = CopyFromReg 0x561248a38950, Register:i64 %vreg50
try.c: 0x561248b23690: i64 = Register %vreg50
try.c: 0x561248ac7d50: i64 = undef
try.c: 0x561248b23430: v4i64,ch = CopyFromReg 0x561248a38950, Register:v4i64 %vreg13
try.c: 0x561248b280f0: v4i64 = Register %vreg13
try.c: 0x561248ac96e0: v16i32 = X86ISD::VBROADCAST 0x561248b27b00
try.c: 0x561248b27b00: i32,ch = load<LD4[ConstantPool]> 0x561248a38950, 0x561248acbea0, undef:i64
try.c: 0x561248acbea0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561248b160e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561248ac7d50: i64 = undef
try.c: 0x561248b2c7c0: 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: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: i32 = Constant<0>
try.c: 0x561248b2c690: 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:sse

Compiler output

Implementation: T:sse
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: 0x55b59d4d36b0: v4i64 = X86ISD::VTRUNC 0x55b59d4d3580
try.c: 0x55b59d4d3580: v16i32 = vselect 0x55b59d4ce080, 0x55b59d44e2b0, 0x55b59d4d3450
try.c: 0x55b59d4ce080: v4i1 = X86ISD::PCMPGTM 0x55b59d4ba6f0, 0x55b59d4b6280
try.c: 0x55b59d4ba6f0: v4i64 = X86ISD::VBROADCAST 0x55b59d44e770
try.c: 0x55b59d44e770: i64,ch = load<LD8[%lsr.iv6971]> 0x55b59d3b3a20, 0x55b59d468390, undef:i64
try.c: 0x55b59d468390: i64,ch = CopyFromReg 0x55b59d3b3a20, Register:i64 %vreg50
try.c: 0x55b59d4b64e0: i64 = Register %vreg50
try.c: 0x55b59d463130: i64 = undef
try.c: 0x55b59d4b6280: v4i64,ch = CopyFromReg 0x55b59d3b3a20, Register:v4i64 %vreg13
try.c: 0x55b59d4baf40: v4i64 = Register %vreg13
try.c: 0x55b59d44e2b0: v16i32 = X86ISD::VBROADCAST 0x55b59d4ba950
try.c: 0x55b59d4ba950: i32,ch = load<LD4[ConstantPool]> 0x55b59d3b3a20, 0x55b59d466960, undef:i64
try.c: 0x55b59d466960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b59d463ab0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b59d463130: i64 = undef
try.c: 0x55b59d4d3450: 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: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: i32 = Constant<0>
try.c: 0x55b59d4d3320: 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:sse

Compiler output

Implementation: T:sse
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: 0x55600c0c3b50: v4i64 = X86ISD::VTRUNC 0x55600c0c3a20
try.c: 0x55600c0c3a20: v16i32 = vselect 0x55600c0be920, 0x55600c076b50, 0x55600c0c38f0
try.c: 0x55600c0be920: v4i1 = X86ISD::PCMPGTM 0x55600c0bb8f0, 0x55600c0b7480
try.c: 0x55600c0bb8f0: v4i64 = X86ISD::VBROADCAST 0x55600c060060
try.c: 0x55600c060060: i64,ch = load<LD8[%lsr.iv6971]> 0x55600bfcc950, 0x55600c0aea70, undef:i64
try.c: 0x55600c0aea70: i64,ch = CopyFromReg 0x55600bfcc950, Register:i64 %vreg50
try.c: 0x55600c0b76e0: i64 = Register %vreg50
try.c: 0x55600c0751c0: i64 = undef
try.c: 0x55600c0b7480: v4i64,ch = CopyFromReg 0x55600bfcc950, Register:v4i64 %vreg13
try.c: 0x55600c0bc140: v4i64 = Register %vreg13
try.c: 0x55600c076b50: v16i32 = X86ISD::VBROADCAST 0x55600c0bbb50
try.c: 0x55600c0bbb50: i32,ch = load<LD4[ConstantPool]> 0x55600bfcc950, 0x55600c05f640, undef:i64
try.c: 0x55600c05f640: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55600c09cab0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55600c0751c0: i64 = undef
try.c: 0x55600c0c38f0: 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: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: i32 = Constant<0>
try.c: 0x55600c0c37c0: 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:sse

Compiler output

Implementation: T:sse
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
scream.c: scream.c:202:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:216:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:220:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:221:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:228:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: ...

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