Implementation notes: amd64, cel02, crypto_aead/iscream14v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: iscream14v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10784010721 0 029696 800 896T:ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11246813337 0 034405 824 896T:ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18448612811 0 033357 824 896T:ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
19697422837 0 047141 824 960T:ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
19716813245 0 031796 792 856T:sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6797307452 1024 031613 1856 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7409665129 1024 025378 1832 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10747743463 1024 021892 1824 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11299463320 1024 023765 1856 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12635782831 1024 021680 1832 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14986283864 1024 024797 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: 0x55b475cfbc70: v4i64 = X86ISD::VTRUNC 0x55b475cfbb40
try.c: 0x55b475cfbb40: v16i32 = vselect 0x55b475cf8650, 0x55b475caf250, 0x55b475cfba10
try.c: 0x55b475cf8650: v4i1 = X86ISD::PCMPGTM 0x55b475cf3ac0, 0x55b475cef650
try.c: 0x55b475cf3ac0: v4i64 = X86ISD::VBROADCAST 0x55b475c9c380
try.c: 0x55b475c9c380: i64,ch = load<LD8[%lsr.iv6971]> 0x55b475c04950, 0x55b475cdd5d0, undef:i64
try.c: 0x55b475cdd5d0: i64,ch = CopyFromReg 0x55b475c04950, Register:i64 %vreg50
try.c: 0x55b475cef8b0: i64 = Register %vreg50
try.c: 0x55b475cad8c0: i64 = undef
try.c: 0x55b475cef650: v4i64,ch = CopyFromReg 0x55b475c04950, Register:v4i64 %vreg13
try.c: 0x55b475cf4310: v4i64 = Register %vreg13
try.c: 0x55b475caf250: v16i32 = X86ISD::VBROADCAST 0x55b475cf3d20
try.c: 0x55b475cf3d20: i32,ch = load<LD4[ConstantPool]> 0x55b475c04950, 0x55b475c9b960, undef:i64
try.c: 0x55b475c9b960: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b475cde7d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b475cad8c0: i64 = undef
try.c: 0x55b475cfba10: 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: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: i32 = Constant<0>
try.c: 0x55b475cfb8e0: 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: 0x55a22e714990: v4i64 = X86ISD::VTRUNC 0x55a22e714860
try.c: 0x55a22e714860: v16i32 = vselect 0x55a22e70f640, 0x55a22e69dd00, 0x55a22e714730
try.c: 0x55a22e70f640: v4i1 = X86ISD::PCMPGTM 0x55a22e6f10a0, 0x55a22e6ec620
try.c: 0x55a22e6f10a0: v4i64 = X86ISD::VBROADCAST 0x55a22e69e1c0
try.c: 0x55a22e69e1c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a22e5eaa30, 0x55a22e68d560, undef:i64
try.c: 0x55a22e68d560: i64,ch = CopyFromReg 0x55a22e5eaa30, Register:i64 %vreg50
try.c: 0x55a22e6ec880: i64 = Register %vreg50
try.c: 0x55a22e685470: i64 = undef
try.c: 0x55a22e6ec620: v4i64,ch = CopyFromReg 0x55a22e5eaa30, Register:v4i64 %vreg13
try.c: 0x55a22e6f18f0: v4i64 = Register %vreg13
try.c: 0x55a22e69dd00: v16i32 = X86ISD::VBROADCAST 0x55a22e6f1300
try.c: 0x55a22e6f1300: i32,ch = load<LD4[ConstantPool]> 0x55a22e5eaa30, 0x55a22e68bb30, undef:i64
try.c: 0x55a22e68bb30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a22e685df0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a22e685470: i64 = undef
try.c: 0x55a22e714730: 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: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: i32 = Constant<0>
try.c: 0x55a22e714600: 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: 0x5578d27e02b0: v4i64 = X86ISD::VTRUNC 0x5578d27e0180
try.c: 0x5578d27e0180: v16i32 = vselect 0x5578d27b9bb0, 0x5578d277a8a0, 0x5578d27e0050
try.c: 0x5578d27b9bb0: v4i1 = X86ISD::PCMPGTM 0x5578d27c1780, 0x5578d27bd310
try.c: 0x5578d27c1780: v4i64 = X86ISD::VBROADCAST 0x5578d276fc10
try.c: 0x5578d276fc10: i64,ch = load<LD8[%lsr.iv6971]> 0x5578d26d2950, 0x5578d27b4e00, undef:i64
try.c: 0x5578d27b4e00: i64,ch = CopyFromReg 0x5578d26d2950, Register:i64 %vreg50
try.c: 0x5578d27bd570: i64 = Register %vreg50
try.c: 0x5578d27710e0: i64 = undef
try.c: 0x5578d27bd310: v4i64,ch = CopyFromReg 0x5578d26d2950, Register:v4i64 %vreg13
try.c: 0x5578d27c1fd0: v4i64 = Register %vreg13
try.c: 0x5578d277a8a0: v16i32 = X86ISD::VBROADCAST 0x5578d27c19e0
try.c: 0x5578d27c19e0: i32,ch = load<LD4[ConstantPool]> 0x5578d26d2950, 0x5578d276f1f0, undef:i64
try.c: 0x5578d276f1f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5578d2786b10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5578d27710e0: i64 = undef
try.c: 0x5578d27e0050: 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: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: i32 = Constant<0>
try.c: 0x5578d27dff20: 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: 0x55c4e146fbd0: v4i64 = X86ISD::VTRUNC 0x55c4e146faa0
try.c: 0x55c4e146faa0: v16i32 = vselect 0x55c4e147fd80, 0x55c4e140fdc0, 0x55c4e146f970
try.c: 0x55c4e147fd80: v4i1 = X86ISD::PCMPGTM 0x55c4e1468a10, 0x55c4e14645a0
try.c: 0x55c4e1468a10: v4i64 = X86ISD::VBROADCAST 0x55c4e1423340
try.c: 0x55c4e1423340: i64,ch = load<LD8[%lsr.iv6971]> 0x55c4e1379960, 0x55c4e1452980, undef:i64
try.c: 0x55c4e1452980: i64,ch = CopyFromReg 0x55c4e1379960, Register:i64 %vreg50
try.c: 0x55c4e1464800: i64 = Register %vreg50
try.c: 0x55c4e1424810: i64 = undef
try.c: 0x55c4e14645a0: v4i64,ch = CopyFromReg 0x55c4e1379960, Register:v4i64 %vreg13
try.c: 0x55c4e1469260: v4i64 = Register %vreg13
try.c: 0x55c4e140fdc0: v16i32 = X86ISD::VBROADCAST 0x55c4e1468c70
try.c: 0x55c4e1468c70: i32,ch = load<LD4[ConstantPool]> 0x55c4e1379960, 0x55c4e1422920, undef:i64
try.c: 0x55c4e1422920: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c4e14150e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c4e1424810: i64 = undef
try.c: 0x55c4e146f970: 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: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: i32 = Constant<0>
try.c: 0x55c4e146f840: 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: 0x55a343fe22a0: v4i64 = X86ISD::VTRUNC 0x55a343fe2170
try.c: 0x55a343fe2170: v16i32 = vselect 0x55a343fd29a0, 0x55a343f52010, 0x55a343fe2040
try.c: 0x55a343fd29a0: v4i1 = X86ISD::PCMPGTM 0x55a343fbd7d0, 0x55a343fb95a0
try.c: 0x55a343fbd7d0: v4i64 = X86ISD::VBROADCAST 0x55a343f524d0
try.c: 0x55a343f524d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a343eb7a30, 0x55a343f6c070, undef:i64
try.c: 0x55a343f6c070: i64,ch = CopyFromReg 0x55a343eb7a30, Register:i64 %vreg50
try.c: 0x55a343fb9800: i64 = Register %vreg50
try.c: 0x55a343f67c00: i64 = undef
try.c: 0x55a343fb95a0: v4i64,ch = CopyFromReg 0x55a343eb7a30, Register:v4i64 %vreg13
try.c: 0x55a343fbe020: v4i64 = Register %vreg13
try.c: 0x55a343f52010: v16i32 = X86ISD::VBROADCAST 0x55a343fbda30
try.c: 0x55a343fbda30: i32,ch = load<LD4[ConstantPool]> 0x55a343eb7a30, 0x55a343f6a640, undef:i64
try.c: 0x55a343f6a640: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a343f68580: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a343f67c00: i64 = undef
try.c: 0x55a343fe2040: 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: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: i32 = Constant<0>
try.c: 0x55a343fe1f10: 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: 0x55ebd7d887c0: v4i64 = X86ISD::VTRUNC 0x55ebd7d88690
try.c: 0x55ebd7d88690: v16i32 = vselect 0x55ebd7d8c3a0, 0x55ebd7d22da0, 0x55ebd7d88560
try.c: 0x55ebd7d8c3a0: v4i1 = X86ISD::PCMPGTM 0x55ebd7d80af0, 0x55ebd7d7c680
try.c: 0x55ebd7d80af0: v4i64 = X86ISD::VBROADCAST 0x55ebd7d1ff40
try.c: 0x55ebd7d1ff40: i64,ch = load<LD8[%lsr.iv6971]> 0x55ebd7c91950, 0x55ebd7d6aa90, undef:i64
try.c: 0x55ebd7d6aa90: i64,ch = CopyFromReg 0x55ebd7c91950, Register:i64 %vreg50
try.c: 0x55ebd7d7c8e0: i64 = Register %vreg50
try.c: 0x55ebd7d21410: i64 = undef
try.c: 0x55ebd7d7c680: v4i64,ch = CopyFromReg 0x55ebd7c91950, Register:v4i64 %vreg13
try.c: 0x55ebd7d81340: v4i64 = Register %vreg13
try.c: 0x55ebd7d22da0: v16i32 = X86ISD::VBROADCAST 0x55ebd7d80d50
try.c: 0x55ebd7d80d50: i32,ch = load<LD4[ConstantPool]> 0x55ebd7c91950, 0x55ebd7d251d0, undef:i64
try.c: 0x55ebd7d251d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ebd7d6bc90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ebd7d21410: i64 = undef
try.c: 0x55ebd7d88560: 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: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: i32 = Constant<0>
try.c: 0x55ebd7d88430: 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