[gn build] Port b9a2658a3e8b
[llvm-project.git] / llvm / test / Other / spirv-sim / constant.spv
blob1002427943a8d2dd58b441b799b9a6866ccb9680
1 ; RUN: %if spirv-tools %{ spirv-as %s -o - | spirv-val - %}
2 ; RUN: spirv-sim --function=a --wave=1 --expects=2 -i %s
3 ; RUN: spirv-sim --function=b --wave=1 --expects=1 -i %s
4                OpCapability Shader
5                OpMemoryModel Logical GLSL450
6                OpEntryPoint GLCompute %main "main"
7                OpExecutionMode %main LocalSize 1 1 1
8                OpSource HLSL 670
9                OpName %a "a"
10                OpName %b "b"
11                OpName %main "main"
12         %int = OpTypeInt 32 1
13          %s1 = OpTypeStruct %int %int %int
14          %s2 = OpTypeStruct %s1
15       %int_1 = OpConstant %int 1
16       %int_2 = OpConstant %int 2
17      %s1_1_2 = OpConstantComposite %s1 %int_1 %int_2 %int_1
18       %s2_s1 = OpConstantComposite %s2 %s1_1_2
19        %void = OpTypeVoid
20   %main_type = OpTypeFunction %void
21    %simple_type = OpTypeFunction %int
22        %main = OpFunction %void None %main_type
23       %entry = OpLabel
24                OpReturn
25                OpFunctionEnd
26           %a = OpFunction %int None %simple_type
27           %1 = OpLabel
28           %2 = OpCompositeExtract %int %s1_1_2 1
29                OpReturnValue %2
30                OpFunctionEnd
31           %b = OpFunction %int None %simple_type
32           %3 = OpLabel
33           %4 = OpCompositeExtract %int %s2_s1 0 2
34                OpReturnValue %4
35                OpFunctionEnd