Implementation notes: amd64, cel02, crypto_aead/iscream14v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: iscream14v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17669423349 0 047597 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17991813657 0 034669 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18153213686 0 032212 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
18295213575 0 034077 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20409410985 0 029968 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4302747523 1024 031621 1856 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7801726332 1024 026546 1832 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10386943623 1024 022020 1824 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11430023426 1024 023829 1856 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13409563007 1024 021856 1832 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14609924052 1024 024933 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: 0x55ff14e3d640: v4i64 = X86ISD::VTRUNC 0x55ff14e3d510
try.c: 0x55ff14e3d510: v16i32 = vselect 0x55ff14e36410, 0x55ff14dbcc70, 0x55ff14e3d3e0
try.c: 0x55ff14e36410: v4i1 = X86ISD::PCMPGTM 0x55ff14e1e090, 0x55ff14e19c20
try.c: 0x55ff14e1e090: v4i64 = X86ISD::VBROADCAST 0x55ff14dc0a90
try.c: 0x55ff14dc0a90: i64,ch = load<LD8[%lsr.iv6971]> 0x55ff14d2e950, 0x55ff14e11500, undef:i64
try.c: 0x55ff14e11500: i64,ch = CopyFromReg 0x55ff14d2e950, Register:i64 %vreg50
try.c: 0x55ff14e19e80: i64 = Register %vreg50
try.c: 0x55ff14dc1f60: i64 = undef
try.c: 0x55ff14e19c20: v4i64,ch = CopyFromReg 0x55ff14d2e950, Register:v4i64 %vreg13
try.c: 0x55ff14e1e8e0: v4i64 = Register %vreg13
try.c: 0x55ff14dbcc70: v16i32 = X86ISD::VBROADCAST 0x55ff14e1e2f0
try.c: 0x55ff14e1e2f0: i32,ch = load<LD4[ConstantPool]> 0x55ff14d2e950, 0x55ff14dc5bf0, undef:i64
try.c: 0x55ff14dc5bf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ff14e03f00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ff14dc1f60: i64 = undef
try.c: 0x55ff14e3d3e0: 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: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: i32 = Constant<0>
try.c: 0x55ff14e3d2b0: 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: 0x55e4aa83f420: v4i64 = X86ISD::VTRUNC 0x55e4aa83f2f0
try.c: 0x55e4aa83f2f0: v16i32 = vselect 0x55e4aa84b960, 0x55e4aa7cbf80, 0x55e4aa83f1c0
try.c: 0x55e4aa84b960: v4i1 = X86ISD::PCMPGTM 0x55e4aa8375e0, 0x55e4aa833170
try.c: 0x55e4aa8375e0: v4i64 = X86ISD::VBROADCAST 0x55e4aa7cc440
try.c: 0x55e4aa7cc440: i64,ch = load<LD8[%lsr.iv6971]> 0x55e4aa730a40, 0x55e4aa7e43e0, undef:i64
try.c: 0x55e4aa7e43e0: i64,ch = CopyFromReg 0x55e4aa730a40, Register:i64 %vreg50
try.c: 0x55e4aa8333d0: i64 = Register %vreg50
try.c: 0x55e4aa7d1070: i64 = undef
try.c: 0x55e4aa833170: v4i64,ch = CopyFromReg 0x55e4aa730a40, Register:v4i64 %vreg13
try.c: 0x55e4aa837e30: v4i64 = Register %vreg13
try.c: 0x55e4aa7cbf80: v16i32 = X86ISD::VBROADCAST 0x55e4aa837840
try.c: 0x55e4aa837840: i32,ch = load<LD4[ConstantPool]> 0x55e4aa730a40, 0x55e4aa7d7350, undef:i64
try.c: 0x55e4aa7d7350: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e4aa7d19f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e4aa7d1070: i64 = undef
try.c: 0x55e4aa83f1c0: 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: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: i32 = Constant<0>
try.c: 0x55e4aa83f090: 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: 0x55e4d56232a0: v4i64 = X86ISD::VTRUNC 0x55e4d5623170
try.c: 0x55e4d5623170: v16i32 = vselect 0x55e4d55c8f20, 0x55e4d55d8a20, 0x55e4d5623040
try.c: 0x55e4d55c8f20: v4i1 = X86ISD::PCMPGTM 0x55e4d560b940, 0x55e4d56074d0
try.c: 0x55e4d560b940: v4i64 = X86ISD::VBROADCAST 0x55e4d55b4b40
try.c: 0x55e4d55b4b40: i64,ch = load<LD8[%lsr.iv6971]> 0x55e4d551c9d0, 0x55e4d5602330, undef:i64
try.c: 0x55e4d5602330: i64,ch = CopyFromReg 0x55e4d551c9d0, Register:i64 %vreg50
try.c: 0x55e4d5607730: i64 = Register %vreg50
try.c: 0x55e4d55b6010: i64 = undef
try.c: 0x55e4d56074d0: v4i64,ch = CopyFromReg 0x55e4d551c9d0, Register:v4i64 %vreg13
try.c: 0x55e4d560c190: v4i64 = Register %vreg13
try.c: 0x55e4d55d8a20: v16i32 = X86ISD::VBROADCAST 0x55e4d560bba0
try.c: 0x55e4d560bba0: i32,ch = load<LD4[ConstantPool]> 0x55e4d551c9d0, 0x55e4d55a7960, undef:i64
try.c: 0x55e4d55a7960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e4d55d2190: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e4d55b6010: i64 = undef
try.c: 0x55e4d5623040: 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: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: i32 = Constant<0>
try.c: 0x55e4d5622f10: 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: 0x55f22e816b60: v4i64 = X86ISD::VTRUNC 0x55f22e816a30
try.c: 0x55f22e816a30: v16i32 = vselect 0x55f22e813140, 0x55f22e7b6850, 0x55f22e816900
try.c: 0x55f22e813140: v4i1 = X86ISD::PCMPGTM 0x55f22e80f910, 0x55f22e80b4a0
try.c: 0x55f22e80f910: v4i64 = X86ISD::VBROADCAST 0x55f22e7b0450
try.c: 0x55f22e7b0450: i64,ch = load<LD8[%lsr.iv6971]> 0x55f22e720950, 0x55f22e7fac10, undef:i64
try.c: 0x55f22e7fac10: i64,ch = CopyFromReg 0x55f22e720950, Register:i64 %vreg50
try.c: 0x55f22e80b700: i64 = Register %vreg50
try.c: 0x55f22e7b1920: i64 = undef
try.c: 0x55f22e80b4a0: v4i64,ch = CopyFromReg 0x55f22e720950, Register:v4i64 %vreg13
try.c: 0x55f22e810160: v4i64 = Register %vreg13
try.c: 0x55f22e7b6850: v16i32 = X86ISD::VBROADCAST 0x55f22e80fb70
try.c: 0x55f22e80fb70: i32,ch = load<LD4[ConstantPool]> 0x55f22e720950, 0x55f22e7ba4e0, undef:i64
try.c: 0x55f22e7ba4e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f22e7f9310: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f22e7b1920: i64 = undef
try.c: 0x55f22e816900: 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: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: i32 = Constant<0>
try.c: 0x55f22e8167d0: 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: 0x55ed8808f3d0: v4i64 = X86ISD::VTRUNC 0x55ed8808f2a0
try.c: 0x55ed8808f2a0: v16i32 = vselect 0x55ed88081250, 0x55ed88004e80, 0x55ed8808f170
try.c: 0x55ed88081250: v4i1 = X86ISD::PCMPGTM 0x55ed88069ee0, 0x55ed88065a70
try.c: 0x55ed88069ee0: v4i64 = X86ISD::VBROADCAST 0x55ed88005340
try.c: 0x55ed88005340: i64,ch = load<LD8[%lsr.iv6971]> 0x55ed87f63a30, 0x55ed87ffe600, undef:i64
try.c: 0x55ed87ffe600: i64,ch = CopyFromReg 0x55ed87f63a30, Register:i64 %vreg50
try.c: 0x55ed88065cd0: i64 = Register %vreg50
try.c: 0x55ed88014660: i64 = undef
try.c: 0x55ed88065a70: v4i64,ch = CopyFromReg 0x55ed87f63a30, Register:v4i64 %vreg13
try.c: 0x55ed8806a730: v4i64 = Register %vreg13
try.c: 0x55ed88004e80: v16i32 = X86ISD::VBROADCAST 0x55ed8806a140
try.c: 0x55ed8806a140: i32,ch = load<LD4[ConstantPool]> 0x55ed87f63a30, 0x55ed87ffcbd0, undef:i64
try.c: 0x55ed87ffcbd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ed88014fe0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ed88014660: i64 = undef
try.c: 0x55ed8808f170: 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: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: i32 = Constant<0>
try.c: 0x55ed8808f040: 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: 0x55688b428470: v4i64 = X86ISD::VTRUNC 0x55688b428340
try.c: 0x55688b428340: v16i32 = vselect 0x55688b422e40, 0x55688b3c8a70, 0x55688b428210
try.c: 0x55688b422e40: v4i1 = X86ISD::PCMPGTM 0x55688b421e30, 0x55688b41d9c0
try.c: 0x55688b421e30: v4i64 = X86ISD::VBROADCAST 0x55688b3c1a60
try.c: 0x55688b3c1a60: i64,ch = load<LD8[%lsr.iv6971]> 0x55688b332950, 0x55688b4145b0, undef:i64
try.c: 0x55688b4145b0: i64,ch = CopyFromReg 0x55688b332950, Register:i64 %vreg50
try.c: 0x55688b41dc20: i64 = Register %vreg50
try.c: 0x55688b3c2f30: i64 = undef
try.c: 0x55688b41d9c0: v4i64,ch = CopyFromReg 0x55688b332950, Register:v4i64 %vreg13
try.c: 0x55688b422680: v4i64 = Register %vreg13
try.c: 0x55688b3c8a70: v16i32 = X86ISD::VBROADCAST 0x55688b422090
try.c: 0x55688b422090: i32,ch = load<LD4[ConstantPool]> 0x55688b332950, 0x55688b3c1040, undef:i64
try.c: 0x55688b3c1040: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55688b404f50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55688b3c2f30: i64 = undef
try.c: 0x55688b428210: 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: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: i32 = Constant<0>
try.c: 0x55688b4280e0: 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