Implementation notes: amd64, cel02, crypto_aead/iscream12v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: iscream12v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15211812811 0 033357 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15592610721 0 029696 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16230413353 0 034421 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16745013245 0 031796 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
17178622837 0 047141 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3765927452 1024 031613 1856 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6542925129 1024 025378 1832 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9161963463 1024 021892 1824 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9705843320 1024 023765 1856 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10306682831 1024 021680 1832 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14314463839 1024 024765 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: 0x56064a4161a0: v4i64 = X86ISD::VTRUNC 0x56064a416070
try.c: 0x56064a416070: v16i32 = vselect 0x56064a42e720, 0x56064a3b5790, 0x56064a415f40
try.c: 0x56064a42e720: v4i1 = X86ISD::PCMPGTM 0x56064a410f60, 0x56064a40caf0
try.c: 0x56064a410f60: v4i64 = X86ISD::VBROADCAST 0x56064a3b23f0
try.c: 0x56064a3b23f0: i64,ch = load<LD8[%lsr.iv6971]> 0x56064a321950, 0x56064a404130, undef:i64
try.c: 0x56064a404130: i64,ch = CopyFromReg 0x56064a321950, Register:i64 %vreg50
try.c: 0x56064a40cd50: i64 = Register %vreg50
try.c: 0x56064a3b3e00: i64 = undef
try.c: 0x56064a40caf0: v4i64,ch = CopyFromReg 0x56064a321950, Register:v4i64 %vreg13
try.c: 0x56064a4117b0: v4i64 = Register %vreg13
try.c: 0x56064a3b5790: v16i32 = X86ISD::VBROADCAST 0x56064a4111c0
try.c: 0x56064a4111c0: i32,ch = load<LD4[ConstantPool]> 0x56064a321950, 0x56064a3b19d0, undef:i64
try.c: 0x56064a3b19d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56064a399320: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56064a3b3e00: i64 = undef
try.c: 0x56064a415f40: 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: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: i32 = Constant<0>
try.c: 0x56064a415e10: 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: 0x5603cd30d750: v4i64 = X86ISD::VTRUNC 0x5603cd30d620
try.c: 0x5603cd30d620: v16i32 = vselect 0x5603cd30a130, 0x5603cd28ae10, 0x5603cd30d4f0
try.c: 0x5603cd30a130: v4i1 = X86ISD::PCMPGTM 0x5603cd2f5960, 0x5603cd2f14f0
try.c: 0x5603cd2f5960: v4i64 = X86ISD::VBROADCAST 0x5603cd28b2d0
try.c: 0x5603cd28b2d0: i64,ch = load<LD8[%lsr.iv6971]> 0x5603cd1efa00, 0x5603cd298270, undef:i64
try.c: 0x5603cd298270: i64,ch = CopyFromReg 0x5603cd1efa00, Register:i64 %vreg50
try.c: 0x5603cd2f1750: i64 = Register %vreg50
try.c: 0x5603cd275850: i64 = undef
try.c: 0x5603cd2f14f0: v4i64,ch = CopyFromReg 0x5603cd1efa00, Register:v4i64 %vreg13
try.c: 0x5603cd2f61b0: v4i64 = Register %vreg13
try.c: 0x5603cd28ae10: v16i32 = X86ISD::VBROADCAST 0x5603cd2f5bc0
try.c: 0x5603cd2f5bc0: i32,ch = load<LD4[ConstantPool]> 0x5603cd1efa00, 0x5603cd296840, undef:i64
try.c: 0x5603cd296840: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5603cd2761d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5603cd275850: i64 = undef
try.c: 0x5603cd30d4f0: 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: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: i32 = Constant<0>
try.c: 0x5603cd30d3c0: 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: 0x5632ecf9e9b0: v4i64 = X86ISD::VTRUNC 0x5632ecf9e880
try.c: 0x5632ecf9e880: v16i32 = vselect 0x5632ecf9c790, 0x5632ecf64d20, 0x5632ecf9e750
try.c: 0x5632ecf9c790: v4i1 = X86ISD::PCMPGTM 0x5632ecf99770, 0x5632ecf95300
try.c: 0x5632ecf99770: v4i64 = X86ISD::VBROADCAST 0x5632ecf61ec0
try.c: 0x5632ecf61ec0: i64,ch = load<LD8[%lsr.iv6971]> 0x5632eceaa950, 0x5632ecf85170, undef:i64
try.c: 0x5632ecf85170: i64,ch = CopyFromReg 0x5632eceaa950, Register:i64 %vreg50
try.c: 0x5632ecf95560: i64 = Register %vreg50
try.c: 0x5632ecf63390: i64 = undef
try.c: 0x5632ecf95300: v4i64,ch = CopyFromReg 0x5632eceaa950, Register:v4i64 %vreg13
try.c: 0x5632ecf99fc0: v4i64 = Register %vreg13
try.c: 0x5632ecf64d20: v16i32 = X86ISD::VBROADCAST 0x5632ecf999d0
try.c: 0x5632ecf999d0: i32,ch = load<LD4[ConstantPool]> 0x5632eceaa950, 0x5632ecf3acc0, undef:i64
try.c: 0x5632ecf3acc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5632ecf53e60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5632ecf63390: i64 = undef
try.c: 0x5632ecf9e750: 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: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: i32 = Constant<0>
try.c: 0x5632ecf9e620: 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: 0x562844ce37e0: v4i64 = X86ISD::VTRUNC 0x562844ce36b0
try.c: 0x562844ce36b0: v16i32 = vselect 0x562844cceea0, 0x562844c86f20, 0x562844ce3580
try.c: 0x562844cceea0: v4i1 = X86ISD::PCMPGTM 0x562844ccbe80, 0x562844cc7a10
try.c: 0x562844ccbe80: v4i64 = X86ISD::VBROADCAST 0x562844c6cae0
try.c: 0x562844c6cae0: i64,ch = load<LD8[%lsr.iv6971]> 0x562844bdc950, 0x562844cbf100, undef:i64
try.c: 0x562844cbf100: i64,ch = CopyFromReg 0x562844bdc950, Register:i64 %vreg50
try.c: 0x562844cc7c70: i64 = Register %vreg50
try.c: 0x562844c85590: i64 = undef
try.c: 0x562844cc7a10: v4i64,ch = CopyFromReg 0x562844bdc950, Register:v4i64 %vreg13
try.c: 0x562844ccc6d0: v4i64 = Register %vreg13
try.c: 0x562844c86f20: v16i32 = X86ISD::VBROADCAST 0x562844ccc0e0
try.c: 0x562844ccc0e0: i32,ch = load<LD4[ConstantPool]> 0x562844bdc950, 0x562844c6c0c0, undef:i64
try.c: 0x562844c6c0c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562844c84010: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562844c85590: i64 = undef
try.c: 0x562844ce3580: 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: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: i32 = Constant<0>
try.c: 0x562844ce3450: 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: 0x562734b49040: v4i64 = X86ISD::VTRUNC 0x562734b48f10
try.c: 0x562734b48f10: v16i32 = vselect 0x562734b39740, 0x562734ad0df0, 0x562734b48de0
try.c: 0x562734b39740: v4i1 = X86ISD::PCMPGTM 0x562734b24570, 0x562734b20340
try.c: 0x562734b24570: v4i64 = X86ISD::VBROADCAST 0x562734ad12b0
try.c: 0x562734ad12b0: i64,ch = load<LD8[%lsr.iv6971]> 0x562734a1ea40, 0x562734ac0e90, undef:i64
try.c: 0x562734ac0e90: i64,ch = CopyFromReg 0x562734a1ea40, Register:i64 %vreg50
try.c: 0x562734b205a0: i64 = Register %vreg50
try.c: 0x562734ab9fb0: i64 = undef
try.c: 0x562734b20340: v4i64,ch = CopyFromReg 0x562734a1ea40, Register:v4i64 %vreg13
try.c: 0x562734b24dc0: v4i64 = Register %vreg13
try.c: 0x562734ad0df0: v16i32 = X86ISD::VBROADCAST 0x562734b247d0
try.c: 0x562734b247d0: i32,ch = load<LD4[ConstantPool]> 0x562734a1ea40, 0x562734ad3790, undef:i64
try.c: 0x562734ad3790: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562734aba930: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562734ab9fb0: i64 = undef
try.c: 0x562734b48de0: 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: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: i32 = Constant<0>
try.c: 0x562734b48cb0: 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: 0x558ae7701150: v4i64 = X86ISD::VTRUNC 0x558ae7701020
try.c: 0x558ae7701020: v16i32 = vselect 0x558ae76eeb70, 0x558ae7688630, 0x558ae7700ef0
try.c: 0x558ae76eeb70: v4i1 = X86ISD::PCMPGTM 0x558ae76e67d0, 0x558ae76e2360
try.c: 0x558ae76e67d0: v4i64 = X86ISD::VBROADCAST 0x558ae7695ab0
try.c: 0x558ae7695ab0: i64,ch = load<LD8[%lsr.iv6971]> 0x558ae75f7970, 0x558ae76d1ce0, undef:i64
try.c: 0x558ae76d1ce0: i64,ch = CopyFromReg 0x558ae75f7970, Register:i64 %vreg50
try.c: 0x558ae76e25c0: i64 = Register %vreg50
try.c: 0x558ae7686ca0: i64 = undef
try.c: 0x558ae76e2360: v4i64,ch = CopyFromReg 0x558ae75f7970, Register:v4i64 %vreg13
try.c: 0x558ae76e7020: v4i64 = Register %vreg13
try.c: 0x558ae7688630: v16i32 = X86ISD::VBROADCAST 0x558ae76e6a30
try.c: 0x558ae76e6a30: i32,ch = load<LD4[ConstantPool]> 0x558ae75f7970, 0x558ae7695090, undef:i64
try.c: 0x558ae7695090: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558ae76cb230: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558ae7686ca0: i64 = undef
try.c: 0x558ae7700ef0: 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: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: i32 = Constant<0>
try.c: 0x558ae7700dc0: 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:184:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:190:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:197:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:198:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:202:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^
iscream.c: iscream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
iscream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^
iscream.c: iscream.c:210: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