| Issue |
183611
|
| Summary |
[HLSL] Missing `OpUConvert` in reversebit vulkan codegen with 16bit types
|
| Labels |
HLSL,
clang:HLSL:SPIRV
|
| Assignees |
|
| Reporter |
joaosaffran
|
After running `reversebit.16.test` offload test through spirv-val, we can see the following error being emitted:
```
Validation Error: [ VUID-RuntimeSpirv-None-10824 ] | MessageID = 0xb3aec22b
vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error):
Expected 32-bit int type for Base operand: BitReverse
This is allowed if you enable the maintenance9 feature (or use the --allow-vulkan-32-bit-bitwise command line flag)
%44 = OpBitReverse %v4ushort %43
Command to reproduce:
spirv-val <input.spv> --relax-block-layout --uniform-buffer-standard-layout --scalar-block-layout --allow-localsizeid --target-env vulkan1.4
```
This is being caused, because clang codegen is missing a `OpUConvert` to convert 16 bit values to 32 bits.
https://hlsl.godbolt.org/z/rosE9nhbT
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs