Implementation notes: amd64, cel02, crypto_aead/scream10v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: scream10v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7684813355 0 034429 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9527213611 0 032172 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11885622759 0 047061 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13202012962 0 033509 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13355411113 0 030088 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4583707468 0 027714 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5267949216 0 033373 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8647066371 0 026837 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8696466709 0 027661 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9392705641 0 024052 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9603225785 0 024656 800 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: 0x563d244c5b90: v4i64 = X86ISD::VTRUNC 0x563d244c5a60
try.c: 0x563d244c5a60: v16i32 = vselect 0x563d244c9120, 0x563d2445cc10, 0x563d244c5930
try.c: 0x563d244c9120: v4i1 = X86ISD::PCMPGTM 0x563d244bd930, 0x563d244b94c0
try.c: 0x563d244bd930: v4i64 = X86ISD::VBROADCAST 0x563d24477720
try.c: 0x563d24477720: i64,ch = load<LD8[%lsr.iv6971]> 0x563d243ce950, 0x563d2442b0e0, undef:i64
try.c: 0x563d2442b0e0: i64,ch = CopyFromReg 0x563d243ce950, Register:i64 %vreg50
try.c: 0x563d244b9720: i64 = Register %vreg50
try.c: 0x563d24478bf0: i64 = undef
try.c: 0x563d244b94c0: v4i64,ch = CopyFromReg 0x563d243ce950, Register:v4i64 %vreg13
try.c: 0x563d244be180: v4i64 = Register %vreg13
try.c: 0x563d2445cc10: v16i32 = X86ISD::VBROADCAST 0x563d244bdb90
try.c: 0x563d244bdb90: i32,ch = load<LD4[ConstantPool]> 0x563d243ce950, 0x563d2448a550, undef:i64
try.c: 0x563d2448a550: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563d244a8a90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563d24478bf0: i64 = undef
try.c: 0x563d244c5930: 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: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: i32 = Constant<0>
try.c: 0x563d244c5800: 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: 0x56230975afc0: v4i64 = X86ISD::VTRUNC 0x56230975ae90
try.c: 0x56230975ae90: v16i32 = vselect 0x5623097579a0, 0x5623096e5120, 0x56230975ad60
try.c: 0x5623097579a0: v4i1 = X86ISD::PCMPGTM 0x562309752240, 0x56230974d7c0
try.c: 0x562309752240: v4i64 = X86ISD::VBROADCAST 0x5623096e55e0
try.c: 0x5623096e55e0: i64,ch = load<LD8[%lsr.iv6971]> 0x56230964ba30, 0x5623096f1f80, undef:i64
try.c: 0x5623096f1f80: i64,ch = CopyFromReg 0x56230964ba30, Register:i64 %vreg50
try.c: 0x56230974da20: i64 = Register %vreg50
try.c: 0x5623097004c0: i64 = undef
try.c: 0x56230974d7c0: v4i64,ch = CopyFromReg 0x56230964ba30, Register:v4i64 %vreg13
try.c: 0x562309752a90: v4i64 = Register %vreg13
try.c: 0x5623096e5120: v16i32 = X86ISD::VBROADCAST 0x5623097524a0
try.c: 0x5623097524a0: i32,ch = load<LD4[ConstantPool]> 0x56230964ba30, 0x5623096e7ac0, undef:i64
try.c: 0x5623096e7ac0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562309700e40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5623097004c0: i64 = undef
try.c: 0x56230975ad60: 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: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: i32 = Constant<0>
try.c: 0x56230975ac30: 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: 0x5576936211c0: v4i64 = X86ISD::VTRUNC 0x557693621090
try.c: 0x557693621090: v16i32 = vselect 0x557693601c90, 0x5576935aeec0, 0x557693620f60
try.c: 0x557693601c90: v4i1 = X86ISD::PCMPGTM 0x557693609860, 0x5576936053f0
try.c: 0x557693609860: v4i64 = X86ISD::VBROADCAST 0x5576935b12b0
try.c: 0x5576935b12b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55769351a950, 0x5576935f8250, undef:i64
try.c: 0x5576935f8250: i64,ch = CopyFromReg 0x55769351a950, Register:i64 %vreg50
try.c: 0x557693605650: i64 = Register %vreg50
try.c: 0x5576935ad530: i64 = undef
try.c: 0x5576936053f0: v4i64,ch = CopyFromReg 0x55769351a950, Register:v4i64 %vreg13
try.c: 0x55769360a0b0: v4i64 = Register %vreg13
try.c: 0x5576935aeec0: v16i32 = X86ISD::VBROADCAST 0x557693609ac0
try.c: 0x557693609ac0: i32,ch = load<LD4[ConstantPool]> 0x55769351a950, 0x5576935b0890, undef:i64
try.c: 0x5576935b0890: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5576935a5330: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5576935ad530: i64 = undef
try.c: 0x557693620f60: 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: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: i32 = Constant<0>
try.c: 0x557693620e30: 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: 0x564a268a8b40: v4i64 = X86ISD::VTRUNC 0x564a268a8a10
try.c: 0x564a268a8a10: v16i32 = vselect 0x564a268a3a10, 0x564a26844740, 0x564a268a88e0
try.c: 0x564a268a3a10: v4i1 = X86ISD::PCMPGTM 0x564a268a09e0, 0x564a2689c570
try.c: 0x564a268a09e0: v4i64 = X86ISD::VBROADCAST 0x564a26866440
try.c: 0x564a26866440: i64,ch = load<LD8[%lsr.iv6971]> 0x564a267b1950, 0x564a268973d0, undef:i64
try.c: 0x564a268973d0: i64,ch = CopyFromReg 0x564a267b1950, Register:i64 %vreg50
try.c: 0x564a2689c7d0: i64 = Register %vreg50
try.c: 0x564a26867910: i64 = undef
try.c: 0x564a2689c570: v4i64,ch = CopyFromReg 0x564a267b1950, Register:v4i64 %vreg13
try.c: 0x564a268a1230: v4i64 = Register %vreg13
try.c: 0x564a26844740: v16i32 = X86ISD::VBROADCAST 0x564a268a0c40
try.c: 0x564a268a0c40: i32,ch = load<LD4[ConstantPool]> 0x564a267b1950, 0x564a2686e870, undef:i64
try.c: 0x564a2686e870: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564a26831070: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564a26867910: i64 = undef
try.c: 0x564a268a88e0: 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: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: i32 = Constant<0>
try.c: 0x564a268a87b0: 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: 0x56182cc8dfe0: v4i64 = X86ISD::VTRUNC 0x56182cc8deb0
try.c: 0x56182cc8deb0: v16i32 = vselect 0x56182cc889b0, 0x56182cc0e130, 0x56182cc8dd80
try.c: 0x56182cc889b0: v4i1 = X86ISD::PCMPGTM 0x56182cc737e0, 0x56182cc6f5b0
try.c: 0x56182cc737e0: v4i64 = X86ISD::VBROADCAST 0x56182cc0e5f0
try.c: 0x56182cc0e5f0: i64,ch = load<LD8[%lsr.iv6971]> 0x56182cb6da00, 0x56182cc1dc60, undef:i64
try.c: 0x56182cc1dc60: i64,ch = CopyFromReg 0x56182cb6da00, Register:i64 %vreg50
try.c: 0x56182cc6f810: i64 = Register %vreg50
try.c: 0x56182cc23ef0: i64 = undef
try.c: 0x56182cc6f5b0: v4i64,ch = CopyFromReg 0x56182cb6da00, Register:v4i64 %vreg13
try.c: 0x56182cc74030: v4i64 = Register %vreg13
try.c: 0x56182cc0e130: v16i32 = X86ISD::VBROADCAST 0x56182cc73a40
try.c: 0x56182cc73a40: i32,ch = load<LD4[ConstantPool]> 0x56182cb6da00, 0x56182cc10ad0, undef:i64
try.c: 0x56182cc10ad0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56182cc24870: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56182cc23ef0: i64 = undef
try.c: 0x56182cc8dd80: 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: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: i32 = Constant<0>
try.c: 0x56182cc8dc50: 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: 0x557f48172ad0: v4i64 = X86ISD::VTRUNC 0x557f481729a0
try.c: 0x557f481729a0: v16i32 = vselect 0x557f48160c90, 0x557f481109e0, 0x557f48172870
try.c: 0x557f48160c90: v4i1 = X86ISD::PCMPGTM 0x557f48168860, 0x557f481643f0
try.c: 0x557f48168860: v4i64 = X86ISD::VBROADCAST 0x557f4810c530
try.c: 0x557f4810c530: i64,ch = load<LD8[%lsr.iv6971]> 0x557f48079940, 0x557f4815b7e0, undef:i64
try.c: 0x557f4815b7e0: i64,ch = CopyFromReg 0x557f48079940, Register:i64 %vreg50
try.c: 0x557f48164650: i64 = Register %vreg50
try.c: 0x557f4810f050: i64 = undef
try.c: 0x557f481643f0: v4i64,ch = CopyFromReg 0x557f48079940, Register:v4i64 %vreg13
try.c: 0x557f481690b0: v4i64 = Register %vreg13
try.c: 0x557f481109e0: v16i32 = X86ISD::VBROADCAST 0x557f48168ac0
try.c: 0x557f48168ac0: i32,ch = load<LD4[ConstantPool]> 0x557f48079940, 0x557f4810bb10, undef:i64
try.c: 0x557f4810bb10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557f481520b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557f4810f050: i64 = undef
try.c: 0x557f48172870: 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: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: i32 = Constant<0>
try.c: 0x557f48172740: 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:185:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:199:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:204:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:211: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