Implementation notes: amd64, cel02, crypto_aead/scream10v3

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: scream10v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7973213659 0 034733 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7998811144 0 030120 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12298622831 0 047133 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14221613672 0 032220 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
14733213113 0 033653 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6582527534 0 027778 800 864T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6809429364 0 033517 824 968T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8937986532 0 026997 824 904T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9072546933 0 027885 824 904T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9926685814 0 024228 792 864T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10586986074 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: 0x555951cd4ff0: v4i64 = X86ISD::VTRUNC 0x555951cd4ec0
try.c: 0x555951cd4ec0: v16i32 = vselect 0x555951ce6c30, 0x555951c7ae20, 0x555951cd4d90
try.c: 0x555951ce6c30: v4i1 = X86ISD::PCMPGTM 0x555951ccd8b0, 0x555951cc9440
try.c: 0x555951ccd8b0: v4i64 = X86ISD::VBROADCAST 0x555951c750a0
try.c: 0x555951c750a0: i64,ch = load<LD8[%lsr.iv6971]> 0x555951bde950, 0x555951c3b0e0, undef:i64
try.c: 0x555951c3b0e0: i64,ch = CopyFromReg 0x555951bde950, Register:i64 %vreg50
try.c: 0x555951cc96a0: i64 = Register %vreg50
try.c: 0x555951c76570: i64 = undef
try.c: 0x555951cc9440: v4i64,ch = CopyFromReg 0x555951bde950, Register:v4i64 %vreg13
try.c: 0x555951cce100: v4i64 = Register %vreg13
try.c: 0x555951c7ae20: v16i32 = X86ISD::VBROADCAST 0x555951ccdb10
try.c: 0x555951ccdb10: i32,ch = load<LD4[ConstantPool]> 0x555951bde950, 0x555951c94cf0, undef:i64
try.c: 0x555951c94cf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555951cb7370: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555951c76570: i64 = undef
try.c: 0x555951cd4d90: 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: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: i32 = Constant<0>
try.c: 0x555951cd4c60: 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: 0x55e6aebabd70: v4i64 = X86ISD::VTRUNC 0x55e6aebabc40
try.c: 0x55e6aebabc40: v16i32 = vselect 0x55e6aeb9da30, 0x55e6aeb19f40, 0x55e6aebabb10
try.c: 0x55e6aeb9da30: v4i1 = X86ISD::PCMPGTM 0x55e6aeb85e90, 0x55e6aeb81a20
try.c: 0x55e6aeb85e90: v4i64 = X86ISD::VBROADCAST 0x55e6aeb1a400
try.c: 0x55e6aeb1a400: i64,ch = load<LD8[%lsr.iv6971]> 0x55e6aea7fa30, 0x55e6aeb419e0, undef:i64
try.c: 0x55e6aeb419e0: i64,ch = CopyFromReg 0x55e6aea7fa30, Register:i64 %vreg50
try.c: 0x55e6aeb81c80: i64 = Register %vreg50
try.c: 0x55e6aeb14b40: i64 = undef
try.c: 0x55e6aeb81a20: v4i64,ch = CopyFromReg 0x55e6aea7fa30, Register:v4i64 %vreg13
try.c: 0x55e6aeb866e0: v4i64 = Register %vreg13
try.c: 0x55e6aeb19f40: v16i32 = X86ISD::VBROADCAST 0x55e6aeb860f0
try.c: 0x55e6aeb860f0: i32,ch = load<LD4[ConstantPool]> 0x55e6aea7fa30, 0x55e6aeb1d900, undef:i64
try.c: 0x55e6aeb1d900: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e6aeb154c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e6aeb14b40: i64 = undef
try.c: 0x55e6aebabb10: 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: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: i32 = Constant<0>
try.c: 0x55e6aebab9e0: 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: 0x559ac1145560: v4i64 = X86ISD::VTRUNC 0x559ac1145430
try.c: 0x559ac1145430: v16i32 = vselect 0x559ac11499b0, 0x559ac10ed9b0, 0x559ac1145300
try.c: 0x559ac11499b0: v4i1 = X86ISD::PCMPGTM 0x559ac11408b0, 0x559ac113c440
try.c: 0x559ac11408b0: v4i64 = X86ISD::VBROADCAST 0x559ac10e8ee0
try.c: 0x559ac10e8ee0: i64,ch = load<LD8[%lsr.iv6971]> 0x559ac1051930, 0x559ac11267a0, undef:i64
try.c: 0x559ac11267a0: i64,ch = CopyFromReg 0x559ac1051930, Register:i64 %vreg50
try.c: 0x559ac113c6a0: i64 = Register %vreg50
try.c: 0x559ac10ec020: i64 = undef
try.c: 0x559ac113c440: v4i64,ch = CopyFromReg 0x559ac1051930, Register:v4i64 %vreg13
try.c: 0x559ac1141100: v4i64 = Register %vreg13
try.c: 0x559ac10ed9b0: v16i32 = X86ISD::VBROADCAST 0x559ac1140b10
try.c: 0x559ac1140b10: i32,ch = load<LD4[ConstantPool]> 0x559ac1051930, 0x559ac10e84c0, undef:i64
try.c: 0x559ac10e84c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559ac1130b40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559ac10ec020: i64 = undef
try.c: 0x559ac1145300: 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: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: i32 = Constant<0>
try.c: 0x559ac11451d0: 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: 0x558fe385d3e0: v4i64 = X86ISD::VTRUNC 0x558fe385d2b0
try.c: 0x558fe385d2b0: v16i32 = vselect 0x558fe3845a90, 0x558fe37ed930, 0x558fe385d180
try.c: 0x558fe3845a90: v4i1 = X86ISD::PCMPGTM 0x558fe3843a70, 0x558fe383f600
try.c: 0x558fe3843a70: v4i64 = X86ISD::VBROADCAST 0x558fe37eaad0
try.c: 0x558fe37eaad0: i64,ch = load<LD8[%lsr.iv6971]> 0x558fe37549a0, 0x558fe382ab20, undef:i64
try.c: 0x558fe382ab20: i64,ch = CopyFromReg 0x558fe37549a0, Register:i64 %vreg50
try.c: 0x558fe383f860: i64 = Register %vreg50
try.c: 0x558fe37ebfa0: i64 = undef
try.c: 0x558fe383f600: v4i64,ch = CopyFromReg 0x558fe37549a0, Register:v4i64 %vreg13
try.c: 0x558fe38442c0: v4i64 = Register %vreg13
try.c: 0x558fe37ed930: v16i32 = X86ISD::VBROADCAST 0x558fe3843cd0
try.c: 0x558fe3843cd0: i32,ch = load<LD4[ConstantPool]> 0x558fe37549a0, 0x558fe37ea0b0, undef:i64
try.c: 0x558fe37ea0b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558fe3832490: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558fe37ebfa0: i64 = undef
try.c: 0x558fe385d180: 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: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: i32 = Constant<0>
try.c: 0x558fe385d050: 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: 0x55c351fe8070: v4i64 = X86ISD::VTRUNC 0x55c351fe7f40
try.c: 0x55c351fe7f40: v16i32 = vselect 0x55c351fe2a40, 0x55c351f6fd40, 0x55c351fe7e10
try.c: 0x55c351fe2a40: v4i1 = X86ISD::PCMPGTM 0x55c351fdbe70, 0x55c351fd73f0
try.c: 0x55c351fdbe70: v4i64 = X86ISD::VBROADCAST 0x55c351f70200
try.c: 0x55c351f70200: i64,ch = load<LD8[%lsr.iv6971]> 0x55c351ed5a30, 0x55c351f73ce0, undef:i64
try.c: 0x55c351f73ce0: i64,ch = CopyFromReg 0x55c351ed5a30, Register:i64 %vreg50
try.c: 0x55c351fd7650: i64 = Register %vreg50
try.c: 0x55c351f780d0: i64 = undef
try.c: 0x55c351fd73f0: v4i64,ch = CopyFromReg 0x55c351ed5a30, Register:v4i64 %vreg13
try.c: 0x55c351fdc6c0: v4i64 = Register %vreg13
try.c: 0x55c351f6fd40: v16i32 = X86ISD::VBROADCAST 0x55c351fdc0d0
try.c: 0x55c351fdc0d0: i32,ch = load<LD4[ConstantPool]> 0x55c351ed5a30, 0x55c351f88480, undef:i64
try.c: 0x55c351f88480: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c351f78a50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c351f780d0: i64 = undef
try.c: 0x55c351fe7e10: 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: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: i32 = Constant<0>
try.c: 0x55c351fe7ce0: 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: 0x55824d21ee80: v4i64 = X86ISD::VTRUNC 0x55824d21ed50
try.c: 0x55824d21ed50: v16i32 = vselect 0x55824d22f360, 0x55824d1b9600, 0x55824d21ec20
try.c: 0x55824d22f360: v4i1 = X86ISD::PCMPGTM 0x55824d217ff0, 0x55824d213b80
try.c: 0x55824d217ff0: v4i64 = X86ISD::VBROADCAST 0x55824d1bbbe0
try.c: 0x55824d1bbbe0: i64,ch = load<LD8[%lsr.iv6971]> 0x55824d128950, 0x55824d2034e0, undef:i64
try.c: 0x55824d2034e0: i64,ch = CopyFromReg 0x55824d128950, Register:i64 %vreg50
try.c: 0x55824d213de0: i64 = Register %vreg50
try.c: 0x55824d1b7c70: i64 = undef
try.c: 0x55824d213b80: v4i64,ch = CopyFromReg 0x55824d128950, Register:v4i64 %vreg13
try.c: 0x55824d218840: v4i64 = Register %vreg13
try.c: 0x55824d1b9600: v16i32 = X86ISD::VBROADCAST 0x55824d218250
try.c: 0x55824d218250: i32,ch = load<LD4[ConstantPool]> 0x55824d128950, 0x55824d1bb1c0, undef:i64
try.c: 0x55824d1bb1c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55824d1c0f80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55824d1b7c70: i64 = undef
try.c: 0x55824d21ec20: 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: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: i32 = Constant<0>
try.c: 0x55824d21eaf0: 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