Implementation notes: amd64, cel02, crypto_aead/pi16cipher128v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: pi16cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3794787969 8 023042 808 856T:ref3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
4351785021 8 018276 800 856T:ref3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5257844124 8 017488 808 896T:ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
61741414504 8 032565 832 960T:ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6427809509 8 027581 832 960T:ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6679905969 8 020804 824 896T:ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
67723859239 8 077349 832 960T:goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6858204811 8 019396 824 896T:ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
88631246060 8 060916 824 896T:goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
89423644378 8 058980 824 896T:goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10573589295 8 024378 808 856T:ref2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
121907010590 8 024104 808 896T:goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
23605525271 8 019860 824 896T:ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
25148365856 8 020724 824 896T:ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
26554264528 8 017896 808 896T:ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
31040665323 8 018612 800 856T:ref2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Test failure

Implementation: T:optimized_nonSSE
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_encrypt returns more than crypto_aead_ABYTES extra bytes

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:goptv
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
pi-cipher.c: pi-cipher.c:273:15: error: cannot convert between vector values of different size ('qword_t' (vector of 4 'word_t' values) and 'uint8_t' (aka 'unsigned char'))
pi-cipher.c: return (x << n) | (x >> ((PI_WORD_SIZE) - n));
pi-cipher.c: ~ ^ ~
pi-cipher.c: pi-cipher.c:273:26: error: cannot convert between vector values of different size ('qword_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: return (x << n) | (x >> ((PI_WORD_SIZE) - n));
pi-cipher.c: ~ ^ ~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:286:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:286:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:287:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: n_t += __builtin_shuffle(y, n_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:290:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: n_t ^= __builtin_shuffle(n_t, n_x_1) ^ __builtin_shuffle(n_t, n_x_2);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:305:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:306:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: m_t += __builtin_shuffle(x, m_mask);
pi-cipher.c: ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:309:6: error: cannot convert between vector values of different size ('vchunk_t' (vector of 4 'word_t' values) and 'int')
pi-cipher.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:goptv
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:goptv
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:goptv
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:goptv
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:goptv

Compiler output

Implementation: T:optimized_nonSSE
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: 0x55c3db4fbbc0: v4i64 = X86ISD::VTRUNC 0x55c3db4fba90
try.c: 0x55c3db4fba90: v16i32 = vselect 0x55c3db4f85a0, 0x55c3db4ae160, 0x55c3db4fb960
try.c: 0x55c3db4f85a0: v4i1 = X86ISD::PCMPGTM 0x55c3db4f3950, 0x55c3db4ef4e0
try.c: 0x55c3db4f3950: v4i64 = X86ISD::VBROADCAST 0x55c3db497b10
try.c: 0x55c3db497b10: i64,ch = load<LD8[%lsr.iv6971]> 0x55c3db404960, 0x55c3db4dd140, undef:i64
try.c: 0x55c3db4dd140: i64,ch = CopyFromReg 0x55c3db404960, Register:i64 %vreg50
try.c: 0x55c3db4ef740: i64 = Register %vreg50
try.c: 0x55c3db498fe0: i64 = undef
try.c: 0x55c3db4ef4e0: v4i64,ch = CopyFromReg 0x55c3db404960, Register:v4i64 %vreg13
try.c: 0x55c3db4f41a0: v4i64 = Register %vreg13
try.c: 0x55c3db4ae160: v16i32 = X86ISD::VBROADCAST 0x55c3db4f3bb0
try.c: 0x55c3db4f3bb0: i32,ch = load<LD4[ConstantPool]> 0x55c3db404960, 0x55c3db4a25e0, undef:i64
try.c: 0x55c3db4a25e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c3db4d8e90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c3db498fe0: i64 = undef
try.c: 0x55c3db4fb960: 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: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: i32 = Constant<0>
try.c: 0x55c3db4fb830: 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:optimized_nonSSE

Compiler output

Implementation: T:optimized_nonSSE
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: 0x55e27b73f510: v4i64 = X86ISD::VTRUNC 0x55e27b73f3e0
try.c: 0x55e27b73f3e0: v16i32 = vselect 0x55e27b747030, 0x55e27b6c2ea0, 0x55e27b73f2b0
try.c: 0x55e27b747030: v4i1 = X86ISD::PCMPGTM 0x55e27b726f10, 0x55e27b7234a0
try.c: 0x55e27b726f10: v4i64 = X86ISD::VBROADCAST 0x55e27b6c3360
try.c: 0x55e27b6c3360: i64,ch = load<LD8[%lsr.iv6971]> 0x55e27b621a40, 0x55e27b6d3950, undef:i64
try.c: 0x55e27b6d3950: i64,ch = CopyFromReg 0x55e27b621a40, Register:i64 %vreg50
try.c: 0x55e27b723700: i64 = Register %vreg50
try.c: 0x55e27b6bb270: i64 = undef
try.c: 0x55e27b7234a0: v4i64,ch = CopyFromReg 0x55e27b621a40, Register:v4i64 %vreg13
try.c: 0x55e27b727760: v4i64 = Register %vreg13
try.c: 0x55e27b6c2ea0: v16i32 = X86ISD::VBROADCAST 0x55e27b727170
try.c: 0x55e27b727170: i32,ch = load<LD4[ConstantPool]> 0x55e27b621a40, 0x55e27b6d1f20, undef:i64
try.c: 0x55e27b6d1f20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e27b6bbbf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e27b6bb270: i64 = undef
try.c: 0x55e27b73f2b0: 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: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: i32 = Constant<0>
try.c: 0x55e27b73f180: 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:optimized_nonSSE

Compiler output

Implementation: T:optimized_nonSSE
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: 0x5567be12c280: v4i64 = X86ISD::VTRUNC 0x5567be12c150
try.c: 0x5567be12c150: v16i32 = vselect 0x5567be11dbd0, 0x5567be0b6a40, 0x5567be12c020
try.c: 0x5567be11dbd0: v4i1 = X86ISD::PCMPGTM 0x5567be112910, 0x5567be10e4a0
try.c: 0x5567be112910: v4i64 = X86ISD::VBROADCAST 0x5567be0b29c0
try.c: 0x5567be0b29c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5567be023970, 0x5567be09dae0, undef:i64
try.c: 0x5567be09dae0: i64,ch = CopyFromReg 0x5567be023970, Register:i64 %vreg50
try.c: 0x5567be10e700: i64 = Register %vreg50
try.c: 0x5567be0b3e90: i64 = undef
try.c: 0x5567be10e4a0: v4i64,ch = CopyFromReg 0x5567be023970, Register:v4i64 %vreg13
try.c: 0x5567be113160: v4i64 = Register %vreg13
try.c: 0x5567be0b6a40: v16i32 = X86ISD::VBROADCAST 0x5567be112b70
try.c: 0x5567be112b70: i32,ch = load<LD4[ConstantPool]> 0x5567be023970, 0x5567be0c17f0, undef:i64
try.c: 0x5567be0c17f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5567be07fd30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5567be0b3e90: i64 = undef
try.c: 0x5567be12c020: 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: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: i32 = Constant<0>
try.c: 0x5567be12bef0: 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:optimized_nonSSE

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: 0x55b872ddb020: v4i64 = X86ISD::VTRUNC 0x55b872ddaef0
try.c: 0x55b872ddaef0: v16i32 = vselect 0x55b872dcee30, 0x55b872d801f0, 0x55b872ddadc0
try.c: 0x55b872dcee30: v4i1 = X86ISD::PCMPGTM 0x55b872dd6a00, 0x55b872dd2590
try.c: 0x55b872dd6a00: v4i64 = X86ISD::VBROADCAST 0x55b872d8c210
try.c: 0x55b872d8c210: i64,ch = load<LD8[%lsr.iv6971]> 0x55b872ce7950, 0x55b872d91530, undef:i64
try.c: 0x55b872d91530: i64,ch = CopyFromReg 0x55b872ce7950, Register:i64 %vreg50
try.c: 0x55b872dd27f0: i64 = Register %vreg50
try.c: 0x55b872d7e860: i64 = undef
try.c: 0x55b872dd2590: v4i64,ch = CopyFromReg 0x55b872ce7950, Register:v4i64 %vreg13
try.c: 0x55b872dd7250: v4i64 = Register %vreg13
try.c: 0x55b872d801f0: v16i32 = X86ISD::VBROADCAST 0x55b872dd6c60
try.c: 0x55b872dd6c60: i32,ch = load<LD4[ConstantPool]> 0x55b872ce7950, 0x55b872d8b7f0, undef:i64
try.c: 0x55b872d8b7f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b872dc5260: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b872d7e860: i64 = undef
try.c: 0x55b872ddadc0: 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: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: i32 = Constant<0>
try.c: 0x55b872ddac90: 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: 0x55de045d6a70: v4i64 = X86ISD::VTRUNC 0x55de045d6940
try.c: 0x55de045d6940: v16i32 = vselect 0x55de045de080, 0x55de04557a90, 0x55de045d6810
try.c: 0x55de045de080: v4i1 = X86ISD::PCMPGTM 0x55de045bea70, 0x55de045bb610
try.c: 0x55de045bea70: v4i64 = X86ISD::VBROADCAST 0x55de04557f50
try.c: 0x55de04557f50: i64,ch = load<LD8[%lsr.iv6971]> 0x55de044b8a30, 0x55de04551fb0, undef:i64
try.c: 0x55de04551fb0: i64,ch = CopyFromReg 0x55de044b8a30, Register:i64 %vreg50
try.c: 0x55de045bb870: i64 = Register %vreg50
try.c: 0x55de04569b60: i64 = undef
try.c: 0x55de045bb610: v4i64,ch = CopyFromReg 0x55de044b8a30, Register:v4i64 %vreg13
try.c: 0x55de045bf2c0: v4i64 = Register %vreg13
try.c: 0x55de04557a90: v16i32 = X86ISD::VBROADCAST 0x55de045becd0
try.c: 0x55de045becd0: i32,ch = load<LD4[ConstantPool]> 0x55de044b8a30, 0x55de0455b020, undef:i64
try.c: 0x55de0455b020: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55de0456a4e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55de04569b60: i64 = undef
try.c: 0x55de045d6810: 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: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: i32 = Constant<0>
try.c: 0x55de045d66e0: 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: 0x5564804bd640: v4i64 = X86ISD::VTRUNC 0x5564804bd510
try.c: 0x5564804bd510: v16i32 = vselect 0x5564804b6410, 0x55648043cc70, 0x5564804bd3e0
try.c: 0x5564804b6410: v4i1 = X86ISD::PCMPGTM 0x55648049e090, 0x556480499c20
try.c: 0x55648049e090: v4i64 = X86ISD::VBROADCAST 0x556480440a90
try.c: 0x556480440a90: i64,ch = load<LD8[%lsr.iv6971]> 0x5564803ae950, 0x556480491500, undef:i64
try.c: 0x556480491500: i64,ch = CopyFromReg 0x5564803ae950, Register:i64 %vreg50
try.c: 0x556480499e80: i64 = Register %vreg50
try.c: 0x556480441f60: i64 = undef
try.c: 0x556480499c20: v4i64,ch = CopyFromReg 0x5564803ae950, Register:v4i64 %vreg13
try.c: 0x55648049e8e0: v4i64 = Register %vreg13
try.c: 0x55648043cc70: v16i32 = X86ISD::VBROADCAST 0x55648049e2f0
try.c: 0x55648049e2f0: i32,ch = load<LD4[ConstantPool]> 0x5564803ae950, 0x556480445bf0, undef:i64
try.c: 0x556480445bf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556480483f00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556480441f60: i64 = undef
try.c: 0x5564804bd3e0: 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: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: i32 = Constant<0>
try.c: 0x5564804bd2b0: 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:ref2
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: 0x55d609cf2e50: v4i64 = X86ISD::VTRUNC 0x55d609cf2d20
try.c: 0x55d609cf2d20: v16i32 = vselect 0x55d609d093c0, 0x55d609cb6ff0, 0x55d609cf2bf0
try.c: 0x55d609d093c0: v4i1 = X86ISD::PCMPGTM 0x55d609cee830, 0x55d609cea3c0
try.c: 0x55d609cee830: v4i64 = X86ISD::VBROADCAST 0x55d609c922c0
try.c: 0x55d609c922c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d609bff940, 0x55d609cd3c90, undef:i64
try.c: 0x55d609cd3c90: i64,ch = CopyFromReg 0x55d609bff940, Register:i64 %vreg50
try.c: 0x55d609cea620: i64 = Register %vreg50
try.c: 0x55d609c93790: i64 = undef
try.c: 0x55d609cea3c0: v4i64,ch = CopyFromReg 0x55d609bff940, Register:v4i64 %vreg13
try.c: 0x55d609cef080: v4i64 = Register %vreg13
try.c: 0x55d609cb6ff0: v16i32 = X86ISD::VBROADCAST 0x55d609ceea90
try.c: 0x55d609ceea90: i32,ch = load<LD4[ConstantPool]> 0x55d609bff940, 0x55d609c9c6f0, undef:i64
try.c: 0x55d609c9c6f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d609cad520: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d609c93790: i64 = undef
try.c: 0x55d609cf2bf0: 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: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: i32 = Constant<0>
try.c: 0x55d609cf2ac0: 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:ref2

Compiler output

Implementation: T:ref2
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: 0x56345328c140: v4i64 = X86ISD::VTRUNC 0x56345328c010
try.c: 0x56345328c010: v16i32 = vselect 0x5634532a01e0, 0x563453216370, 0x56345328bee0
try.c: 0x5634532a01e0: v4i1 = X86ISD::PCMPGTM 0x563453280f70, 0x56345327c340
try.c: 0x563453280f70: v4i64 = X86ISD::VBROADCAST 0x563453216830
try.c: 0x563453216830: i64,ch = load<LD8[%lsr.iv6971]> 0x56345317aa30, 0x56345322d650, undef:i64
try.c: 0x56345322d650: i64,ch = CopyFromReg 0x56345317aa30, Register:i64 %vreg50
try.c: 0x56345327c5a0: i64 = Register %vreg50
try.c: 0x563453218120: i64 = undef
try.c: 0x56345327c340: v4i64,ch = CopyFromReg 0x56345317aa30, Register:v4i64 %vreg13
try.c: 0x5634532817c0: v4i64 = Register %vreg13
try.c: 0x563453216370: v16i32 = X86ISD::VBROADCAST 0x5634532811d0
try.c: 0x5634532811d0: i32,ch = load<LD4[ConstantPool]> 0x56345317aa30, 0x56345321cb60, undef:i64
try.c: 0x56345321cb60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563453218aa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563453218120: i64 = undef
try.c: 0x56345328bee0: 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: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: i32 = Constant<0>
try.c: 0x56345328bdb0: 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:ref2

Compiler output

Implementation: T:ref2
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: 0x557d2d8a5930: v4i64 = X86ISD::VTRUNC 0x557d2d8a5800
try.c: 0x557d2d8a5800: v16i32 = vselect 0x557d2d8560e0, 0x557d2d831510, 0x557d2d8a56d0
try.c: 0x557d2d8560e0: v4i1 = X86ISD::PCMPGTM 0x557d2d88bfc0, 0x557d2d887b50
try.c: 0x557d2d88bfc0: v4i64 = X86ISD::VBROADCAST 0x557d2d82e6b0
try.c: 0x557d2d82e6b0: i64,ch = load<LD8[%lsr.iv6971]> 0x557d2d79c9a0, 0x557d2d87f320, undef:i64
try.c: 0x557d2d87f320: i64,ch = CopyFromReg 0x557d2d79c9a0, Register:i64 %vreg50
try.c: 0x557d2d887db0: i64 = Register %vreg50
try.c: 0x557d2d82fb80: i64 = undef
try.c: 0x557d2d887b50: v4i64,ch = CopyFromReg 0x557d2d79c9a0, Register:v4i64 %vreg13
try.c: 0x557d2d88c810: v4i64 = Register %vreg13
try.c: 0x557d2d831510: v16i32 = X86ISD::VBROADCAST 0x557d2d88c220
try.c: 0x557d2d88c220: i32,ch = load<LD4[ConstantPool]> 0x557d2d79c9a0, 0x557d2d852dc0, undef:i64
try.c: 0x557d2d852dc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557d2d876fb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557d2d82fb80: i64 = undef
try.c: 0x557d2d8a56d0: 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: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: i32 = Constant<0>
try.c: 0x557d2d8a55a0: 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:ref2

Compiler output

Implementation: T:ref3
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: 0x556a709ab040: v4i64 = X86ISD::VTRUNC 0x556a709aaf10
try.c: 0x556a709aaf10: v16i32 = vselect 0x556a709a7a20, 0x556a7094bb50, 0x556a709aade0
try.c: 0x556a709a7a20: v4i1 = X86ISD::PCMPGTM 0x556a709a35d0, 0x556a7099f160
try.c: 0x556a709a35d0: v4i64 = X86ISD::VBROADCAST 0x556a70944f10
try.c: 0x556a70944f10: i64,ch = load<LD8[%lsr.iv6971]> 0x556a708b4960, 0x556a7098ab10, undef:i64
try.c: 0x556a7098ab10: i64,ch = CopyFromReg 0x556a708b4960, Register:i64 %vreg50
try.c: 0x556a7099f3c0: i64 = Register %vreg50
try.c: 0x556a7094a1c0: i64 = undef
try.c: 0x556a7099f160: v4i64,ch = CopyFromReg 0x556a708b4960, Register:v4i64 %vreg13
try.c: 0x556a709a3e20: v4i64 = Register %vreg13
try.c: 0x556a7094bb50: v16i32 = X86ISD::VBROADCAST 0x556a709a3830
try.c: 0x556a709a3830: i32,ch = load<LD4[ConstantPool]> 0x556a708b4960, 0x556a709444f0, undef:i64
try.c: 0x556a709444f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556a70992110: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556a7094a1c0: i64 = undef
try.c: 0x556a709aade0: 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: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: i32 = Constant<0>
try.c: 0x556a709aacb0: 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:ref3

Compiler output

Implementation: T:ref3
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: 0x55dfc2f30920: v4i64 = X86ISD::VTRUNC 0x55dfc2f307f0
try.c: 0x55dfc2f307f0: v16i32 = vselect 0x55dfc2f237d0, 0x55dfc2eae060, 0x55dfc2f306c0
try.c: 0x55dfc2f237d0: v4i1 = X86ISD::PCMPGTM 0x55dfc2f17b20, 0x55dfc2f136b0
try.c: 0x55dfc2f17b20: v4i64 = X86ISD::VBROADCAST 0x55dfc2eae520
try.c: 0x55dfc2eae520: i64,ch = load<LD8[%lsr.iv6971]> 0x55dfc2e10a30, 0x55dfc2eb3640, undef:i64
try.c: 0x55dfc2eb3640: i64,ch = CopyFromReg 0x55dfc2e10a30, Register:i64 %vreg50
try.c: 0x55dfc2f13910: i64 = Register %vreg50
try.c: 0x55dfc2eb4920: i64 = undef
try.c: 0x55dfc2f136b0: v4i64,ch = CopyFromReg 0x55dfc2e10a30, Register:v4i64 %vreg13
try.c: 0x55dfc2f18370: v4i64 = Register %vreg13
try.c: 0x55dfc2eae060: v16i32 = X86ISD::VBROADCAST 0x55dfc2f17d80
try.c: 0x55dfc2f17d80: i32,ch = load<LD4[ConstantPool]> 0x55dfc2e10a30, 0x55dfc2eb1c10, undef:i64
try.c: 0x55dfc2eb1c10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dfc2eb52a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dfc2eb4920: i64 = undef
try.c: 0x55dfc2f306c0: 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: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: i32 = Constant<0>
try.c: 0x55dfc2f30590: 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:ref3

Compiler output

Implementation: T:ref3
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: 0x55bb7dd89810: v4i64 = X86ISD::VTRUNC 0x55bb7dd896e0
try.c: 0x55bb7dd896e0: v16i32 = vselect 0x55bb7dda1da0, 0x55bb7dd2bd50, 0x55bb7dd895b0
try.c: 0x55bb7dda1da0: v4i1 = X86ISD::PCMPGTM 0x55bb7dd841e0, 0x55bb7dd7fd70
try.c: 0x55bb7dd841e0: v4i64 = X86ISD::VBROADCAST 0x55bb7dd4c270
try.c: 0x55bb7dd4c270: i64,ch = load<LD8[%lsr.iv6971]> 0x55bb7dc949d0, 0x55bb7dd77880, undef:i64
try.c: 0x55bb7dd77880: i64,ch = CopyFromReg 0x55bb7dc949d0, Register:i64 %vreg50
try.c: 0x55bb7dd7ffd0: i64 = Register %vreg50
try.c: 0x55bb7dd2a3c0: i64 = undef
try.c: 0x55bb7dd7fd70: v4i64,ch = CopyFromReg 0x55bb7dc949d0, Register:v4i64 %vreg13
try.c: 0x55bb7dd84a30: v4i64 = Register %vreg13
try.c: 0x55bb7dd2bd50: v16i32 = X86ISD::VBROADCAST 0x55bb7dd84440
try.c: 0x55bb7dd84440: i32,ch = load<LD4[ConstantPool]> 0x55bb7dc949d0, 0x55bb7dd4b850, undef:i64
try.c: 0x55bb7dd4b850: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bb7dd424a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bb7dd2a3c0: i64 = undef
try.c: 0x55bb7dd895b0: 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: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: i32 = Constant<0>
try.c: 0x55bb7dd89480: 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:ref3