<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88908>88908</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[SPIR-V] Bit width of input/result types in OpSConvert/OpUConvert must not be the same
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
VyacheslavLevytskyy
</td>
</tr>
</table>
<pre>
Bit width of input/result types in OpSConvert/OpUConvert must not be the same. However, at the moment SPIR-V Backend would produce something like
```
%4 = OpTypeInt 64 0
%14 = OpConstant %4 123
%21 = OpUConvert %4 %14
OpCopyMemorySized %19 %16 %21 Aligned 4
```
when translating
```
call void @llvm.memcpy.p0.p2.i64(ptr align 4 %dest, ptr addrspace(2) align 4 @__const.test.arr, i64 123, i1 false)
```
for the spirv32 target.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysU8FunDAQ_RpzGQUZY3bhwCHJatVIrVI1ba6RwbOLG2Nb9rAr-vUV7LZRqyqnIjRgz_PzvGePSskcHWLLqjtW7TI10eBj-zyrfsBk1ekjnmZKr_OcdV7P7Z0hOBtNA_gDGBcmYmIfMU2WgOaACYyDx_B0790J45J8DN-uAxinROA8QYdAA0JSI-bwwZ_xhJGJe1C0zo9-REfw9Pnhy80z3Kn-FZ2Gs5-shhC9nnqE5EekwbgjWPOKjO8Yv73GDb--6xCWh4lKAit38Bi-zgEfHMFGwl-I4hfk3rtEytFlWSHKP3GiuOJ-C7vQLwxX5MIR5k84-jg_mR-o12yzxs2V49YuzmuQ_yz7Es8DOqCoXLKKjDu-o7NX1sLJGw1McmtPYz7i2Ic5DzwPIjcbyUQdKIJa9oW1Xo2JFt_Xaa1jCqpHJmrBRPOGk_zlpV8syQkT5SquZ2U2F2uW3wIOyiZkonlHy8HHy6kHE0-lAFLxiJRnui11UzYqw7bYFqXY1o3k2dDqomv4Vla81B3yqtJlIYQsu67e1k0visy0ggvJZbEppGw4z-WhKkTNVa-2BVd1zSTHURmbr3b4eMxMShO2dd3wOrOqQ5vWiy-EwzOsSSbE0gexXdbcdNMxLXaaROmNhQzZtWMuN5RVO_jvfZFN0bYDUUisvGViz8T-aGiYurz3IxP7pZjr5yZE_x37hXSVkJjYrxJ_BgAA__-_Qytp">