David Neto | d1a026e | 2021-07-30 16:03:06 +0000 | [diff] [blame] | 1 | ; Test: SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm |
| 2 | ; SPIR-V |
| 3 | ; Version: 1.0 |
| 4 | ; Generator: Khronos SPIR-V Tools Assembler; 0 |
| 5 | ; Bound: 103 |
| 6 | ; Schema: 0 |
| 7 | OpCapability Shader |
| 8 | OpMemoryModel Logical Simple |
| 9 | OpEntryPoint Fragment %100 "main" |
| 10 | OpExecutionMode %100 OriginUpperLeft |
| 11 | %void = OpTypeVoid |
| 12 | %9 = OpTypeFunction %void |
| 13 | %bool = OpTypeBool |
| 14 | %float = OpTypeFloat 32 |
| 15 | %uint = OpTypeInt 32 0 |
| 16 | %int = OpTypeInt 32 1 |
| 17 | %_ptr_Function_bool = OpTypePointer Function %bool |
| 18 | %_ptr_Function_float = OpTypePointer Function %float |
| 19 | %_ptr_Function_uint = OpTypePointer Function %uint |
| 20 | %_ptr_Function_int = OpTypePointer Function %int |
| 21 | %true = OpConstantTrue %bool |
| 22 | %false = OpConstantFalse %bool |
| 23 | %float_0 = OpConstant %float 0 |
| 24 | %float_1_5 = OpConstant %float 1.5 |
| 25 | %uint_0 = OpConstant %uint 0 |
| 26 | %uint_1 = OpConstant %uint 1 |
| 27 | %int_n1 = OpConstant %int -1 |
| 28 | %int_0 = OpConstant %int 0 |
| 29 | %int_1 = OpConstant %int 1 |
| 30 | %int_3 = OpConstant %int 3 |
| 31 | %uint_2 = OpConstant %uint 2 |
| 32 | %uint_3 = OpConstant %uint 3 |
| 33 | %uint_4 = OpConstant %uint 4 |
| 34 | %uint_5 = OpConstant %uint 5 |
| 35 | %v2int = OpTypeVector %int 2 |
| 36 | %v2float = OpTypeVector %float 2 |
| 37 | %mat3v2float = OpTypeMatrix %v2float 3 |
| 38 | %37 = OpConstantNull %v2int |
| 39 | %_arr_uint_uint_2 = OpTypeArray %uint %uint_2 |
| 40 | %_struct_39 = OpTypeStruct %uint %float %_arr_uint_uint_2 |
| 41 | %_ptr_Private_uint = OpTypePointer Private %uint |
| 42 | %1 = OpVariable %_ptr_Private_uint Private |
| 43 | %_ptr_Private_bool = OpTypePointer Private %bool |
| 44 | %7 = OpVariable %_ptr_Private_bool Private |
| 45 | %8 = OpVariable %_ptr_Private_bool Private |
| 46 | %100 = OpFunction %void None %9 |
| 47 | %5 = OpLabel |
| 48 | OpBranch %10 |
| 49 | %10 = OpLabel |
| 50 | %101 = OpLoad %bool %7 |
| 51 | %102 = OpLoad %bool %8 |
| 52 | OpLoopMerge %99 %89 None |
| 53 | OpBranchConditional %101 %99 %20 |
| 54 | %20 = OpLabel |
| 55 | %2 = OpPhi %uint %uint_0 %10 %4 %20 |
| 56 | %3 = OpPhi %uint %uint_1 %10 %3 %20 |
| 57 | %4 = OpIAdd %uint %2 %uint_1 |
| 58 | OpLoopMerge %79 %20 None |
| 59 | OpBranchConditional %102 %79 %20 |
| 60 | %79 = OpLabel |
| 61 | OpBranch %89 |
| 62 | %89 = OpLabel |
| 63 | OpBranch %10 |
| 64 | %99 = OpLabel |
| 65 | OpReturn |
| 66 | OpFunctionEnd |
| 67 | |