Implementation notes: amd64, cel02, crypto_aead/iscream12v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: iscream12v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11516413686 0 032212 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
14528223349 0 047597 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14851010985 0 029968 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15603013575 0 034077 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16437013673 0 034685 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3771867523 1024 031621 1856 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4290226332 1024 026546 1832 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7079563623 1024 022020 1824 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10094083426 1024 023829 1856 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11816503007 1024 021856 1832 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13224464027 1024 024901 1856 896T:refgcc_-march=native_-mtune=native_-O2_-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: 0x558862833460: v4i64 = X86ISD::VTRUNC 0x558862833330
try.c: 0x558862833330: v16i32 = vselect 0x558862824d70, 0x5588627d0740, 0x558862833200
try.c: 0x558862824d70: v4i1 = X86ISD::PCMPGTM 0x55886282c940, 0x5588628284d0
try.c: 0x55886282c940: v4i64 = X86ISD::VBROADCAST 0x5588627d4320
try.c: 0x5588627d4320: i64,ch = load<LD8[%lsr.iv6971]> 0x55886273d950, 0x55886281fc40, undef:i64
try.c: 0x55886281fc40: i64,ch = CopyFromReg 0x55886273d950, Register:i64 %vreg50
try.c: 0x558862828730: i64 = Register %vreg50
try.c: 0x5588627d57f0: i64 = undef
try.c: 0x5588628284d0: v4i64,ch = CopyFromReg 0x55886273d950, Register:v4i64 %vreg13
try.c: 0x55886282d190: v4i64 = Register %vreg13
try.c: 0x5588627d0740: v16i32 = X86ISD::VBROADCAST 0x55886282cba0
try.c: 0x55886282cba0: i32,ch = load<LD4[ConstantPool]> 0x55886273d950, 0x5588627dbd00, undef:i64
try.c: 0x5588627dbd00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558862811590: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5588627d57f0: i64 = undef
try.c: 0x558862833200: 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: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: i32 = Constant<0>
try.c: 0x5588628330d0: 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: 0x563f2d030e30: v4i64 = X86ISD::VTRUNC 0x563f2d030d00
try.c: 0x563f2d030d00: v16i32 = vselect 0x563f2d0134f0, 0x563f2cfaf5e0, 0x563f2d030bd0
try.c: 0x563f2d0134f0: v4i1 = X86ISD::PCMPGTM 0x563f2d00cad0, 0x563f2d00a5f0
try.c: 0x563f2d00cad0: v4i64 = X86ISD::VBROADCAST 0x563f2cfafaa0
try.c: 0x563f2cfafaa0: i64,ch = load<LD8[%lsr.iv6971]> 0x563f2cf06a20, 0x563f2cfa8d20, undef:i64
try.c: 0x563f2cfa8d20: i64,ch = CopyFromReg 0x563f2cf06a20, Register:i64 %vreg50
try.c: 0x563f2d00a850: i64 = Register %vreg50
try.c: 0x563f2cfa4500: i64 = undef
try.c: 0x563f2d00a5f0: v4i64,ch = CopyFromReg 0x563f2cf06a20, Register:v4i64 %vreg13
try.c: 0x563f2d00d320: v4i64 = Register %vreg13
try.c: 0x563f2cfaf5e0: v16i32 = X86ISD::VBROADCAST 0x563f2d00cd30
try.c: 0x563f2d00cd30: i32,ch = load<LD4[ConstantPool]> 0x563f2cf06a20, 0x563f2cfa72f0, undef:i64
try.c: 0x563f2cfa72f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563f2cfa4e80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563f2cfa4500: i64 = undef
try.c: 0x563f2d030bd0: 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: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: i32 = Constant<0>
try.c: 0x563f2d030aa0: 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: 0x55db7b945400: v4i64 = X86ISD::VTRUNC 0x55db7b9452d0
try.c: 0x55db7b9452d0: v16i32 = vselect 0x55db7b931e10, 0x55db7b8d5ff0, 0x55db7b9451a0
try.c: 0x55db7b931e10: v4i1 = X86ISD::PCMPGTM 0x55db7b929a70, 0x55db7b925600
try.c: 0x55db7b929a70: v4i64 = X86ISD::VBROADCAST 0x55db7b8d0570
try.c: 0x55db7b8d0570: i64,ch = load<LD8[%lsr.iv6971]> 0x55db7b83a940, 0x55db7b90f2a0, undef:i64
try.c: 0x55db7b90f2a0: i64,ch = CopyFromReg 0x55db7b83a940, Register:i64 %vreg50
try.c: 0x55db7b925860: i64 = Register %vreg50
try.c: 0x55db7b8d1a40: i64 = undef
try.c: 0x55db7b925600: v4i64,ch = CopyFromReg 0x55db7b83a940, Register:v4i64 %vreg13
try.c: 0x55db7b92a2c0: v4i64 = Register %vreg13
try.c: 0x55db7b8d5ff0: v16i32 = X86ISD::VBROADCAST 0x55db7b929cd0
try.c: 0x55db7b929cd0: i32,ch = load<LD4[ConstantPool]> 0x55db7b83a940, 0x55db7b8cfb50, undef:i64
try.c: 0x55db7b8cfb50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55db7b918130: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55db7b8d1a40: i64 = undef
try.c: 0x55db7b9451a0: 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: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: i32 = Constant<0>
try.c: 0x55db7b945070: 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: 0x5604aa602dd0: v4i64 = X86ISD::VTRUNC 0x5604aa602ca0
try.c: 0x5604aa602ca0: v16i32 = vselect 0x5604aa606470, 0x5604aa5a3f80, 0x5604aa602b70
try.c: 0x5604aa606470: v4i1 = X86ISD::PCMPGTM 0x5604aa5fab70, 0x5604aa5f6700
try.c: 0x5604aa5fab70: v4i64 = X86ISD::VBROADCAST 0x5604aa5a1120
try.c: 0x5604aa5a1120: i64,ch = load<LD8[%lsr.iv6971]> 0x5604aa50b9d0, 0x5604aa5e4760, undef:i64
try.c: 0x5604aa5e4760: i64,ch = CopyFromReg 0x5604aa50b9d0, Register:i64 %vreg50
try.c: 0x5604aa5f6960: i64 = Register %vreg50
try.c: 0x5604aa5a25f0: i64 = undef
try.c: 0x5604aa5f6700: v4i64,ch = CopyFromReg 0x5604aa50b9d0, Register:v4i64 %vreg13
try.c: 0x5604aa5fb3c0: v4i64 = Register %vreg13
try.c: 0x5604aa5a3f80: v16i32 = X86ISD::VBROADCAST 0x5604aa5fadd0
try.c: 0x5604aa5fadd0: i32,ch = load<LD4[ConstantPool]> 0x5604aa50b9d0, 0x5604aa59f4f0, undef:i64
try.c: 0x5604aa59f4f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5604aa5e5960: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5604aa5a25f0: i64 = undef
try.c: 0x5604aa602b70: 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: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: i32 = Constant<0>
try.c: 0x5604aa602a40: 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: 0x55d8e7ea0b60: v4i64 = X86ISD::VTRUNC 0x55d8e7ea0a30
try.c: 0x55d8e7ea0a30: v16i32 = vselect 0x55d8e7e9e550, 0x55d8e7e43470, 0x55d8e7ea0900
try.c: 0x55d8e7e9e550: v4i1 = X86ISD::PCMPGTM 0x55d8e7e8a1d0, 0x55d8e7e85d60
try.c: 0x55d8e7e8a1d0: v4i64 = X86ISD::VBROADCAST 0x55d8e7e43930
try.c: 0x55d8e7e43930: i64,ch = load<LD8[%lsr.iv6971]> 0x55d8e7d83a30, 0x55d8e7e1f080, undef:i64
try.c: 0x55d8e7e1f080: i64,ch = CopyFromReg 0x55d8e7d83a30, Register:i64 %vreg50
try.c: 0x55d8e7e85fc0: i64 = Register %vreg50
try.c: 0x55d8e7e23dd0: i64 = undef
try.c: 0x55d8e7e85d60: v4i64,ch = CopyFromReg 0x55d8e7d83a30, Register:v4i64 %vreg13
try.c: 0x55d8e7e8aa20: v4i64 = Register %vreg13
try.c: 0x55d8e7e43470: v16i32 = X86ISD::VBROADCAST 0x55d8e7e8a430
try.c: 0x55d8e7e8a430: i32,ch = load<LD4[ConstantPool]> 0x55d8e7d83a30, 0x55d8e7e1d650, undef:i64
try.c: 0x55d8e7e1d650: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d8e7e24750: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d8e7e23dd0: i64 = undef
try.c: 0x55d8e7ea0900: 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: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: i32 = Constant<0>
try.c: 0x55d8e7ea07d0: 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: 0x55ecd4f40180: v4i64 = X86ISD::VTRUNC 0x55ecd4f40050
try.c: 0x55ecd4f40050: v16i32 = vselect 0x55ecd4f269c0, 0x55ecd4ec4ff0, 0x55ecd4f3ff20
try.c: 0x55ecd4f269c0: v4i1 = X86ISD::PCMPGTM 0x55ecd4f259b0, 0x55ecd4f21540
try.c: 0x55ecd4f259b0: v4i64 = X86ISD::VBROADCAST 0x55ecd4edfe50
try.c: 0x55ecd4edfe50: i64,ch = load<LD8[%lsr.iv6971]> 0x55ecd4e36940, 0x55ecd4f110f0, undef:i64
try.c: 0x55ecd4f110f0: i64,ch = CopyFromReg 0x55ecd4e36940, Register:i64 %vreg50
try.c: 0x55ecd4f217a0: i64 = Register %vreg50
try.c: 0x55ecd4ee1320: i64 = undef
try.c: 0x55ecd4f21540: v4i64,ch = CopyFromReg 0x55ecd4e36940, Register:v4i64 %vreg13
try.c: 0x55ecd4f26200: v4i64 = Register %vreg13
try.c: 0x55ecd4ec4ff0: v16i32 = X86ISD::VBROADCAST 0x55ecd4f25c10
try.c: 0x55ecd4f25c10: i32,ch = load<LD4[ConstantPool]> 0x55ecd4e36940, 0x55ecd4ecd460, undef:i64
try.c: 0x55ecd4ecd460: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ecd4edac70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ecd4ee1320: i64 = undef
try.c: 0x55ecd4f3ff20: 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: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: i32 = Constant<0>
try.c: 0x55ecd4f3fdf0: 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
iscream.c: iscream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:204:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:208:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:209:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:216:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:217:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:221:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:222:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:229:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: ...

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