1cb93a386Sopenharmony_ciOpCapability Shader 2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450" 3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450 4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft 6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor" 7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise" 8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer" 9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "testInputs" 10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorGreen" 11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "colorRed" 12cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 3 "colorWhite" 13cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v" 14cb93a386Sopenharmony_ciOpName %main "main" 15cb93a386Sopenharmony_ciOpName %expectedA "expectedA" 16cb93a386Sopenharmony_ciOpName %expectedB "expectedB" 17cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 19cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 20cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 21cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0 22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16 24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32 26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 Offset 48 28cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 RelaxedPrecision 29cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block 30cb93a386Sopenharmony_ciOpDecorate %10 Binding 0 31cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0 32cb93a386Sopenharmony_ciOpDecorate %expectedA RelaxedPrecision 33cb93a386Sopenharmony_ciOpDecorate %30 RelaxedPrecision 34cb93a386Sopenharmony_ciOpDecorate %expectedB RelaxedPrecision 35cb93a386Sopenharmony_ciOpDecorate %33 RelaxedPrecision 36cb93a386Sopenharmony_ciOpDecorate %40 RelaxedPrecision 37cb93a386Sopenharmony_ciOpDecorate %41 RelaxedPrecision 38cb93a386Sopenharmony_ciOpDecorate %42 RelaxedPrecision 39cb93a386Sopenharmony_ciOpDecorate %43 RelaxedPrecision 40cb93a386Sopenharmony_ciOpDecorate %49 RelaxedPrecision 41cb93a386Sopenharmony_ciOpDecorate %50 RelaxedPrecision 42cb93a386Sopenharmony_ciOpDecorate %51 RelaxedPrecision 43cb93a386Sopenharmony_ciOpDecorate %52 RelaxedPrecision 44cb93a386Sopenharmony_ciOpDecorate %53 RelaxedPrecision 45cb93a386Sopenharmony_ciOpDecorate %62 RelaxedPrecision 46cb93a386Sopenharmony_ciOpDecorate %63 RelaxedPrecision 47cb93a386Sopenharmony_ciOpDecorate %65 RelaxedPrecision 48cb93a386Sopenharmony_ciOpDecorate %66 RelaxedPrecision 49cb93a386Sopenharmony_ciOpDecorate %67 RelaxedPrecision 50cb93a386Sopenharmony_ciOpDecorate %76 RelaxedPrecision 51cb93a386Sopenharmony_ciOpDecorate %77 RelaxedPrecision 52cb93a386Sopenharmony_ciOpDecorate %78 RelaxedPrecision 53cb93a386Sopenharmony_ciOpDecorate %85 RelaxedPrecision 54cb93a386Sopenharmony_ciOpDecorate %86 RelaxedPrecision 55cb93a386Sopenharmony_ciOpDecorate %91 RelaxedPrecision 56cb93a386Sopenharmony_ciOpDecorate %92 RelaxedPrecision 57cb93a386Sopenharmony_ciOpDecorate %93 RelaxedPrecision 58cb93a386Sopenharmony_ciOpDecorate %99 RelaxedPrecision 59cb93a386Sopenharmony_ciOpDecorate %100 RelaxedPrecision 60cb93a386Sopenharmony_ciOpDecorate %101 RelaxedPrecision 61cb93a386Sopenharmony_ciOpDecorate %107 RelaxedPrecision 62cb93a386Sopenharmony_ciOpDecorate %115 RelaxedPrecision 63cb93a386Sopenharmony_ciOpDecorate %116 RelaxedPrecision 64cb93a386Sopenharmony_ciOpDecorate %119 RelaxedPrecision 65cb93a386Sopenharmony_ciOpDecorate %120 RelaxedPrecision 66cb93a386Sopenharmony_ciOpDecorate %121 RelaxedPrecision 67cb93a386Sopenharmony_ciOpDecorate %122 RelaxedPrecision 68cb93a386Sopenharmony_ciOpDecorate %129 RelaxedPrecision 69cb93a386Sopenharmony_ciOpDecorate %130 RelaxedPrecision 70cb93a386Sopenharmony_ciOpDecorate %132 RelaxedPrecision 71cb93a386Sopenharmony_ciOpDecorate %133 RelaxedPrecision 72cb93a386Sopenharmony_ciOpDecorate %134 RelaxedPrecision 73cb93a386Sopenharmony_ciOpDecorate %135 RelaxedPrecision 74cb93a386Sopenharmony_ciOpDecorate %143 RelaxedPrecision 75cb93a386Sopenharmony_ciOpDecorate %144 RelaxedPrecision 76cb93a386Sopenharmony_ciOpDecorate %146 RelaxedPrecision 77cb93a386Sopenharmony_ciOpDecorate %147 RelaxedPrecision 78cb93a386Sopenharmony_ciOpDecorate %148 RelaxedPrecision 79cb93a386Sopenharmony_ciOpDecorate %149 RelaxedPrecision 80cb93a386Sopenharmony_ciOpDecorate %157 RelaxedPrecision 81cb93a386Sopenharmony_ciOpDecorate %159 RelaxedPrecision 82cb93a386Sopenharmony_ciOpDecorate %160 RelaxedPrecision 83cb93a386Sopenharmony_ciOpDecorate %166 RelaxedPrecision 84cb93a386Sopenharmony_ciOpDecorate %167 RelaxedPrecision 85cb93a386Sopenharmony_ciOpDecorate %172 RelaxedPrecision 86cb93a386Sopenharmony_ciOpDecorate %173 RelaxedPrecision 87cb93a386Sopenharmony_ciOpDecorate %174 RelaxedPrecision 88cb93a386Sopenharmony_ciOpDecorate %180 RelaxedPrecision 89cb93a386Sopenharmony_ciOpDecorate %181 RelaxedPrecision 90cb93a386Sopenharmony_ciOpDecorate %182 RelaxedPrecision 91cb93a386Sopenharmony_ciOpDecorate %188 RelaxedPrecision 92cb93a386Sopenharmony_ciOpDecorate %198 RelaxedPrecision 93cb93a386Sopenharmony_ciOpDecorate %201 RelaxedPrecision 94cb93a386Sopenharmony_ciOpDecorate %202 RelaxedPrecision 95cb93a386Sopenharmony_ci%float = OpTypeFloat 32 96cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 97cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 98cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 99cb93a386Sopenharmony_ci%bool = OpTypeBool 100cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 101cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 102cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float 103cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 104cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 105cb93a386Sopenharmony_ci%void = OpTypeVoid 106cb93a386Sopenharmony_ci%15 = OpTypeFunction %void 107cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 108cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 109cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0 110cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 111cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float 112cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float 113cb93a386Sopenharmony_ci%float_0_75 = OpConstant %float 0.75 114cb93a386Sopenharmony_ci%float_0_25 = OpConstant %float 0.25 115cb93a386Sopenharmony_ci%30 = OpConstantComposite %v4float %float_0_75 %float_0 %float_0_75 %float_0_25 116cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1 117cb93a386Sopenharmony_ci%33 = OpConstantComposite %v4float %float_0_25 %float_0 %float_0_75 %float_1 118cb93a386Sopenharmony_ci%false = OpConstantFalse %bool 119cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 120cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 121cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0 122cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2 123cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3 124cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3 125cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4 126cb93a386Sopenharmony_ci%91 = OpConstantComposite %v2float %float_0_75 %float_0 127cb93a386Sopenharmony_ci%99 = OpConstantComposite %v3float %float_0_75 %float_0 %float_0_75 128cb93a386Sopenharmony_ci%int_3 = OpConstant %int 3 129cb93a386Sopenharmony_ci%172 = OpConstantComposite %v2float %float_0_25 %float_0 130cb93a386Sopenharmony_ci%180 = OpConstantComposite %v3float %float_0_25 %float_0 %float_0_75 131cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 132cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2 133cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15 134cb93a386Sopenharmony_ci%16 = OpLabel 135cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function 136cb93a386Sopenharmony_ciOpStore %20 %19 137cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20 138cb93a386Sopenharmony_ciOpStore %sk_FragColor %22 139cb93a386Sopenharmony_ciOpReturn 140cb93a386Sopenharmony_ciOpFunctionEnd 141cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23 142cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float 143cb93a386Sopenharmony_ci%25 = OpLabel 144cb93a386Sopenharmony_ci%expectedA = OpVariable %_ptr_Function_v4float Function 145cb93a386Sopenharmony_ci%expectedB = OpVariable %_ptr_Function_v4float Function 146cb93a386Sopenharmony_ci%192 = OpVariable %_ptr_Function_v4float Function 147cb93a386Sopenharmony_ciOpStore %expectedA %30 148cb93a386Sopenharmony_ciOpStore %expectedB %33 149cb93a386Sopenharmony_ci%36 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 150cb93a386Sopenharmony_ci%40 = OpLoad %v4float %36 151cb93a386Sopenharmony_ci%41 = OpCompositeExtract %float %40 0 152cb93a386Sopenharmony_ci%35 = OpFMod %float %41 %float_1 153cb93a386Sopenharmony_ci%42 = OpLoad %v4float %expectedA 154cb93a386Sopenharmony_ci%43 = OpCompositeExtract %float %42 0 155cb93a386Sopenharmony_ci%44 = OpFOrdEqual %bool %35 %43 156cb93a386Sopenharmony_ciOpSelectionMerge %46 None 157cb93a386Sopenharmony_ciOpBranchConditional %44 %45 %46 158cb93a386Sopenharmony_ci%45 = OpLabel 159cb93a386Sopenharmony_ci%48 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 160cb93a386Sopenharmony_ci%49 = OpLoad %v4float %48 161cb93a386Sopenharmony_ci%50 = OpVectorShuffle %v2float %49 %49 0 1 162cb93a386Sopenharmony_ci%51 = OpCompositeConstruct %v2float %float_1 %float_1 163cb93a386Sopenharmony_ci%47 = OpFMod %v2float %50 %51 164cb93a386Sopenharmony_ci%52 = OpLoad %v4float %expectedA 165cb93a386Sopenharmony_ci%53 = OpVectorShuffle %v2float %52 %52 0 1 166cb93a386Sopenharmony_ci%54 = OpFOrdEqual %v2bool %47 %53 167cb93a386Sopenharmony_ci%56 = OpAll %bool %54 168cb93a386Sopenharmony_ciOpBranch %46 169cb93a386Sopenharmony_ci%46 = OpLabel 170cb93a386Sopenharmony_ci%57 = OpPhi %bool %false %25 %56 %45 171cb93a386Sopenharmony_ciOpSelectionMerge %59 None 172cb93a386Sopenharmony_ciOpBranchConditional %57 %58 %59 173cb93a386Sopenharmony_ci%58 = OpLabel 174cb93a386Sopenharmony_ci%61 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 175cb93a386Sopenharmony_ci%62 = OpLoad %v4float %61 176cb93a386Sopenharmony_ci%63 = OpVectorShuffle %v3float %62 %62 0 1 2 177cb93a386Sopenharmony_ci%65 = OpCompositeConstruct %v3float %float_1 %float_1 %float_1 178cb93a386Sopenharmony_ci%60 = OpFMod %v3float %63 %65 179cb93a386Sopenharmony_ci%66 = OpLoad %v4float %expectedA 180cb93a386Sopenharmony_ci%67 = OpVectorShuffle %v3float %66 %66 0 1 2 181cb93a386Sopenharmony_ci%68 = OpFOrdEqual %v3bool %60 %67 182cb93a386Sopenharmony_ci%70 = OpAll %bool %68 183cb93a386Sopenharmony_ciOpBranch %59 184cb93a386Sopenharmony_ci%59 = OpLabel 185cb93a386Sopenharmony_ci%71 = OpPhi %bool %false %46 %70 %58 186cb93a386Sopenharmony_ciOpSelectionMerge %73 None 187cb93a386Sopenharmony_ciOpBranchConditional %71 %72 %73 188cb93a386Sopenharmony_ci%72 = OpLabel 189cb93a386Sopenharmony_ci%75 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 190cb93a386Sopenharmony_ci%76 = OpLoad %v4float %75 191cb93a386Sopenharmony_ci%77 = OpCompositeConstruct %v4float %float_1 %float_1 %float_1 %float_1 192cb93a386Sopenharmony_ci%74 = OpFMod %v4float %76 %77 193cb93a386Sopenharmony_ci%78 = OpLoad %v4float %expectedA 194cb93a386Sopenharmony_ci%79 = OpFOrdEqual %v4bool %74 %78 195cb93a386Sopenharmony_ci%81 = OpAll %bool %79 196cb93a386Sopenharmony_ciOpBranch %73 197cb93a386Sopenharmony_ci%73 = OpLabel 198cb93a386Sopenharmony_ci%82 = OpPhi %bool %false %59 %81 %72 199cb93a386Sopenharmony_ciOpSelectionMerge %84 None 200cb93a386Sopenharmony_ciOpBranchConditional %82 %83 %84 201cb93a386Sopenharmony_ci%83 = OpLabel 202cb93a386Sopenharmony_ci%85 = OpLoad %v4float %expectedA 203cb93a386Sopenharmony_ci%86 = OpCompositeExtract %float %85 0 204cb93a386Sopenharmony_ci%87 = OpFOrdEqual %bool %float_0_75 %86 205cb93a386Sopenharmony_ciOpBranch %84 206cb93a386Sopenharmony_ci%84 = OpLabel 207cb93a386Sopenharmony_ci%88 = OpPhi %bool %false %73 %87 %83 208cb93a386Sopenharmony_ciOpSelectionMerge %90 None 209cb93a386Sopenharmony_ciOpBranchConditional %88 %89 %90 210cb93a386Sopenharmony_ci%89 = OpLabel 211cb93a386Sopenharmony_ci%92 = OpLoad %v4float %expectedA 212cb93a386Sopenharmony_ci%93 = OpVectorShuffle %v2float %92 %92 0 1 213cb93a386Sopenharmony_ci%94 = OpFOrdEqual %v2bool %91 %93 214cb93a386Sopenharmony_ci%95 = OpAll %bool %94 215cb93a386Sopenharmony_ciOpBranch %90 216cb93a386Sopenharmony_ci%90 = OpLabel 217cb93a386Sopenharmony_ci%96 = OpPhi %bool %false %84 %95 %89 218cb93a386Sopenharmony_ciOpSelectionMerge %98 None 219cb93a386Sopenharmony_ciOpBranchConditional %96 %97 %98 220cb93a386Sopenharmony_ci%97 = OpLabel 221cb93a386Sopenharmony_ci%100 = OpLoad %v4float %expectedA 222cb93a386Sopenharmony_ci%101 = OpVectorShuffle %v3float %100 %100 0 1 2 223cb93a386Sopenharmony_ci%102 = OpFOrdEqual %v3bool %99 %101 224cb93a386Sopenharmony_ci%103 = OpAll %bool %102 225cb93a386Sopenharmony_ciOpBranch %98 226cb93a386Sopenharmony_ci%98 = OpLabel 227cb93a386Sopenharmony_ci%104 = OpPhi %bool %false %90 %103 %97 228cb93a386Sopenharmony_ciOpSelectionMerge %106 None 229cb93a386Sopenharmony_ciOpBranchConditional %104 %105 %106 230cb93a386Sopenharmony_ci%105 = OpLabel 231cb93a386Sopenharmony_ci%107 = OpLoad %v4float %expectedA 232cb93a386Sopenharmony_ci%108 = OpFOrdEqual %v4bool %30 %107 233cb93a386Sopenharmony_ci%109 = OpAll %bool %108 234cb93a386Sopenharmony_ciOpBranch %106 235cb93a386Sopenharmony_ci%106 = OpLabel 236cb93a386Sopenharmony_ci%110 = OpPhi %bool %false %98 %109 %105 237cb93a386Sopenharmony_ciOpSelectionMerge %112 None 238cb93a386Sopenharmony_ciOpBranchConditional %110 %111 %112 239cb93a386Sopenharmony_ci%111 = OpLabel 240cb93a386Sopenharmony_ci%114 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 241cb93a386Sopenharmony_ci%115 = OpLoad %v4float %114 242cb93a386Sopenharmony_ci%116 = OpCompositeExtract %float %115 0 243cb93a386Sopenharmony_ci%117 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 244cb93a386Sopenharmony_ci%119 = OpLoad %v4float %117 245cb93a386Sopenharmony_ci%120 = OpCompositeExtract %float %119 0 246cb93a386Sopenharmony_ci%113 = OpFMod %float %116 %120 247cb93a386Sopenharmony_ci%121 = OpLoad %v4float %expectedA 248cb93a386Sopenharmony_ci%122 = OpCompositeExtract %float %121 0 249cb93a386Sopenharmony_ci%123 = OpFOrdEqual %bool %113 %122 250cb93a386Sopenharmony_ciOpBranch %112 251cb93a386Sopenharmony_ci%112 = OpLabel 252cb93a386Sopenharmony_ci%124 = OpPhi %bool %false %106 %123 %111 253cb93a386Sopenharmony_ciOpSelectionMerge %126 None 254cb93a386Sopenharmony_ciOpBranchConditional %124 %125 %126 255cb93a386Sopenharmony_ci%125 = OpLabel 256cb93a386Sopenharmony_ci%128 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 257cb93a386Sopenharmony_ci%129 = OpLoad %v4float %128 258cb93a386Sopenharmony_ci%130 = OpVectorShuffle %v2float %129 %129 0 1 259cb93a386Sopenharmony_ci%131 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 260cb93a386Sopenharmony_ci%132 = OpLoad %v4float %131 261cb93a386Sopenharmony_ci%133 = OpVectorShuffle %v2float %132 %132 0 1 262cb93a386Sopenharmony_ci%127 = OpFMod %v2float %130 %133 263cb93a386Sopenharmony_ci%134 = OpLoad %v4float %expectedA 264cb93a386Sopenharmony_ci%135 = OpVectorShuffle %v2float %134 %134 0 1 265cb93a386Sopenharmony_ci%136 = OpFOrdEqual %v2bool %127 %135 266cb93a386Sopenharmony_ci%137 = OpAll %bool %136 267cb93a386Sopenharmony_ciOpBranch %126 268cb93a386Sopenharmony_ci%126 = OpLabel 269cb93a386Sopenharmony_ci%138 = OpPhi %bool %false %112 %137 %125 270cb93a386Sopenharmony_ciOpSelectionMerge %140 None 271cb93a386Sopenharmony_ciOpBranchConditional %138 %139 %140 272cb93a386Sopenharmony_ci%139 = OpLabel 273cb93a386Sopenharmony_ci%142 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 274cb93a386Sopenharmony_ci%143 = OpLoad %v4float %142 275cb93a386Sopenharmony_ci%144 = OpVectorShuffle %v3float %143 %143 0 1 2 276cb93a386Sopenharmony_ci%145 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 277cb93a386Sopenharmony_ci%146 = OpLoad %v4float %145 278cb93a386Sopenharmony_ci%147 = OpVectorShuffle %v3float %146 %146 0 1 2 279cb93a386Sopenharmony_ci%141 = OpFMod %v3float %144 %147 280cb93a386Sopenharmony_ci%148 = OpLoad %v4float %expectedA 281cb93a386Sopenharmony_ci%149 = OpVectorShuffle %v3float %148 %148 0 1 2 282cb93a386Sopenharmony_ci%150 = OpFOrdEqual %v3bool %141 %149 283cb93a386Sopenharmony_ci%151 = OpAll %bool %150 284cb93a386Sopenharmony_ciOpBranch %140 285cb93a386Sopenharmony_ci%140 = OpLabel 286cb93a386Sopenharmony_ci%152 = OpPhi %bool %false %126 %151 %139 287cb93a386Sopenharmony_ciOpSelectionMerge %154 None 288cb93a386Sopenharmony_ciOpBranchConditional %152 %153 %154 289cb93a386Sopenharmony_ci%153 = OpLabel 290cb93a386Sopenharmony_ci%156 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 291cb93a386Sopenharmony_ci%157 = OpLoad %v4float %156 292cb93a386Sopenharmony_ci%158 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 293cb93a386Sopenharmony_ci%159 = OpLoad %v4float %158 294cb93a386Sopenharmony_ci%155 = OpFMod %v4float %157 %159 295cb93a386Sopenharmony_ci%160 = OpLoad %v4float %expectedA 296cb93a386Sopenharmony_ci%161 = OpFOrdEqual %v4bool %155 %160 297cb93a386Sopenharmony_ci%162 = OpAll %bool %161 298cb93a386Sopenharmony_ciOpBranch %154 299cb93a386Sopenharmony_ci%154 = OpLabel 300cb93a386Sopenharmony_ci%163 = OpPhi %bool %false %140 %162 %153 301cb93a386Sopenharmony_ciOpSelectionMerge %165 None 302cb93a386Sopenharmony_ciOpBranchConditional %163 %164 %165 303cb93a386Sopenharmony_ci%164 = OpLabel 304cb93a386Sopenharmony_ci%166 = OpLoad %v4float %expectedB 305cb93a386Sopenharmony_ci%167 = OpCompositeExtract %float %166 0 306cb93a386Sopenharmony_ci%168 = OpFOrdEqual %bool %float_0_25 %167 307cb93a386Sopenharmony_ciOpBranch %165 308cb93a386Sopenharmony_ci%165 = OpLabel 309cb93a386Sopenharmony_ci%169 = OpPhi %bool %false %154 %168 %164 310cb93a386Sopenharmony_ciOpSelectionMerge %171 None 311cb93a386Sopenharmony_ciOpBranchConditional %169 %170 %171 312cb93a386Sopenharmony_ci%170 = OpLabel 313cb93a386Sopenharmony_ci%173 = OpLoad %v4float %expectedB 314cb93a386Sopenharmony_ci%174 = OpVectorShuffle %v2float %173 %173 0 1 315cb93a386Sopenharmony_ci%175 = OpFOrdEqual %v2bool %172 %174 316cb93a386Sopenharmony_ci%176 = OpAll %bool %175 317cb93a386Sopenharmony_ciOpBranch %171 318cb93a386Sopenharmony_ci%171 = OpLabel 319cb93a386Sopenharmony_ci%177 = OpPhi %bool %false %165 %176 %170 320cb93a386Sopenharmony_ciOpSelectionMerge %179 None 321cb93a386Sopenharmony_ciOpBranchConditional %177 %178 %179 322cb93a386Sopenharmony_ci%178 = OpLabel 323cb93a386Sopenharmony_ci%181 = OpLoad %v4float %expectedB 324cb93a386Sopenharmony_ci%182 = OpVectorShuffle %v3float %181 %181 0 1 2 325cb93a386Sopenharmony_ci%183 = OpFOrdEqual %v3bool %180 %182 326cb93a386Sopenharmony_ci%184 = OpAll %bool %183 327cb93a386Sopenharmony_ciOpBranch %179 328cb93a386Sopenharmony_ci%179 = OpLabel 329cb93a386Sopenharmony_ci%185 = OpPhi %bool %false %171 %184 %178 330cb93a386Sopenharmony_ciOpSelectionMerge %187 None 331cb93a386Sopenharmony_ciOpBranchConditional %185 %186 %187 332cb93a386Sopenharmony_ci%186 = OpLabel 333cb93a386Sopenharmony_ci%188 = OpLoad %v4float %expectedB 334cb93a386Sopenharmony_ci%189 = OpFOrdEqual %v4bool %33 %188 335cb93a386Sopenharmony_ci%190 = OpAll %bool %189 336cb93a386Sopenharmony_ciOpBranch %187 337cb93a386Sopenharmony_ci%187 = OpLabel 338cb93a386Sopenharmony_ci%191 = OpPhi %bool %false %179 %190 %186 339cb93a386Sopenharmony_ciOpSelectionMerge %195 None 340cb93a386Sopenharmony_ciOpBranchConditional %191 %193 %194 341cb93a386Sopenharmony_ci%193 = OpLabel 342cb93a386Sopenharmony_ci%196 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 343cb93a386Sopenharmony_ci%198 = OpLoad %v4float %196 344cb93a386Sopenharmony_ciOpStore %192 %198 345cb93a386Sopenharmony_ciOpBranch %195 346cb93a386Sopenharmony_ci%194 = OpLabel 347cb93a386Sopenharmony_ci%199 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 348cb93a386Sopenharmony_ci%201 = OpLoad %v4float %199 349cb93a386Sopenharmony_ciOpStore %192 %201 350cb93a386Sopenharmony_ciOpBranch %195 351cb93a386Sopenharmony_ci%195 = OpLabel 352cb93a386Sopenharmony_ci%202 = OpLoad %v4float %192 353cb93a386Sopenharmony_ciOpReturnValue %202 354cb93a386Sopenharmony_ciOpFunctionEnd 355