Zig Version
0.17.0-dev.56+a8226cd53
Steps to Reproduce and Observed Behavior
exportfnmain()callconv(.spirv_fragment)void{asmvolatile("OpNop");}
$ zig build-obj -fno-llvm -ofmt=spirv -target spirv32-vulkan -mcpu vulkan_v1_2 -femit-bin=min.spv min.zig
$ spirv-val --target-env vulkan1.2 min.spv
error: line 129: Instruction may not have a logical pointer operand
%34 = OpCompositeConstruct %Target_Cpu %u8_46 %73 %33
Removing the inline asm line makes the validator pass.
Disassembly
%initializer_of_builtin_cpu = OpFunction %void None %72
%73 = OpFunctionParameter %_ptr_Function_Target_Cpu_Model
%74 = OpFunctionParameter %_ptr_Function_Target_Cpu
%28 = OpLabel
%32 = OpCompositeConstruct %_arr_u32_u32_10 %u32_4032 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0
%33 = OpCompositeConstruct %Target_Cpu_Feature_Set %32
%34 = OpCompositeConstruct %Target_Cpu %u8_46 %73 %33
OpStore %74 %34
OpReturn
OpFunctionEnd
The function initializer_of_builtin_cpu is itself dead code and does not seem to get eliminated, which is probably a separate issue.
Expected Behavior
The shader should validate.
### Zig Version
0.17.0-dev.56+a8226cd53
### Steps to Reproduce and Observed Behavior
```zig
export fn main() callconv(.spirv_fragment) void {
asm volatile ("OpNop");
}
```
```sh
$ zig build-obj -fno-llvm -ofmt=spirv -target spirv32-vulkan -mcpu vulkan_v1_2 -femit-bin=min.spv min.zig
```
```sh
$ spirv-val --target-env vulkan1.2 min.spv
```
```
error: line 129: Instruction may not have a logical pointer operand
%34 = OpCompositeConstruct %Target_Cpu %u8_46 %73 %33
```
Removing the inline `asm` line makes the validator pass.
#### Disassembly
```
%initializer_of_builtin_cpu = OpFunction %void None %72
%73 = OpFunctionParameter %_ptr_Function_Target_Cpu_Model
%74 = OpFunctionParameter %_ptr_Function_Target_Cpu
%28 = OpLabel
%32 = OpCompositeConstruct %_arr_u32_u32_10 %u32_4032 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0 %u32_0
%33 = OpCompositeConstruct %Target_Cpu_Feature_Set %32
%34 = OpCompositeConstruct %Target_Cpu %u8_46 %73 %33
OpStore %74 %34
OpReturn
OpFunctionEnd
```
The function `initializer_of_builtin_cpu` is itself dead code and does not seem to get eliminated, which is probably a separate issue.
### Expected Behavior
The shader should validate.