Implementation notes: amd64, cel02, crypto_aead/scream12v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: scream12v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9026012948 0 033493 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15378822831 0 047141 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15463413355 0 034429 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16159011098 0 030072 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16789413604 0 032156 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6151349200 0 033357 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8861847468 0 027714 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10175946371 0 026837 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11131726709 0 027661 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11505685638 0 024052 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12131885785 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: 0x55b543dd9200: v4i64 = X86ISD::VTRUNC 0x55b543dd90d0
try.c: 0x55b543dd90d0: v16i32 = vselect 0x55b543dc54e0, 0x55b543d8bbb0, 0x55b543dd8fa0
try.c: 0x55b543dc54e0: v4i1 = X86ISD::PCMPGTM 0x55b543dbe880, 0x55b543dba410
try.c: 0x55b543dbe880: v4i64 = X86ISD::VBROADCAST 0x55b543d62eb0
try.c: 0x55b543d62eb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b543ccf930, 0x55b543da83e0, undef:i64
try.c: 0x55b543da83e0: i64,ch = CopyFromReg 0x55b543ccf930, Register:i64 %vreg50
try.c: 0x55b543dba670: i64 = Register %vreg50
try.c: 0x55b543d8a220: i64 = undef
try.c: 0x55b543dba410: v4i64,ch = CopyFromReg 0x55b543ccf930, Register:v4i64 %vreg13
try.c: 0x55b543dbf0d0: v4i64 = Register %vreg13
try.c: 0x55b543d8bbb0: v16i32 = X86ISD::VBROADCAST 0x55b543dbeae0
try.c: 0x55b543dbeae0: i32,ch = load<LD4[ConstantPool]> 0x55b543ccf930, 0x55b543d62490, undef:i64
try.c: 0x55b543d62490: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b543da95e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b543d8a220: i64 = undef
try.c: 0x55b543dd8fa0: 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: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: i32 = Constant<0>
try.c: 0x55b543dd8e70: 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: 0x55a544360fb0: v4i64 = X86ISD::VTRUNC 0x55a544360e80
try.c: 0x55a544360e80: v16i32 = vselect 0x55a544351fd0, 0x55a5442dba50, 0x55a544360d50
try.c: 0x55a544351fd0: v4i1 = X86ISD::PCMPGTM 0x55a54433d400, 0x55a5443387d0
try.c: 0x55a54433d400: v4i64 = X86ISD::VBROADCAST 0x55a5442dbf10
try.c: 0x55a5442dbf10: i64,ch = load<LD8[%lsr.iv6971]> 0x55a544236a30, 0x55a5442eac80, undef:i64
try.c: 0x55a5442eac80: i64,ch = CopyFromReg 0x55a544236a30, Register:i64 %vreg50
try.c: 0x55a544338a30: i64 = Register %vreg50
try.c: 0x55a5442d3d60: i64 = undef
try.c: 0x55a5443387d0: v4i64,ch = CopyFromReg 0x55a544236a30, Register:v4i64 %vreg13
try.c: 0x55a54433dc50: v4i64 = Register %vreg13
try.c: 0x55a5442dba50: v16i32 = X86ISD::VBROADCAST 0x55a54433d660
try.c: 0x55a54433d660: i32,ch = load<LD4[ConstantPool]> 0x55a544236a30, 0x55a5442de3f0, undef:i64
try.c: 0x55a5442de3f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a5442d46e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a5442d3d60: i64 = undef
try.c: 0x55a544360d50: 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: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: i32 = Constant<0>
try.c: 0x55a544360c20: 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: 0x55a896a79250: v4i64 = X86ISD::VTRUNC 0x55a896a79120
try.c: 0x55a896a79120: v16i32 = vselect 0x55a896a55550, 0x55a8969d7f90, 0x55a896a78ff0
try.c: 0x55a896a55550: v4i1 = X86ISD::PCMPGTM 0x55a896a54540, 0x55a896a52060
try.c: 0x55a896a54540: v4i64 = X86ISD::VBROADCAST 0x55a896a11980
try.c: 0x55a896a11980: i64,ch = load<LD8[%lsr.iv6971]> 0x55a896966950, 0x55a896a43e50, undef:i64
try.c: 0x55a896a43e50: i64,ch = CopyFromReg 0x55a896966950, Register:i64 %vreg50
try.c: 0x55a896a522c0: i64 = Register %vreg50
try.c: 0x55a8969d6600: i64 = undef
try.c: 0x55a896a52060: v4i64,ch = CopyFromReg 0x55a896966950, Register:v4i64 %vreg13
try.c: 0x55a896a54d90: v4i64 = Register %vreg13
try.c: 0x55a8969d7f90: v16i32 = X86ISD::VBROADCAST 0x55a896a547a0
try.c: 0x55a896a547a0: i32,ch = load<LD4[ConstantPool]> 0x55a896966950, 0x55a896a10f60, undef:i64
try.c: 0x55a896a10f60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a8969f7140: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a8969d6600: i64 = undef
try.c: 0x55a896a78ff0: 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: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: i32 = Constant<0>
try.c: 0x55a896a78ec0: 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: 0x562377ebd010: v4i64 = X86ISD::VTRUNC 0x562377ebcee0
try.c: 0x562377ebcee0: v16i32 = vselect 0x562377ea6ee0, 0x562377e46a50, 0x562377ebcdb0
try.c: 0x562377ea6ee0: v4i1 = X86ISD::PCMPGTM 0x562377e9f670, 0x562377e9b200
try.c: 0x562377e9f670: v4i64 = X86ISD::VBROADCAST 0x562377e42a30
try.c: 0x562377e42a30: i64,ch = load<LD8[%lsr.iv6971]> 0x562377db0950, 0x562377e92770, undef:i64
try.c: 0x562377e92770: i64,ch = CopyFromReg 0x562377db0950, Register:i64 %vreg50
try.c: 0x562377e9b460: i64 = Register %vreg50
try.c: 0x562377e43f00: i64 = undef
try.c: 0x562377e9b200: v4i64,ch = CopyFromReg 0x562377db0950, Register:v4i64 %vreg13
try.c: 0x562377e9fec0: v4i64 = Register %vreg13
try.c: 0x562377e46a50: v16i32 = X86ISD::VBROADCAST 0x562377e9f8d0
try.c: 0x562377e9f8d0: i32,ch = load<LD4[ConstantPool]> 0x562377db0950, 0x562377e3f3d0, undef:i64
try.c: 0x562377e3f3d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562377e67480: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562377e43f00: i64 = undef
try.c: 0x562377ebcdb0: 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: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: i32 = Constant<0>
try.c: 0x562377ebcc80: 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: 0x5570fd9d54d0: v4i64 = X86ISD::VTRUNC 0x5570fd9d53a0
try.c: 0x5570fd9d53a0: v16i32 = vselect 0x5570fd9ed7b0, 0x5570fd96da40, 0x5570fd9d5270
try.c: 0x5570fd9ed7b0: v4i1 = X86ISD::PCMPGTM 0x5570fd9cd450, 0x5570fd9ca760
try.c: 0x5570fd9cd450: v4i64 = X86ISD::VBROADCAST 0x5570fd96df00
try.c: 0x5570fd96df00: i64,ch = load<LD8[%lsr.iv6971]> 0x5570fd8c7a30, 0x5570fd9774e0, undef:i64
try.c: 0x5570fd9774e0: i64,ch = CopyFromReg 0x5570fd8c7a30, Register:i64 %vreg50
try.c: 0x5570fd9ca9c0: i64 = Register %vreg50
try.c: 0x5570fd966e10: i64 = undef
try.c: 0x5570fd9ca760: v4i64,ch = CopyFromReg 0x5570fd8c7a30, Register:v4i64 %vreg13
try.c: 0x5570fd9cdca0: v4i64 = Register %vreg13
try.c: 0x5570fd96da40: v16i32 = X86ISD::VBROADCAST 0x5570fd9cd6b0
try.c: 0x5570fd9cd6b0: i32,ch = load<LD4[ConstantPool]> 0x5570fd8c7a30, 0x5570fd9703e0, undef:i64
try.c: 0x5570fd9703e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5570fd967790: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5570fd966e10: i64 = undef
try.c: 0x5570fd9d5270: 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: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: i32 = Constant<0>
try.c: 0x5570fd9d5140: 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: 0x55b5c5a933a0: v4i64 = X86ISD::VTRUNC 0x55b5c5a93270
try.c: 0x55b5c5a93270: v16i32 = vselect 0x55b5c5a8dd70, 0x55b5c5a1e070, 0x55b5c5a93140
try.c: 0x55b5c5a8dd70: v4i1 = X86ISD::PCMPGTM 0x55b5c5a76a00, 0x55b5c5a72590
try.c: 0x55b5c5a76a00: v4i64 = X86ISD::VBROADCAST 0x55b5c5a173c0
try.c: 0x55b5c5a173c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b5c5987950, 0x55b5c5a69700, undef:i64
try.c: 0x55b5c5a69700: i64,ch = CopyFromReg 0x55b5c5987950, Register:i64 %vreg50
try.c: 0x55b5c5a727f0: i64 = Register %vreg50
try.c: 0x55b5c5a18890: i64 = undef
try.c: 0x55b5c5a72590: v4i64,ch = CopyFromReg 0x55b5c5987950, Register:v4i64 %vreg13
try.c: 0x55b5c5a77250: v4i64 = Register %vreg13
try.c: 0x55b5c5a1e070: v16i32 = X86ISD::VBROADCAST 0x55b5c5a76c60
try.c: 0x55b5c5a76c60: i32,ch = load<LD4[ConstantPool]> 0x55b5c5987950, 0x55b5c5a169a0, undef:i64
try.c: 0x55b5c5a169a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b5c5a31440: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b5c5a18890: i64 = undef
try.c: 0x55b5c5a93140: 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: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: i32 = Constant<0>
try.c: 0x55b5c5a93010: 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