Implementation notes: amd64, cel02, crypto_aead/pi32cipher128v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: pi32cipher128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6162416418 8 031028 824 896T:goptvgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7993624784 8 042925 832 960T:goptvgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10073217750 8 032628 824 896T:goptvgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1057347119 8 020632 808 896T:goptvgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17094214569 8 032629 832 960T:ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1914366996 8 022082 808 856T:ref3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3247889473 8 024562 808 856T:ref2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3458924937 8 019532 824 896T:ref3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3550905956 8 020812 824 896T:ref3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3658864153 8 017528 808 896T:ref3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3768489051 8 027133 832 960T:ref3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3834605074 8 018332 800 856T:ref3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7098465865 8 020756 824 896T:ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9084085394 8 018700 800 856T:ref2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12336005582 8 020188 824 896T:ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13377824677 8 018072 808 896T:ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-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:289:8: error: cannot convert between vector values of different size ('unsigned long' and 'vchunk_t' (vector of 4 'word_t' values))
pi-cipher.c: n_t = ROTL(n_t, n_rot);
pi-cipher.c: ^~~~~~~~~~~~~~~~
pi-cipher.c: pi-cipher.c:267:64: note: expanded from macro 'ROTL'
pi-cipher.c: #define ROTL(x, n) (((x) << (n)) | ((x) >> (sizeof(word_t) * 8 - (n))))
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: ...

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: 0x5585a2841220: v4i64 = X86ISD::VTRUNC 0x5585a28410f0
try.c: 0x5585a28410f0: v16i32 = vselect 0x5585a282d6b0, 0x5585a27cb770, 0x5585a2840fc0
try.c: 0x5585a282d6b0: v4i1 = X86ISD::PCMPGTM 0x5585a2826a50, 0x5585a28225e0
try.c: 0x5585a2826a50: v4i64 = X86ISD::VBROADCAST 0x5585a27c36c0
try.c: 0x5585a27c36c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5585a2737960, 0x5585a281d440, undef:i64
try.c: 0x5585a281d440: i64,ch = CopyFromReg 0x5585a2737960, Register:i64 %vreg50
try.c: 0x5585a2822840: i64 = Register %vreg50
try.c: 0x5585a27c4b90: i64 = undef
try.c: 0x5585a28225e0: v4i64,ch = CopyFromReg 0x5585a2737960, Register:v4i64 %vreg13
try.c: 0x5585a28272a0: v4i64 = Register %vreg13
try.c: 0x5585a27cb770: v16i32 = X86ISD::VBROADCAST 0x5585a2826cb0
try.c: 0x5585a2826cb0: i32,ch = load<LD4[ConstantPool]> 0x5585a2737960, 0x5585a27d6920, undef:i64
try.c: 0x5585a27d6920: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5585a27c8610: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5585a27c4b90: i64 = undef
try.c: 0x5585a2840fc0: 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: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: i32 = Constant<0>
try.c: 0x5585a2840e90: 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: 0x563ad0db6e40: v4i64 = X86ISD::VTRUNC 0x563ad0db6d10
try.c: 0x563ad0db6d10: v16i32 = vselect 0x563ad0d8fb70, 0x563ad0d37a80, 0x563ad0db6be0
try.c: 0x563ad0d8fb70: v4i1 = X86ISD::PCMPGTM 0x563ad0d9f4e0, 0x563ad0d9d000
try.c: 0x563ad0d9f4e0: v4i64 = X86ISD::VBROADCAST 0x563ad0d37f40
try.c: 0x563ad0d37f40: i64,ch = load<LD8[%lsr.iv6971]> 0x563ad0c99a30, 0x563ad0d3a650, undef:i64
try.c: 0x563ad0d3a650: i64,ch = CopyFromReg 0x563ad0c99a30, Register:i64 %vreg50
try.c: 0x563ad0d9d260: i64 = Register %vreg50
try.c: 0x563ad0d16d20: i64 = undef
try.c: 0x563ad0d9d000: v4i64,ch = CopyFromReg 0x563ad0c99a30, Register:v4i64 %vreg13
try.c: 0x563ad0d9fd30: v4i64 = Register %vreg13
try.c: 0x563ad0d37a80: v16i32 = X86ISD::VBROADCAST 0x563ad0d9f740
try.c: 0x563ad0d9f740: i32,ch = load<LD4[ConstantPool]> 0x563ad0c99a30, 0x563ad0d341c0, undef:i64
try.c: 0x563ad0d341c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563ad0d176a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563ad0d16d20: i64 = undef
try.c: 0x563ad0db6be0: 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: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: i32 = Constant<0>
try.c: 0x563ad0db6ab0: 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: 0x55e80a86e070: v4i64 = X86ISD::VTRUNC 0x55e80a86df40
try.c: 0x55e80a86df40: v16i32 = vselect 0x55e80a84acc0, 0x55e80a7f24e0, 0x55e80a86de10
try.c: 0x55e80a84acc0: v4i1 = X86ISD::PCMPGTM 0x55e80a852890, 0x55e80a84e420
try.c: 0x55e80a852890: v4i64 = X86ISD::VBROADCAST 0x55e80a7f6340
try.c: 0x55e80a7f6340: i64,ch = load<LD8[%lsr.iv6971]> 0x55e80a763950, 0x55e80a83c7b0, undef:i64
try.c: 0x55e80a83c7b0: i64,ch = CopyFromReg 0x55e80a763950, Register:i64 %vreg50
try.c: 0x55e80a84e680: i64 = Register %vreg50
try.c: 0x55e80a7f7810: i64 = undef
try.c: 0x55e80a84e420: v4i64,ch = CopyFromReg 0x55e80a763950, Register:v4i64 %vreg13
try.c: 0x55e80a8530e0: v4i64 = Register %vreg13
try.c: 0x55e80a7f24e0: v16i32 = X86ISD::VBROADCAST 0x55e80a852af0
try.c: 0x55e80a852af0: i32,ch = load<LD4[ConstantPool]> 0x55e80a763950, 0x55e80a7f5920, undef:i64
try.c: 0x55e80a7f5920: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e80a838470: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e80a7f7810: i64 = undef
try.c: 0x55e80a86de10: 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: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: i32 = Constant<0>
try.c: 0x55e80a86dce0: 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: 0x55629b0fc570: v4i64 = X86ISD::VTRUNC 0x55629b0fc440
try.c: 0x55629b0fc440: v16i32 = vselect 0x55629b0f6f40, 0x55629b092730, 0x55629b0fc310
try.c: 0x55629b0f6f40: v4i1 = X86ISD::PCMPGTM 0x55629b0f2710, 0x55629b0ee2a0
try.c: 0x55629b0f2710: v4i64 = X86ISD::VBROADCAST 0x55629b096550
try.c: 0x55629b096550: i64,ch = load<LD8[%lsr.iv6971]> 0x55629b003920, 0x55629b0da0e0, undef:i64
try.c: 0x55629b0da0e0: i64,ch = CopyFromReg 0x55629b003920, Register:i64 %vreg50
try.c: 0x55629b0ee500: i64 = Register %vreg50
try.c: 0x55629b097a20: i64 = undef
try.c: 0x55629b0ee2a0: v4i64,ch = CopyFromReg 0x55629b003920, Register:v4i64 %vreg13
try.c: 0x55629b0f2f60: v4i64 = Register %vreg13
try.c: 0x55629b092730: v16i32 = X86ISD::VBROADCAST 0x55629b0f2970
try.c: 0x55629b0f2970: i32,ch = load<LD4[ConstantPool]> 0x55629b003920, 0x55629b095b30, undef:i64
try.c: 0x55629b095b30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55629b0b9fc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55629b097a20: i64 = undef
try.c: 0x55629b0fc310: 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: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: i32 = Constant<0>
try.c: 0x55629b0fc1e0: 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: 0x561e97db4670: v4i64 = X86ISD::VTRUNC 0x561e97db4540
try.c: 0x561e97db4540: v16i32 = vselect 0x561e97da6700, 0x561e97d26fd0, 0x561e97db4410
try.c: 0x561e97da6700: v4i1 = X86ISD::PCMPGTM 0x561e97d8ff20, 0x561e97d8b2f0
try.c: 0x561e97d8ff20: v4i64 = X86ISD::VBROADCAST 0x561e97d27490
try.c: 0x561e97d27490: i64,ch = load<LD8[%lsr.iv6971]> 0x561e97c89a20, 0x561e97d3af80, undef:i64
try.c: 0x561e97d3af80: i64,ch = CopyFromReg 0x561e97c89a20, Register:i64 %vreg50
try.c: 0x561e97d8b550: i64 = Register %vreg50
try.c: 0x561e97d241f0: i64 = undef
try.c: 0x561e97d8b2f0: v4i64,ch = CopyFromReg 0x561e97c89a20, Register:v4i64 %vreg13
try.c: 0x561e97d90770: v4i64 = Register %vreg13
try.c: 0x561e97d26fd0: v16i32 = X86ISD::VBROADCAST 0x561e97d90180
try.c: 0x561e97d90180: i32,ch = load<LD4[ConstantPool]> 0x561e97c89a20, 0x561e97d39550, undef:i64
try.c: 0x561e97d39550: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561e97d24b70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561e97d241f0: i64 = undef
try.c: 0x561e97db4410: 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: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: i32 = Constant<0>
try.c: 0x561e97db42e0: 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: 0x5613d5ff0fc0: v4i64 = X86ISD::VTRUNC 0x5613d5ff0e90
try.c: 0x5613d5ff0e90: v16i32 = vselect 0x5613d5fe5dd0, 0x5613d5fb3900, 0x5613d5ff0d60
try.c: 0x5613d5fe5dd0: v4i1 = X86ISD::PCMPGTM 0x5613d5fef9c0, 0x5613d5feb550
try.c: 0x5613d5fef9c0: v4i64 = X86ISD::VBROADCAST 0x5613d5fb0aa0
try.c: 0x5613d5fb0aa0: i64,ch = load<LD8[%lsr.iv6971]> 0x5613d5f00940, 0x5613d5fd9810, undef:i64
try.c: 0x5613d5fd9810: i64,ch = CopyFromReg 0x5613d5f00940, Register:i64 %vreg50
try.c: 0x5613d5feb7b0: i64 = Register %vreg50
try.c: 0x5613d5fb1f70: i64 = undef
try.c: 0x5613d5feb550: v4i64,ch = CopyFromReg 0x5613d5f00940, Register:v4i64 %vreg13
try.c: 0x5613d5ff0210: v4i64 = Register %vreg13
try.c: 0x5613d5fb3900: v16i32 = X86ISD::VBROADCAST 0x5613d5fefc20
try.c: 0x5613d5fefc20: i32,ch = load<LD4[ConstantPool]> 0x5613d5f00940, 0x5613d5f940e0, undef:i64
try.c: 0x5613d5f940e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5613d5fdaa10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5613d5fb1f70: i64 = undef
try.c: 0x5613d5ff0d60: 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: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: i32 = Constant<0>
try.c: 0x5613d5ff0c30: 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: 0x565542a28ca0: v4i64 = X86ISD::VTRUNC 0x565542a28b70
try.c: 0x565542a28b70: v16i32 = vselect 0x565542a24270, 0x5655429cc230, 0x565542a28a40
try.c: 0x565542a24270: v4i1 = X86ISD::PCMPGTM 0x565542a20a40, 0x565542a1c5d0
try.c: 0x565542a20a40: v4i64 = X86ISD::VBROADCAST 0x5655429c0580
try.c: 0x5655429c0580: i64,ch = load<LD8[%lsr.iv6971]> 0x565542931950, 0x565542a17430, undef:i64
try.c: 0x565542a17430: i64,ch = CopyFromReg 0x565542931950, Register:i64 %vreg50
try.c: 0x565542a1c830: i64 = Register %vreg50
try.c: 0x5655429c1a50: i64 = undef
try.c: 0x565542a1c5d0: v4i64,ch = CopyFromReg 0x565542931950, Register:v4i64 %vreg13
try.c: 0x565542a21290: v4i64 = Register %vreg13
try.c: 0x5655429cc230: v16i32 = X86ISD::VBROADCAST 0x565542a20ca0
try.c: 0x565542a20ca0: i32,ch = load<LD4[ConstantPool]> 0x565542931950, 0x5655429c7c90, undef:i64
try.c: 0x5655429c7c90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x565542a055e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5655429c1a50: i64 = undef
try.c: 0x565542a28a40: 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: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: i32 = Constant<0>
try.c: 0x565542a28910: 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: 0x564c673f9140: v4i64 = X86ISD::VTRUNC 0x564c673f9010
try.c: 0x564c673f9010: v16i32 = vselect 0x564c673e9820, 0x564c673672f0, 0x564c673f8ee0
try.c: 0x564c673e9820: v4i1 = X86ISD::PCMPGTM 0x564c673d1cb0, 0x564c673cf7d0
try.c: 0x564c673d1cb0: v4i64 = X86ISD::VBROADCAST 0x564c673677b0
try.c: 0x564c673677b0: i64,ch = load<LD8[%lsr.iv6971]> 0x564c672cca30, 0x564c6737fc20, undef:i64
try.c: 0x564c6737fc20: i64,ch = CopyFromReg 0x564c672cca30, Register:i64 %vreg50
try.c: 0x564c673cfa30: i64 = Register %vreg50
try.c: 0x564c67364600: i64 = undef
try.c: 0x564c673cf7d0: v4i64,ch = CopyFromReg 0x564c672cca30, Register:v4i64 %vreg13
try.c: 0x564c673d2500: v4i64 = Register %vreg13
try.c: 0x564c673672f0: v16i32 = X86ISD::VBROADCAST 0x564c673d1f10
try.c: 0x564c673d1f10: i32,ch = load<LD4[ConstantPool]> 0x564c672cca30, 0x564c6737e1f0, undef:i64
try.c: 0x564c6737e1f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564c67364f80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564c67364600: i64 = undef
try.c: 0x564c673f8ee0: 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: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: i32 = Constant<0>
try.c: 0x564c673f8db0: 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: 0x5587117b8300: v4i64 = X86ISD::VTRUNC 0x5587117b81d0
try.c: 0x5587117b81d0: v16i32 = vselect 0x55871179d4a0, 0x55871173a120, 0x5587117b80a0
try.c: 0x55871179d4a0: v4i1 = X86ISD::PCMPGTM 0x558711796030, 0x558711791bc0
try.c: 0x558711796030: v4i64 = X86ISD::VBROADCAST 0x55871173c920
try.c: 0x55871173c920: i64,ch = load<LD8[%lsr.iv6971]> 0x5587116a6950, 0x558711789510, undef:i64
try.c: 0x558711789510: i64,ch = CopyFromReg 0x5587116a6950, Register:i64 %vreg50
try.c: 0x558711791e20: i64 = Register %vreg50
try.c: 0x558711738790: i64 = undef
try.c: 0x558711791bc0: v4i64,ch = CopyFromReg 0x5587116a6950, Register:v4i64 %vreg13
try.c: 0x558711796880: v4i64 = Register %vreg13
try.c: 0x55871173a120: v16i32 = X86ISD::VBROADCAST 0x558711796290
try.c: 0x558711796290: i32,ch = load<LD4[ConstantPool]> 0x5587116a6950, 0x55871173bf00, undef:i64
try.c: 0x55871173bf00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55871177d8c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558711738790: i64 = undef
try.c: 0x5587117b80a0: 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: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: i32 = Constant<0>
try.c: 0x5587117b7f70: 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: 0x555d635b1540: v4i64 = X86ISD::VTRUNC 0x555d635b1410
try.c: 0x555d635b1410: v16i32 = vselect 0x555d635a93b0, 0x555d635376d0, 0x555d635b12e0
try.c: 0x555d635a93b0: v4i1 = X86ISD::PCMPGTM 0x555d6358f820, 0x555d6358b3b0
try.c: 0x555d6358f820: v4i64 = X86ISD::VBROADCAST 0x555d63530b00
try.c: 0x555d63530b00: i64,ch = load<LD8[%lsr.iv6971]> 0x555d634a0950, 0x555d63582840, undef:i64
try.c: 0x555d63582840: i64,ch = CopyFromReg 0x555d634a0950, Register:i64 %vreg50
try.c: 0x555d6358b610: i64 = Register %vreg50
try.c: 0x555d63535d40: i64 = undef
try.c: 0x555d6358b3b0: v4i64,ch = CopyFromReg 0x555d634a0950, Register:v4i64 %vreg13
try.c: 0x555d63590070: v4i64 = Register %vreg13
try.c: 0x555d635376d0: v16i32 = X86ISD::VBROADCAST 0x555d6358fa80
try.c: 0x555d6358fa80: i32,ch = load<LD4[ConstantPool]> 0x555d634a0950, 0x555d635300e0, undef:i64
try.c: 0x555d635300e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555d63570080: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555d63535d40: i64 = undef
try.c: 0x555d635b12e0: 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: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: i32 = Constant<0>
try.c: 0x555d635b11b0: 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: 0x560bd53da6f0: v4i64 = X86ISD::VTRUNC 0x560bd53da5c0
try.c: 0x560bd53da5c0: v16i32 = vselect 0x560bd53bbb10, 0x560bd5348fd0, 0x560bd53da490
try.c: 0x560bd53bbb10: v4i1 = X86ISD::PCMPGTM 0x560bd53b4f20, 0x560bd53b10b0
try.c: 0x560bd53b4f20: v4i64 = X86ISD::VBROADCAST 0x560bd5349490
try.c: 0x560bd5349490: i64,ch = load<LD8[%lsr.iv6971]> 0x560bd52aea30, 0x560bd5351110, undef:i64
try.c: 0x560bd5351110: i64,ch = CopyFromReg 0x560bd52aea30, Register:i64 %vreg50
try.c: 0x560bd53b1310: i64 = Register %vreg50
try.c: 0x560bd5361640: i64 = undef
try.c: 0x560bd53b10b0: v4i64,ch = CopyFromReg 0x560bd52aea30, Register:v4i64 %vreg13
try.c: 0x560bd53b5770: v4i64 = Register %vreg13
try.c: 0x560bd5348fd0: v16i32 = X86ISD::VBROADCAST 0x560bd53b5180
try.c: 0x560bd53b5180: i32,ch = load<LD4[ConstantPool]> 0x560bd52aea30, 0x560bd534f6e0, undef:i64
try.c: 0x560bd534f6e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560bd5361fc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560bd5361640: i64 = undef
try.c: 0x560bd53da490: 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: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: i32 = Constant<0>
try.c: 0x560bd53da360: 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: 0x5568b3ddb970: v4i64 = X86ISD::VTRUNC 0x5568b3ddb840
try.c: 0x5568b3ddb840: v16i32 = vselect 0x5568b3dd6340, 0x5568b3d7f100, 0x5568b3ddb710
try.c: 0x5568b3dd6340: v4i1 = X86ISD::PCMPGTM 0x5568b3dd1870, 0x5568b3dcd400
try.c: 0x5568b3dd1870: v4i64 = X86ISD::VBROADCAST 0x5568b3d79190
try.c: 0x5568b3d79190: i64,ch = load<LD8[%lsr.iv6971]> 0x5568b3ce29d0, 0x5568b3dc8260, undef:i64
try.c: 0x5568b3dc8260: i64,ch = CopyFromReg 0x5568b3ce29d0, Register:i64 %vreg50
try.c: 0x5568b3dcd660: i64 = Register %vreg50
try.c: 0x5568b3d7a660: i64 = undef
try.c: 0x5568b3dcd400: v4i64,ch = CopyFromReg 0x5568b3ce29d0, Register:v4i64 %vreg13
try.c: 0x5568b3dd20c0: v4i64 = Register %vreg13
try.c: 0x5568b3d7f100: v16i32 = X86ISD::VBROADCAST 0x5568b3dd1ad0
try.c: 0x5568b3dd1ad0: i32,ch = load<LD4[ConstantPool]> 0x5568b3ce29d0, 0x5568b3d78770, undef:i64
try.c: 0x5568b3d78770: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5568b3dbcb80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5568b3d7a660: i64 = undef
try.c: 0x5568b3ddb710: 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: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: i32 = Constant<0>
try.c: 0x5568b3ddb5e0: 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