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

Reply via email to