1e5c31af7Sopenharmony_ci#!amber 2e5c31af7Sopenharmony_ci 3e5c31af7Sopenharmony_ci# Copyright 2020 Google LLC 4e5c31af7Sopenharmony_ci# 5e5c31af7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 6e5c31af7Sopenharmony_ci# you may not use this file except in compliance with the License. 7e5c31af7Sopenharmony_ci# You may obtain a copy of the License at 8e5c31af7Sopenharmony_ci# 9e5c31af7Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 10e5c31af7Sopenharmony_ci# 11e5c31af7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 12e5c31af7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 13e5c31af7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e5c31af7Sopenharmony_ci# See the License for the specific language governing permissions and 15e5c31af7Sopenharmony_ci# limitations under the License. 16e5c31af7Sopenharmony_ci 17e5c31af7Sopenharmony_ci 18e5c31af7Sopenharmony_ci# A test for a bug found by the GraphicsFuzz project. 19e5c31af7Sopenharmony_ci 20e5c31af7Sopenharmony_ci# Short description: Three shaders with diff: conditional %270 is flattened 21e5c31af7Sopenharmony_ci 22e5c31af7Sopenharmony_ci# The test renders three images using semantically equivalent shaders, and then 23e5c31af7Sopenharmony_ci# checks that the images are similar. 24e5c31af7Sopenharmony_ci# The test passes because the shaders have the same semantics and so the images 25e5c31af7Sopenharmony_ci# should be the same. 26e5c31af7Sopenharmony_ci 27e5c31af7Sopenharmony_ciSHADER vertex reference_vertex_shader PASSTHROUGH 28e5c31af7Sopenharmony_ci 29e5c31af7Sopenharmony_ciSHADER fragment reference_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 30e5c31af7Sopenharmony_ci; SPIR-V 31e5c31af7Sopenharmony_ci; Version: 1.0 32e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 7 33e5c31af7Sopenharmony_ci; Bound: 442 34e5c31af7Sopenharmony_ci; Schema: 0 35e5c31af7Sopenharmony_ci OpCapability Shader 36e5c31af7Sopenharmony_ci %1 = OpExtInstImport "GLSL.std.450" 37e5c31af7Sopenharmony_ci OpMemoryModel Logical GLSL450 38e5c31af7Sopenharmony_ci OpEntryPoint Fragment %4 "main" %12 %435 39e5c31af7Sopenharmony_ci OpExecutionMode %4 OriginUpperLeft 40e5c31af7Sopenharmony_ci OpSource ESSL 320 41e5c31af7Sopenharmony_ci OpName %4 "main" 42e5c31af7Sopenharmony_ci OpName %9 "pos" 43e5c31af7Sopenharmony_ci OpName %12 "gl_FragCoord" 44e5c31af7Sopenharmony_ci OpName %15 "buf0" 45e5c31af7Sopenharmony_ci OpMemberName %15 0 "resolution" 46e5c31af7Sopenharmony_ci OpName %17 "" 47e5c31af7Sopenharmony_ci OpName %26 "ipos" 48e5c31af7Sopenharmony_ci OpName %42 "i" 49e5c31af7Sopenharmony_ci OpName %55 "map" 50e5c31af7Sopenharmony_ci OpName %62 "p" 51e5c31af7Sopenharmony_ci OpName %65 "canwalk" 52e5c31af7Sopenharmony_ci OpName %67 "v" 53e5c31af7Sopenharmony_ci OpName %74 "directions" 54e5c31af7Sopenharmony_ci OpName %171 "j" 55e5c31af7Sopenharmony_ci OpName %208 "d" 56e5c31af7Sopenharmony_ci OpName %435 "_GLF_color" 57e5c31af7Sopenharmony_ci OpDecorate %12 BuiltIn FragCoord 58e5c31af7Sopenharmony_ci OpMemberDecorate %15 0 Offset 0 59e5c31af7Sopenharmony_ci OpDecorate %15 Block 60e5c31af7Sopenharmony_ci OpDecorate %17 DescriptorSet 0 61e5c31af7Sopenharmony_ci OpDecorate %17 Binding 0 62e5c31af7Sopenharmony_ci OpDecorate %435 Location 0 63e5c31af7Sopenharmony_ci %2 = OpTypeVoid 64e5c31af7Sopenharmony_ci %3 = OpTypeFunction %2 65e5c31af7Sopenharmony_ci %6 = OpTypeFloat 32 66e5c31af7Sopenharmony_ci %7 = OpTypeVector %6 2 67e5c31af7Sopenharmony_ci %8 = OpTypePointer Function %7 68e5c31af7Sopenharmony_ci %10 = OpTypeVector %6 4 69e5c31af7Sopenharmony_ci %11 = OpTypePointer Input %10 70e5c31af7Sopenharmony_ci %12 = OpVariable %11 Input 71e5c31af7Sopenharmony_ci %15 = OpTypeStruct %7 72e5c31af7Sopenharmony_ci %16 = OpTypePointer Uniform %15 73e5c31af7Sopenharmony_ci %17 = OpVariable %16 Uniform 74e5c31af7Sopenharmony_ci %18 = OpTypeInt 32 1 75e5c31af7Sopenharmony_ci %19 = OpConstant %18 0 76e5c31af7Sopenharmony_ci %20 = OpTypePointer Uniform %7 77e5c31af7Sopenharmony_ci %24 = OpTypeVector %18 2 78e5c31af7Sopenharmony_ci %25 = OpTypePointer Function %24 79e5c31af7Sopenharmony_ci %27 = OpTypeInt 32 0 80e5c31af7Sopenharmony_ci %28 = OpConstant %27 0 81e5c31af7Sopenharmony_ci %29 = OpTypePointer Function %6 82e5c31af7Sopenharmony_ci %32 = OpConstant %6 16 83e5c31af7Sopenharmony_ci %35 = OpConstant %27 1 84e5c31af7Sopenharmony_ci %41 = OpTypePointer Function %18 85e5c31af7Sopenharmony_ci %49 = OpConstant %18 256 86e5c31af7Sopenharmony_ci %50 = OpTypeBool 87e5c31af7Sopenharmony_ci %52 = OpConstant %27 256 88e5c31af7Sopenharmony_ci %53 = OpTypeArray %18 %52 89e5c31af7Sopenharmony_ci %54 = OpTypePointer Private %53 90e5c31af7Sopenharmony_ci %55 = OpVariable %54 Private 91e5c31af7Sopenharmony_ci %57 = OpTypePointer Private %18 92e5c31af7Sopenharmony_ci %60 = OpConstant %18 1 93e5c31af7Sopenharmony_ci %63 = OpConstantComposite %24 %19 %19 94e5c31af7Sopenharmony_ci %64 = OpTypePointer Function %50 95e5c31af7Sopenharmony_ci %66 = OpConstantTrue %50 96e5c31af7Sopenharmony_ci %82 = OpConstant %18 2 97e5c31af7Sopenharmony_ci %86 = OpConstant %18 16 98e5c31af7Sopenharmony_ci %119 = OpConstant %18 14 99e5c31af7Sopenharmony_ci %162 = OpConstantFalse %50 100e5c31af7Sopenharmony_ci %169 = OpConstant %18 8 101e5c31af7Sopenharmony_ci %434 = OpTypePointer Output %10 102e5c31af7Sopenharmony_ci %435 = OpVariable %434 Output 103e5c31af7Sopenharmony_ci %436 = OpConstant %6 1 104e5c31af7Sopenharmony_ci %437 = OpConstantComposite %10 %436 %436 %436 %436 105e5c31af7Sopenharmony_ci %440 = OpConstant %6 0 106e5c31af7Sopenharmony_ci %441 = OpConstantComposite %10 %440 %440 %440 %436 107e5c31af7Sopenharmony_ci %4 = OpFunction %2 None %3 108e5c31af7Sopenharmony_ci %5 = OpLabel 109e5c31af7Sopenharmony_ci %9 = OpVariable %8 Function 110e5c31af7Sopenharmony_ci %26 = OpVariable %25 Function 111e5c31af7Sopenharmony_ci %42 = OpVariable %41 Function 112e5c31af7Sopenharmony_ci %62 = OpVariable %25 Function 113e5c31af7Sopenharmony_ci %65 = OpVariable %64 Function 114e5c31af7Sopenharmony_ci %67 = OpVariable %41 Function 115e5c31af7Sopenharmony_ci %74 = OpVariable %41 Function 116e5c31af7Sopenharmony_ci %171 = OpVariable %41 Function 117e5c31af7Sopenharmony_ci %208 = OpVariable %41 Function 118e5c31af7Sopenharmony_ci %13 = OpLoad %10 %12 119e5c31af7Sopenharmony_ci %14 = OpVectorShuffle %7 %13 %13 0 1 120e5c31af7Sopenharmony_ci %21 = OpAccessChain %20 %17 %19 121e5c31af7Sopenharmony_ci %22 = OpLoad %7 %21 122e5c31af7Sopenharmony_ci %23 = OpFDiv %7 %14 %22 123e5c31af7Sopenharmony_ci OpStore %9 %23 124e5c31af7Sopenharmony_ci %30 = OpAccessChain %29 %9 %28 125e5c31af7Sopenharmony_ci %31 = OpLoad %6 %30 126e5c31af7Sopenharmony_ci %33 = OpFMul %6 %31 %32 127e5c31af7Sopenharmony_ci %34 = OpConvertFToS %18 %33 128e5c31af7Sopenharmony_ci %36 = OpAccessChain %29 %9 %35 129e5c31af7Sopenharmony_ci %37 = OpLoad %6 %36 130e5c31af7Sopenharmony_ci %38 = OpFMul %6 %37 %32 131e5c31af7Sopenharmony_ci %39 = OpConvertFToS %18 %38 132e5c31af7Sopenharmony_ci %40 = OpCompositeConstruct %24 %34 %39 133e5c31af7Sopenharmony_ci OpStore %26 %40 134e5c31af7Sopenharmony_ci OpStore %42 %19 135e5c31af7Sopenharmony_ci OpBranch %43 136e5c31af7Sopenharmony_ci %43 = OpLabel 137e5c31af7Sopenharmony_ci OpLoopMerge %45 %46 None 138e5c31af7Sopenharmony_ci OpBranch %47 139e5c31af7Sopenharmony_ci %47 = OpLabel 140e5c31af7Sopenharmony_ci %48 = OpLoad %18 %42 141e5c31af7Sopenharmony_ci %51 = OpSLessThan %50 %48 %49 142e5c31af7Sopenharmony_ci OpBranchConditional %51 %44 %45 143e5c31af7Sopenharmony_ci %44 = OpLabel 144e5c31af7Sopenharmony_ci %56 = OpLoad %18 %42 145e5c31af7Sopenharmony_ci %58 = OpAccessChain %57 %55 %56 146e5c31af7Sopenharmony_ci OpStore %58 %19 147e5c31af7Sopenharmony_ci OpBranch %46 148e5c31af7Sopenharmony_ci %46 = OpLabel 149e5c31af7Sopenharmony_ci %59 = OpLoad %18 %42 150e5c31af7Sopenharmony_ci %61 = OpIAdd %18 %59 %60 151e5c31af7Sopenharmony_ci OpStore %42 %61 152e5c31af7Sopenharmony_ci OpBranch %43 153e5c31af7Sopenharmony_ci %45 = OpLabel 154e5c31af7Sopenharmony_ci OpStore %62 %63 155e5c31af7Sopenharmony_ci OpStore %65 %66 156e5c31af7Sopenharmony_ci OpStore %67 %19 157e5c31af7Sopenharmony_ci OpBranch %68 158e5c31af7Sopenharmony_ci %68 = OpLabel 159e5c31af7Sopenharmony_ci OpLoopMerge %70 %71 None 160e5c31af7Sopenharmony_ci OpBranch %69 161e5c31af7Sopenharmony_ci %69 = OpLabel 162e5c31af7Sopenharmony_ci %72 = OpLoad %18 %67 163e5c31af7Sopenharmony_ci %73 = OpIAdd %18 %72 %60 164e5c31af7Sopenharmony_ci OpStore %67 %73 165e5c31af7Sopenharmony_ci OpStore %74 %19 166e5c31af7Sopenharmony_ci %75 = OpAccessChain %41 %62 %28 167e5c31af7Sopenharmony_ci %76 = OpLoad %18 %75 168e5c31af7Sopenharmony_ci %77 = OpSGreaterThan %50 %76 %19 169e5c31af7Sopenharmony_ci OpSelectionMerge %79 None 170e5c31af7Sopenharmony_ci OpBranchConditional %77 %78 %79 171e5c31af7Sopenharmony_ci %78 = OpLabel 172e5c31af7Sopenharmony_ci %80 = OpAccessChain %41 %62 %28 173e5c31af7Sopenharmony_ci %81 = OpLoad %18 %80 174e5c31af7Sopenharmony_ci %83 = OpISub %18 %81 %82 175e5c31af7Sopenharmony_ci %84 = OpAccessChain %41 %62 %35 176e5c31af7Sopenharmony_ci %85 = OpLoad %18 %84 177e5c31af7Sopenharmony_ci %87 = OpIMul %18 %85 %86 178e5c31af7Sopenharmony_ci %88 = OpIAdd %18 %83 %87 179e5c31af7Sopenharmony_ci %89 = OpAccessChain %57 %55 %88 180e5c31af7Sopenharmony_ci %90 = OpLoad %18 %89 181e5c31af7Sopenharmony_ci %91 = OpIEqual %50 %90 %19 182e5c31af7Sopenharmony_ci OpBranch %79 183e5c31af7Sopenharmony_ci %79 = OpLabel 184e5c31af7Sopenharmony_ci %92 = OpPhi %50 %77 %69 %91 %78 185e5c31af7Sopenharmony_ci OpSelectionMerge %94 None 186e5c31af7Sopenharmony_ci OpBranchConditional %92 %93 %94 187e5c31af7Sopenharmony_ci %93 = OpLabel 188e5c31af7Sopenharmony_ci %95 = OpLoad %18 %74 189e5c31af7Sopenharmony_ci %96 = OpIAdd %18 %95 %60 190e5c31af7Sopenharmony_ci OpStore %74 %96 191e5c31af7Sopenharmony_ci OpBranch %94 192e5c31af7Sopenharmony_ci %94 = OpLabel 193e5c31af7Sopenharmony_ci %97 = OpAccessChain %41 %62 %35 194e5c31af7Sopenharmony_ci %98 = OpLoad %18 %97 195e5c31af7Sopenharmony_ci %99 = OpSGreaterThan %50 %98 %19 196e5c31af7Sopenharmony_ci OpSelectionMerge %101 None 197e5c31af7Sopenharmony_ci OpBranchConditional %99 %100 %101 198e5c31af7Sopenharmony_ci %100 = OpLabel 199e5c31af7Sopenharmony_ci %102 = OpAccessChain %41 %62 %28 200e5c31af7Sopenharmony_ci %103 = OpLoad %18 %102 201e5c31af7Sopenharmony_ci %104 = OpAccessChain %41 %62 %35 202e5c31af7Sopenharmony_ci %105 = OpLoad %18 %104 203e5c31af7Sopenharmony_ci %106 = OpISub %18 %105 %82 204e5c31af7Sopenharmony_ci %107 = OpIMul %18 %106 %86 205e5c31af7Sopenharmony_ci %108 = OpIAdd %18 %103 %107 206e5c31af7Sopenharmony_ci %109 = OpAccessChain %57 %55 %108 207e5c31af7Sopenharmony_ci %110 = OpLoad %18 %109 208e5c31af7Sopenharmony_ci %111 = OpIEqual %50 %110 %19 209e5c31af7Sopenharmony_ci OpBranch %101 210e5c31af7Sopenharmony_ci %101 = OpLabel 211e5c31af7Sopenharmony_ci %112 = OpPhi %50 %99 %94 %111 %100 212e5c31af7Sopenharmony_ci OpSelectionMerge %114 None 213e5c31af7Sopenharmony_ci OpBranchConditional %112 %113 %114 214e5c31af7Sopenharmony_ci %113 = OpLabel 215e5c31af7Sopenharmony_ci %115 = OpLoad %18 %74 216e5c31af7Sopenharmony_ci %116 = OpIAdd %18 %115 %60 217e5c31af7Sopenharmony_ci OpStore %74 %116 218e5c31af7Sopenharmony_ci OpBranch %114 219e5c31af7Sopenharmony_ci %114 = OpLabel 220e5c31af7Sopenharmony_ci %117 = OpAccessChain %41 %62 %28 221e5c31af7Sopenharmony_ci %118 = OpLoad %18 %117 222e5c31af7Sopenharmony_ci %120 = OpSLessThan %50 %118 %119 223e5c31af7Sopenharmony_ci OpSelectionMerge %122 None 224e5c31af7Sopenharmony_ci OpBranchConditional %120 %121 %122 225e5c31af7Sopenharmony_ci %121 = OpLabel 226e5c31af7Sopenharmony_ci %123 = OpAccessChain %41 %62 %28 227e5c31af7Sopenharmony_ci %124 = OpLoad %18 %123 228e5c31af7Sopenharmony_ci %125 = OpIAdd %18 %124 %82 229e5c31af7Sopenharmony_ci %126 = OpAccessChain %41 %62 %35 230e5c31af7Sopenharmony_ci %127 = OpLoad %18 %126 231e5c31af7Sopenharmony_ci %128 = OpIMul %18 %127 %86 232e5c31af7Sopenharmony_ci %129 = OpIAdd %18 %125 %128 233e5c31af7Sopenharmony_ci %130 = OpAccessChain %57 %55 %129 234e5c31af7Sopenharmony_ci %131 = OpLoad %18 %130 235e5c31af7Sopenharmony_ci %132 = OpIEqual %50 %131 %19 236e5c31af7Sopenharmony_ci OpBranch %122 237e5c31af7Sopenharmony_ci %122 = OpLabel 238e5c31af7Sopenharmony_ci %133 = OpPhi %50 %120 %114 %132 %121 239e5c31af7Sopenharmony_ci OpSelectionMerge %135 None 240e5c31af7Sopenharmony_ci OpBranchConditional %133 %134 %135 241e5c31af7Sopenharmony_ci %134 = OpLabel 242e5c31af7Sopenharmony_ci %136 = OpLoad %18 %74 243e5c31af7Sopenharmony_ci %137 = OpIAdd %18 %136 %60 244e5c31af7Sopenharmony_ci OpStore %74 %137 245e5c31af7Sopenharmony_ci OpBranch %135 246e5c31af7Sopenharmony_ci %135 = OpLabel 247e5c31af7Sopenharmony_ci %138 = OpAccessChain %41 %62 %35 248e5c31af7Sopenharmony_ci %139 = OpLoad %18 %138 249e5c31af7Sopenharmony_ci %140 = OpSLessThan %50 %139 %119 250e5c31af7Sopenharmony_ci OpSelectionMerge %142 None 251e5c31af7Sopenharmony_ci OpBranchConditional %140 %141 %142 252e5c31af7Sopenharmony_ci %141 = OpLabel 253e5c31af7Sopenharmony_ci %143 = OpAccessChain %41 %62 %28 254e5c31af7Sopenharmony_ci %144 = OpLoad %18 %143 255e5c31af7Sopenharmony_ci %145 = OpAccessChain %41 %62 %35 256e5c31af7Sopenharmony_ci %146 = OpLoad %18 %145 257e5c31af7Sopenharmony_ci %147 = OpIAdd %18 %146 %82 258e5c31af7Sopenharmony_ci %148 = OpIMul %18 %147 %86 259e5c31af7Sopenharmony_ci %149 = OpIAdd %18 %144 %148 260e5c31af7Sopenharmony_ci %150 = OpAccessChain %57 %55 %149 261e5c31af7Sopenharmony_ci %151 = OpLoad %18 %150 262e5c31af7Sopenharmony_ci %152 = OpIEqual %50 %151 %19 263e5c31af7Sopenharmony_ci OpBranch %142 264e5c31af7Sopenharmony_ci %142 = OpLabel 265e5c31af7Sopenharmony_ci %153 = OpPhi %50 %140 %135 %152 %141 266e5c31af7Sopenharmony_ci OpSelectionMerge %155 None 267e5c31af7Sopenharmony_ci OpBranchConditional %153 %154 %155 268e5c31af7Sopenharmony_ci %154 = OpLabel 269e5c31af7Sopenharmony_ci %156 = OpLoad %18 %74 270e5c31af7Sopenharmony_ci %157 = OpIAdd %18 %156 %60 271e5c31af7Sopenharmony_ci OpStore %74 %157 272e5c31af7Sopenharmony_ci OpBranch %155 273e5c31af7Sopenharmony_ci %155 = OpLabel 274e5c31af7Sopenharmony_ci %158 = OpLoad %18 %74 275e5c31af7Sopenharmony_ci %159 = OpIEqual %50 %158 %19 276e5c31af7Sopenharmony_ci OpSelectionMerge %161 None 277e5c31af7Sopenharmony_ci OpBranchConditional %159 %160 %207 278e5c31af7Sopenharmony_ci %160 = OpLabel 279e5c31af7Sopenharmony_ci OpStore %65 %162 280e5c31af7Sopenharmony_ci OpStore %42 %19 281e5c31af7Sopenharmony_ci OpBranch %163 282e5c31af7Sopenharmony_ci %163 = OpLabel 283e5c31af7Sopenharmony_ci OpLoopMerge %165 %166 None 284e5c31af7Sopenharmony_ci OpBranch %167 285e5c31af7Sopenharmony_ci %167 = OpLabel 286e5c31af7Sopenharmony_ci %168 = OpLoad %18 %42 287e5c31af7Sopenharmony_ci %170 = OpSLessThan %50 %168 %169 288e5c31af7Sopenharmony_ci OpBranchConditional %170 %164 %165 289e5c31af7Sopenharmony_ci %164 = OpLabel 290e5c31af7Sopenharmony_ci OpStore %171 %19 291e5c31af7Sopenharmony_ci OpBranch %172 292e5c31af7Sopenharmony_ci %172 = OpLabel 293e5c31af7Sopenharmony_ci OpLoopMerge %174 %175 None 294e5c31af7Sopenharmony_ci OpBranch %176 295e5c31af7Sopenharmony_ci %176 = OpLabel 296e5c31af7Sopenharmony_ci %177 = OpLoad %18 %171 297e5c31af7Sopenharmony_ci %178 = OpSLessThan %50 %177 %169 298e5c31af7Sopenharmony_ci OpBranchConditional %178 %173 %174 299e5c31af7Sopenharmony_ci %173 = OpLabel 300e5c31af7Sopenharmony_ci %179 = OpLoad %18 %171 301e5c31af7Sopenharmony_ci %180 = OpIMul %18 %179 %82 302e5c31af7Sopenharmony_ci %181 = OpLoad %18 %42 303e5c31af7Sopenharmony_ci %182 = OpIMul %18 %181 %82 304e5c31af7Sopenharmony_ci %183 = OpIMul %18 %182 %86 305e5c31af7Sopenharmony_ci %184 = OpIAdd %18 %180 %183 306e5c31af7Sopenharmony_ci %185 = OpAccessChain %57 %55 %184 307e5c31af7Sopenharmony_ci %186 = OpLoad %18 %185 308e5c31af7Sopenharmony_ci %187 = OpIEqual %50 %186 %19 309e5c31af7Sopenharmony_ci OpSelectionMerge %189 None 310e5c31af7Sopenharmony_ci OpBranchConditional %187 %188 %189 311e5c31af7Sopenharmony_ci %188 = OpLabel 312e5c31af7Sopenharmony_ci %190 = OpLoad %18 %171 313e5c31af7Sopenharmony_ci %191 = OpIMul %18 %190 %82 314e5c31af7Sopenharmony_ci %192 = OpAccessChain %41 %62 %28 315e5c31af7Sopenharmony_ci OpStore %192 %191 316e5c31af7Sopenharmony_ci %193 = OpLoad %18 %42 317e5c31af7Sopenharmony_ci %194 = OpIMul %18 %193 %82 318e5c31af7Sopenharmony_ci %195 = OpAccessChain %41 %62 %35 319e5c31af7Sopenharmony_ci OpStore %195 %194 320e5c31af7Sopenharmony_ci OpStore %65 %66 321e5c31af7Sopenharmony_ci OpBranch %189 322e5c31af7Sopenharmony_ci %189 = OpLabel 323e5c31af7Sopenharmony_ci OpBranch %175 324e5c31af7Sopenharmony_ci %175 = OpLabel 325e5c31af7Sopenharmony_ci %196 = OpLoad %18 %171 326e5c31af7Sopenharmony_ci %197 = OpIAdd %18 %196 %60 327e5c31af7Sopenharmony_ci OpStore %171 %197 328e5c31af7Sopenharmony_ci OpBranch %172 329e5c31af7Sopenharmony_ci %174 = OpLabel 330e5c31af7Sopenharmony_ci OpBranch %166 331e5c31af7Sopenharmony_ci %166 = OpLabel 332e5c31af7Sopenharmony_ci %198 = OpLoad %18 %42 333e5c31af7Sopenharmony_ci %199 = OpIAdd %18 %198 %60 334e5c31af7Sopenharmony_ci OpStore %42 %199 335e5c31af7Sopenharmony_ci OpBranch %163 336e5c31af7Sopenharmony_ci %165 = OpLabel 337e5c31af7Sopenharmony_ci %200 = OpAccessChain %41 %62 %28 338e5c31af7Sopenharmony_ci %201 = OpLoad %18 %200 339e5c31af7Sopenharmony_ci %202 = OpAccessChain %41 %62 %35 340e5c31af7Sopenharmony_ci %203 = OpLoad %18 %202 341e5c31af7Sopenharmony_ci %204 = OpIMul %18 %203 %86 342e5c31af7Sopenharmony_ci %205 = OpIAdd %18 %201 %204 343e5c31af7Sopenharmony_ci %206 = OpAccessChain %57 %55 %205 344e5c31af7Sopenharmony_ci OpStore %206 %60 345e5c31af7Sopenharmony_ci OpBranch %161 346e5c31af7Sopenharmony_ci %207 = OpLabel 347e5c31af7Sopenharmony_ci %209 = OpLoad %18 %67 348e5c31af7Sopenharmony_ci %210 = OpLoad %18 %74 349e5c31af7Sopenharmony_ci %211 = OpSMod %18 %209 %210 350e5c31af7Sopenharmony_ci OpStore %208 %211 351e5c31af7Sopenharmony_ci %212 = OpLoad %18 %74 352e5c31af7Sopenharmony_ci %213 = OpLoad %18 %67 353e5c31af7Sopenharmony_ci %214 = OpIAdd %18 %213 %212 354e5c31af7Sopenharmony_ci OpStore %67 %214 355e5c31af7Sopenharmony_ci %215 = OpLoad %18 %208 356e5c31af7Sopenharmony_ci %216 = OpSGreaterThanEqual %50 %215 %19 357e5c31af7Sopenharmony_ci OpSelectionMerge %218 None 358e5c31af7Sopenharmony_ci OpBranchConditional %216 %217 %218 359e5c31af7Sopenharmony_ci %217 = OpLabel 360e5c31af7Sopenharmony_ci %219 = OpAccessChain %41 %62 %28 361e5c31af7Sopenharmony_ci %220 = OpLoad %18 %219 362e5c31af7Sopenharmony_ci %221 = OpSGreaterThan %50 %220 %19 363e5c31af7Sopenharmony_ci OpBranch %218 364e5c31af7Sopenharmony_ci %218 = OpLabel 365e5c31af7Sopenharmony_ci %222 = OpPhi %50 %216 %207 %221 %217 366e5c31af7Sopenharmony_ci OpSelectionMerge %224 None 367e5c31af7Sopenharmony_ci OpBranchConditional %222 %223 %224 368e5c31af7Sopenharmony_ci %223 = OpLabel 369e5c31af7Sopenharmony_ci %225 = OpAccessChain %41 %62 %28 370e5c31af7Sopenharmony_ci %226 = OpLoad %18 %225 371e5c31af7Sopenharmony_ci %227 = OpISub %18 %226 %82 372e5c31af7Sopenharmony_ci %228 = OpAccessChain %41 %62 %35 373e5c31af7Sopenharmony_ci %229 = OpLoad %18 %228 374e5c31af7Sopenharmony_ci %230 = OpIMul %18 %229 %86 375e5c31af7Sopenharmony_ci %231 = OpIAdd %18 %227 %230 376e5c31af7Sopenharmony_ci %232 = OpAccessChain %57 %55 %231 377e5c31af7Sopenharmony_ci %233 = OpLoad %18 %232 378e5c31af7Sopenharmony_ci %234 = OpIEqual %50 %233 %19 379e5c31af7Sopenharmony_ci OpBranch %224 380e5c31af7Sopenharmony_ci %224 = OpLabel 381e5c31af7Sopenharmony_ci %235 = OpPhi %50 %222 %218 %234 %223 382e5c31af7Sopenharmony_ci OpSelectionMerge %237 None 383e5c31af7Sopenharmony_ci OpBranchConditional %235 %236 %237 384e5c31af7Sopenharmony_ci %236 = OpLabel 385e5c31af7Sopenharmony_ci %238 = OpLoad %18 %208 386e5c31af7Sopenharmony_ci %239 = OpISub %18 %238 %60 387e5c31af7Sopenharmony_ci OpStore %208 %239 388e5c31af7Sopenharmony_ci %240 = OpAccessChain %41 %62 %28 389e5c31af7Sopenharmony_ci %241 = OpLoad %18 %240 390e5c31af7Sopenharmony_ci %242 = OpAccessChain %41 %62 %35 391e5c31af7Sopenharmony_ci %243 = OpLoad %18 %242 392e5c31af7Sopenharmony_ci %244 = OpIMul %18 %243 %86 393e5c31af7Sopenharmony_ci %245 = OpIAdd %18 %241 %244 394e5c31af7Sopenharmony_ci %246 = OpAccessChain %57 %55 %245 395e5c31af7Sopenharmony_ci OpStore %246 %60 396e5c31af7Sopenharmony_ci %247 = OpAccessChain %41 %62 %28 397e5c31af7Sopenharmony_ci %248 = OpLoad %18 %247 398e5c31af7Sopenharmony_ci %249 = OpISub %18 %248 %60 399e5c31af7Sopenharmony_ci %250 = OpAccessChain %41 %62 %35 400e5c31af7Sopenharmony_ci %251 = OpLoad %18 %250 401e5c31af7Sopenharmony_ci %252 = OpIMul %18 %251 %86 402e5c31af7Sopenharmony_ci %253 = OpIAdd %18 %249 %252 403e5c31af7Sopenharmony_ci %254 = OpAccessChain %57 %55 %253 404e5c31af7Sopenharmony_ci OpStore %254 %60 405e5c31af7Sopenharmony_ci %255 = OpAccessChain %41 %62 %28 406e5c31af7Sopenharmony_ci %256 = OpLoad %18 %255 407e5c31af7Sopenharmony_ci %257 = OpISub %18 %256 %82 408e5c31af7Sopenharmony_ci %258 = OpAccessChain %41 %62 %35 409e5c31af7Sopenharmony_ci %259 = OpLoad %18 %258 410e5c31af7Sopenharmony_ci %260 = OpIMul %18 %259 %86 411e5c31af7Sopenharmony_ci %261 = OpIAdd %18 %257 %260 412e5c31af7Sopenharmony_ci %262 = OpAccessChain %57 %55 %261 413e5c31af7Sopenharmony_ci OpStore %262 %60 414e5c31af7Sopenharmony_ci %263 = OpAccessChain %41 %62 %28 415e5c31af7Sopenharmony_ci %264 = OpLoad %18 %263 416e5c31af7Sopenharmony_ci %265 = OpISub %18 %264 %82 417e5c31af7Sopenharmony_ci %266 = OpAccessChain %41 %62 %28 418e5c31af7Sopenharmony_ci OpStore %266 %265 419e5c31af7Sopenharmony_ci OpBranch %237 420e5c31af7Sopenharmony_ci %237 = OpLabel 421e5c31af7Sopenharmony_ci %267 = OpLoad %18 %208 422e5c31af7Sopenharmony_ci %268 = OpSGreaterThanEqual %50 %267 %19 423e5c31af7Sopenharmony_ci OpSelectionMerge %270 None 424e5c31af7Sopenharmony_ci OpBranchConditional %268 %269 %270 425e5c31af7Sopenharmony_ci %269 = OpLabel 426e5c31af7Sopenharmony_ci %271 = OpAccessChain %41 %62 %35 427e5c31af7Sopenharmony_ci %272 = OpLoad %18 %271 428e5c31af7Sopenharmony_ci %273 = OpSGreaterThan %50 %272 %19 429e5c31af7Sopenharmony_ci OpBranch %270 430e5c31af7Sopenharmony_ci %270 = OpLabel 431e5c31af7Sopenharmony_ci %274 = OpPhi %50 %268 %237 %273 %269 432e5c31af7Sopenharmony_ci OpSelectionMerge %276 None 433e5c31af7Sopenharmony_ci OpBranchConditional %274 %275 %276 434e5c31af7Sopenharmony_ci %275 = OpLabel 435e5c31af7Sopenharmony_ci %277 = OpAccessChain %41 %62 %28 436e5c31af7Sopenharmony_ci %278 = OpLoad %18 %277 437e5c31af7Sopenharmony_ci %279 = OpAccessChain %41 %62 %35 438e5c31af7Sopenharmony_ci %280 = OpLoad %18 %279 439e5c31af7Sopenharmony_ci %281 = OpISub %18 %280 %82 440e5c31af7Sopenharmony_ci %282 = OpIMul %18 %281 %86 441e5c31af7Sopenharmony_ci %283 = OpIAdd %18 %278 %282 442e5c31af7Sopenharmony_ci %284 = OpAccessChain %57 %55 %283 443e5c31af7Sopenharmony_ci %285 = OpLoad %18 %284 444e5c31af7Sopenharmony_ci %286 = OpIEqual %50 %285 %19 445e5c31af7Sopenharmony_ci OpBranch %276 446e5c31af7Sopenharmony_ci %276 = OpLabel 447e5c31af7Sopenharmony_ci %287 = OpPhi %50 %274 %270 %286 %275 448e5c31af7Sopenharmony_ci OpSelectionMerge %289 None 449e5c31af7Sopenharmony_ci OpBranchConditional %287 %288 %289 450e5c31af7Sopenharmony_ci %288 = OpLabel 451e5c31af7Sopenharmony_ci %290 = OpLoad %18 %208 452e5c31af7Sopenharmony_ci %291 = OpISub %18 %290 %60 453e5c31af7Sopenharmony_ci OpStore %208 %291 454e5c31af7Sopenharmony_ci %292 = OpAccessChain %41 %62 %28 455e5c31af7Sopenharmony_ci %293 = OpLoad %18 %292 456e5c31af7Sopenharmony_ci %294 = OpAccessChain %41 %62 %35 457e5c31af7Sopenharmony_ci %295 = OpLoad %18 %294 458e5c31af7Sopenharmony_ci %296 = OpIMul %18 %295 %86 459e5c31af7Sopenharmony_ci %297 = OpIAdd %18 %293 %296 460e5c31af7Sopenharmony_ci %298 = OpAccessChain %57 %55 %297 461e5c31af7Sopenharmony_ci OpStore %298 %60 462e5c31af7Sopenharmony_ci %299 = OpAccessChain %41 %62 %28 463e5c31af7Sopenharmony_ci %300 = OpLoad %18 %299 464e5c31af7Sopenharmony_ci %301 = OpAccessChain %41 %62 %35 465e5c31af7Sopenharmony_ci %302 = OpLoad %18 %301 466e5c31af7Sopenharmony_ci %303 = OpISub %18 %302 %60 467e5c31af7Sopenharmony_ci %304 = OpIMul %18 %303 %86 468e5c31af7Sopenharmony_ci %305 = OpIAdd %18 %300 %304 469e5c31af7Sopenharmony_ci %306 = OpAccessChain %57 %55 %305 470e5c31af7Sopenharmony_ci OpStore %306 %60 471e5c31af7Sopenharmony_ci %307 = OpAccessChain %41 %62 %28 472e5c31af7Sopenharmony_ci %308 = OpLoad %18 %307 473e5c31af7Sopenharmony_ci %309 = OpAccessChain %41 %62 %35 474e5c31af7Sopenharmony_ci %310 = OpLoad %18 %309 475e5c31af7Sopenharmony_ci %311 = OpISub %18 %310 %82 476e5c31af7Sopenharmony_ci %312 = OpIMul %18 %311 %86 477e5c31af7Sopenharmony_ci %313 = OpIAdd %18 %308 %312 478e5c31af7Sopenharmony_ci %314 = OpAccessChain %57 %55 %313 479e5c31af7Sopenharmony_ci OpStore %314 %60 480e5c31af7Sopenharmony_ci %315 = OpAccessChain %41 %62 %35 481e5c31af7Sopenharmony_ci %316 = OpLoad %18 %315 482e5c31af7Sopenharmony_ci %317 = OpISub %18 %316 %82 483e5c31af7Sopenharmony_ci %318 = OpAccessChain %41 %62 %35 484e5c31af7Sopenharmony_ci OpStore %318 %317 485e5c31af7Sopenharmony_ci OpBranch %289 486e5c31af7Sopenharmony_ci %289 = OpLabel 487e5c31af7Sopenharmony_ci %319 = OpLoad %18 %208 488e5c31af7Sopenharmony_ci %320 = OpSGreaterThanEqual %50 %319 %19 489e5c31af7Sopenharmony_ci OpSelectionMerge %322 None 490e5c31af7Sopenharmony_ci OpBranchConditional %320 %321 %322 491e5c31af7Sopenharmony_ci %321 = OpLabel 492e5c31af7Sopenharmony_ci %323 = OpAccessChain %41 %62 %28 493e5c31af7Sopenharmony_ci %324 = OpLoad %18 %323 494e5c31af7Sopenharmony_ci %325 = OpSLessThan %50 %324 %119 495e5c31af7Sopenharmony_ci OpBranch %322 496e5c31af7Sopenharmony_ci %322 = OpLabel 497e5c31af7Sopenharmony_ci %326 = OpPhi %50 %320 %289 %325 %321 498e5c31af7Sopenharmony_ci OpSelectionMerge %328 None 499e5c31af7Sopenharmony_ci OpBranchConditional %326 %327 %328 500e5c31af7Sopenharmony_ci %327 = OpLabel 501e5c31af7Sopenharmony_ci %329 = OpAccessChain %41 %62 %28 502e5c31af7Sopenharmony_ci %330 = OpLoad %18 %329 503e5c31af7Sopenharmony_ci %331 = OpIAdd %18 %330 %82 504e5c31af7Sopenharmony_ci %332 = OpAccessChain %41 %62 %35 505e5c31af7Sopenharmony_ci %333 = OpLoad %18 %332 506e5c31af7Sopenharmony_ci %334 = OpIMul %18 %333 %86 507e5c31af7Sopenharmony_ci %335 = OpIAdd %18 %331 %334 508e5c31af7Sopenharmony_ci %336 = OpAccessChain %57 %55 %335 509e5c31af7Sopenharmony_ci %337 = OpLoad %18 %336 510e5c31af7Sopenharmony_ci %338 = OpIEqual %50 %337 %19 511e5c31af7Sopenharmony_ci OpBranch %328 512e5c31af7Sopenharmony_ci %328 = OpLabel 513e5c31af7Sopenharmony_ci %339 = OpPhi %50 %326 %322 %338 %327 514e5c31af7Sopenharmony_ci OpSelectionMerge %341 None 515e5c31af7Sopenharmony_ci OpBranchConditional %339 %340 %341 516e5c31af7Sopenharmony_ci %340 = OpLabel 517e5c31af7Sopenharmony_ci %342 = OpLoad %18 %208 518e5c31af7Sopenharmony_ci %343 = OpISub %18 %342 %60 519e5c31af7Sopenharmony_ci OpStore %208 %343 520e5c31af7Sopenharmony_ci %344 = OpAccessChain %41 %62 %28 521e5c31af7Sopenharmony_ci %345 = OpLoad %18 %344 522e5c31af7Sopenharmony_ci %346 = OpAccessChain %41 %62 %35 523e5c31af7Sopenharmony_ci %347 = OpLoad %18 %346 524e5c31af7Sopenharmony_ci %348 = OpIMul %18 %347 %86 525e5c31af7Sopenharmony_ci %349 = OpIAdd %18 %345 %348 526e5c31af7Sopenharmony_ci %350 = OpAccessChain %57 %55 %349 527e5c31af7Sopenharmony_ci OpStore %350 %60 528e5c31af7Sopenharmony_ci %351 = OpAccessChain %41 %62 %28 529e5c31af7Sopenharmony_ci %352 = OpLoad %18 %351 530e5c31af7Sopenharmony_ci %353 = OpIAdd %18 %352 %60 531e5c31af7Sopenharmony_ci %354 = OpAccessChain %41 %62 %35 532e5c31af7Sopenharmony_ci %355 = OpLoad %18 %354 533e5c31af7Sopenharmony_ci %356 = OpIMul %18 %355 %86 534e5c31af7Sopenharmony_ci %357 = OpIAdd %18 %353 %356 535e5c31af7Sopenharmony_ci %358 = OpAccessChain %57 %55 %357 536e5c31af7Sopenharmony_ci OpStore %358 %60 537e5c31af7Sopenharmony_ci %359 = OpAccessChain %41 %62 %28 538e5c31af7Sopenharmony_ci %360 = OpLoad %18 %359 539e5c31af7Sopenharmony_ci %361 = OpIAdd %18 %360 %82 540e5c31af7Sopenharmony_ci %362 = OpAccessChain %41 %62 %35 541e5c31af7Sopenharmony_ci %363 = OpLoad %18 %362 542e5c31af7Sopenharmony_ci %364 = OpIMul %18 %363 %86 543e5c31af7Sopenharmony_ci %365 = OpIAdd %18 %361 %364 544e5c31af7Sopenharmony_ci %366 = OpAccessChain %57 %55 %365 545e5c31af7Sopenharmony_ci OpStore %366 %60 546e5c31af7Sopenharmony_ci %367 = OpAccessChain %41 %62 %28 547e5c31af7Sopenharmony_ci %368 = OpLoad %18 %367 548e5c31af7Sopenharmony_ci %369 = OpIAdd %18 %368 %82 549e5c31af7Sopenharmony_ci %370 = OpAccessChain %41 %62 %28 550e5c31af7Sopenharmony_ci OpStore %370 %369 551e5c31af7Sopenharmony_ci OpBranch %341 552e5c31af7Sopenharmony_ci %341 = OpLabel 553e5c31af7Sopenharmony_ci %371 = OpLoad %18 %208 554e5c31af7Sopenharmony_ci %372 = OpSGreaterThanEqual %50 %371 %19 555e5c31af7Sopenharmony_ci OpSelectionMerge %374 None 556e5c31af7Sopenharmony_ci OpBranchConditional %372 %373 %374 557e5c31af7Sopenharmony_ci %373 = OpLabel 558e5c31af7Sopenharmony_ci %375 = OpAccessChain %41 %62 %35 559e5c31af7Sopenharmony_ci %376 = OpLoad %18 %375 560e5c31af7Sopenharmony_ci %377 = OpSLessThan %50 %376 %119 561e5c31af7Sopenharmony_ci OpBranch %374 562e5c31af7Sopenharmony_ci %374 = OpLabel 563e5c31af7Sopenharmony_ci %378 = OpPhi %50 %372 %341 %377 %373 564e5c31af7Sopenharmony_ci OpSelectionMerge %380 None 565e5c31af7Sopenharmony_ci OpBranchConditional %378 %379 %380 566e5c31af7Sopenharmony_ci %379 = OpLabel 567e5c31af7Sopenharmony_ci %381 = OpAccessChain %41 %62 %28 568e5c31af7Sopenharmony_ci %382 = OpLoad %18 %381 569e5c31af7Sopenharmony_ci %383 = OpAccessChain %41 %62 %35 570e5c31af7Sopenharmony_ci %384 = OpLoad %18 %383 571e5c31af7Sopenharmony_ci %385 = OpIAdd %18 %384 %82 572e5c31af7Sopenharmony_ci %386 = OpIMul %18 %385 %86 573e5c31af7Sopenharmony_ci %387 = OpIAdd %18 %382 %386 574e5c31af7Sopenharmony_ci %388 = OpAccessChain %57 %55 %387 575e5c31af7Sopenharmony_ci %389 = OpLoad %18 %388 576e5c31af7Sopenharmony_ci %390 = OpIEqual %50 %389 %19 577e5c31af7Sopenharmony_ci OpBranch %380 578e5c31af7Sopenharmony_ci %380 = OpLabel 579e5c31af7Sopenharmony_ci %391 = OpPhi %50 %378 %374 %390 %379 580e5c31af7Sopenharmony_ci OpSelectionMerge %393 None 581e5c31af7Sopenharmony_ci OpBranchConditional %391 %392 %393 582e5c31af7Sopenharmony_ci %392 = OpLabel 583e5c31af7Sopenharmony_ci %394 = OpLoad %18 %208 584e5c31af7Sopenharmony_ci %395 = OpISub %18 %394 %60 585e5c31af7Sopenharmony_ci OpStore %208 %395 586e5c31af7Sopenharmony_ci %396 = OpAccessChain %41 %62 %28 587e5c31af7Sopenharmony_ci %397 = OpLoad %18 %396 588e5c31af7Sopenharmony_ci %398 = OpAccessChain %41 %62 %35 589e5c31af7Sopenharmony_ci %399 = OpLoad %18 %398 590e5c31af7Sopenharmony_ci %400 = OpIMul %18 %399 %86 591e5c31af7Sopenharmony_ci %401 = OpIAdd %18 %397 %400 592e5c31af7Sopenharmony_ci %402 = OpAccessChain %57 %55 %401 593e5c31af7Sopenharmony_ci OpStore %402 %60 594e5c31af7Sopenharmony_ci %403 = OpAccessChain %41 %62 %28 595e5c31af7Sopenharmony_ci %404 = OpLoad %18 %403 596e5c31af7Sopenharmony_ci %405 = OpAccessChain %41 %62 %35 597e5c31af7Sopenharmony_ci %406 = OpLoad %18 %405 598e5c31af7Sopenharmony_ci %407 = OpIAdd %18 %406 %60 599e5c31af7Sopenharmony_ci %408 = OpIMul %18 %407 %86 600e5c31af7Sopenharmony_ci %409 = OpIAdd %18 %404 %408 601e5c31af7Sopenharmony_ci %410 = OpAccessChain %57 %55 %409 602e5c31af7Sopenharmony_ci OpStore %410 %60 603e5c31af7Sopenharmony_ci %411 = OpAccessChain %41 %62 %28 604e5c31af7Sopenharmony_ci %412 = OpLoad %18 %411 605e5c31af7Sopenharmony_ci %413 = OpAccessChain %41 %62 %35 606e5c31af7Sopenharmony_ci %414 = OpLoad %18 %413 607e5c31af7Sopenharmony_ci %415 = OpIAdd %18 %414 %82 608e5c31af7Sopenharmony_ci %416 = OpIMul %18 %415 %86 609e5c31af7Sopenharmony_ci %417 = OpIAdd %18 %412 %416 610e5c31af7Sopenharmony_ci %418 = OpAccessChain %57 %55 %417 611e5c31af7Sopenharmony_ci OpStore %418 %60 612e5c31af7Sopenharmony_ci %419 = OpAccessChain %41 %62 %35 613e5c31af7Sopenharmony_ci %420 = OpLoad %18 %419 614e5c31af7Sopenharmony_ci %421 = OpIAdd %18 %420 %82 615e5c31af7Sopenharmony_ci %422 = OpAccessChain %41 %62 %35 616e5c31af7Sopenharmony_ci OpStore %422 %421 617e5c31af7Sopenharmony_ci OpBranch %393 618e5c31af7Sopenharmony_ci %393 = OpLabel 619e5c31af7Sopenharmony_ci OpBranch %161 620e5c31af7Sopenharmony_ci %161 = OpLabel 621e5c31af7Sopenharmony_ci %423 = OpAccessChain %41 %26 %35 622e5c31af7Sopenharmony_ci %424 = OpLoad %18 %423 623e5c31af7Sopenharmony_ci %425 = OpIMul %18 %424 %86 624e5c31af7Sopenharmony_ci %426 = OpAccessChain %41 %26 %28 625e5c31af7Sopenharmony_ci %427 = OpLoad %18 %426 626e5c31af7Sopenharmony_ci %428 = OpIAdd %18 %425 %427 627e5c31af7Sopenharmony_ci %429 = OpAccessChain %57 %55 %428 628e5c31af7Sopenharmony_ci %430 = OpLoad %18 %429 629e5c31af7Sopenharmony_ci %431 = OpIEqual %50 %430 %60 630e5c31af7Sopenharmony_ci OpSelectionMerge %433 None 631e5c31af7Sopenharmony_ci OpBranchConditional %431 %432 %433 632e5c31af7Sopenharmony_ci %432 = OpLabel 633e5c31af7Sopenharmony_ci OpStore %435 %437 634e5c31af7Sopenharmony_ci OpReturn 635e5c31af7Sopenharmony_ci %433 = OpLabel 636e5c31af7Sopenharmony_ci OpBranch %71 637e5c31af7Sopenharmony_ci %71 = OpLabel 638e5c31af7Sopenharmony_ci %439 = OpLoad %50 %65 639e5c31af7Sopenharmony_ci OpBranchConditional %439 %68 %70 640e5c31af7Sopenharmony_ci %70 = OpLabel 641e5c31af7Sopenharmony_ci OpStore %435 %441 642e5c31af7Sopenharmony_ci OpReturn 643e5c31af7Sopenharmony_ci OpFunctionEnd 644e5c31af7Sopenharmony_ciEND 645e5c31af7Sopenharmony_ci 646e5c31af7Sopenharmony_ci# uniforms for reference 647e5c31af7Sopenharmony_ci 648e5c31af7Sopenharmony_ci# resolution 649e5c31af7Sopenharmony_ciBUFFER reference_resolution DATA_TYPE vec2<float> STD140 DATA 650e5c31af7Sopenharmony_ci 32.0 32.0 651e5c31af7Sopenharmony_ciEND 652e5c31af7Sopenharmony_ci 653e5c31af7Sopenharmony_ciBUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM 654e5c31af7Sopenharmony_ci 655e5c31af7Sopenharmony_ciPIPELINE graphics reference_pipeline 656e5c31af7Sopenharmony_ci ATTACH reference_vertex_shader 657e5c31af7Sopenharmony_ci ATTACH reference_fragment_shader 658e5c31af7Sopenharmony_ci FRAMEBUFFER_SIZE 32 32 659e5c31af7Sopenharmony_ci BIND BUFFER reference_framebuffer AS color LOCATION 0 660e5c31af7Sopenharmony_ci BIND BUFFER reference_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0 661e5c31af7Sopenharmony_ciEND 662e5c31af7Sopenharmony_ciCLEAR_COLOR reference_pipeline 0 0 0 255 663e5c31af7Sopenharmony_ci 664e5c31af7Sopenharmony_ciCLEAR reference_pipeline 665e5c31af7Sopenharmony_ciRUN reference_pipeline DRAW_RECT POS 0 0 SIZE 32 32 666e5c31af7Sopenharmony_ci 667e5c31af7Sopenharmony_ci 668e5c31af7Sopenharmony_ciSHADER vertex variant_vertex_shader PASSTHROUGH 669e5c31af7Sopenharmony_ci 670e5c31af7Sopenharmony_ciSHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 671e5c31af7Sopenharmony_ci; SPIR-V 672e5c31af7Sopenharmony_ci; Version: 1.0 673e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 7 674e5c31af7Sopenharmony_ci; Bound: 1443 675e5c31af7Sopenharmony_ci; Schema: 0 676e5c31af7Sopenharmony_ci OpCapability Shader 677e5c31af7Sopenharmony_ci %1 = OpExtInstImport "GLSL.std.450" 678e5c31af7Sopenharmony_ci OpMemoryModel Logical GLSL450 679e5c31af7Sopenharmony_ci OpEntryPoint Fragment %4 "main" %12 %435 680e5c31af7Sopenharmony_ci OpExecutionMode %4 OriginUpperLeft 681e5c31af7Sopenharmony_ci OpSource ESSL 320 682e5c31af7Sopenharmony_ci OpName %4 "main" 683e5c31af7Sopenharmony_ci OpName %9 "pos" 684e5c31af7Sopenharmony_ci OpName %12 "gl_FragCoord" 685e5c31af7Sopenharmony_ci OpName %15 "buf0" 686e5c31af7Sopenharmony_ci OpMemberName %15 0 "resolution" 687e5c31af7Sopenharmony_ci OpName %17 "" 688e5c31af7Sopenharmony_ci OpName %26 "ipos" 689e5c31af7Sopenharmony_ci OpName %42 "i" 690e5c31af7Sopenharmony_ci OpName %55 "map" 691e5c31af7Sopenharmony_ci OpName %62 "p" 692e5c31af7Sopenharmony_ci OpName %65 "canwalk" 693e5c31af7Sopenharmony_ci OpName %67 "v" 694e5c31af7Sopenharmony_ci OpName %74 "directions" 695e5c31af7Sopenharmony_ci OpName %171 "j" 696e5c31af7Sopenharmony_ci OpName %208 "d" 697e5c31af7Sopenharmony_ci OpName %435 "_GLF_color" 698e5c31af7Sopenharmony_ci OpDecorate %12 BuiltIn FragCoord 699e5c31af7Sopenharmony_ci OpMemberDecorate %15 0 Offset 0 700e5c31af7Sopenharmony_ci OpDecorate %15 Block 701e5c31af7Sopenharmony_ci OpDecorate %17 DescriptorSet 0 702e5c31af7Sopenharmony_ci OpDecorate %17 Binding 0 703e5c31af7Sopenharmony_ci OpDecorate %435 Location 0 704e5c31af7Sopenharmony_ci %2 = OpTypeVoid 705e5c31af7Sopenharmony_ci %3 = OpTypeFunction %2 706e5c31af7Sopenharmony_ci %6 = OpTypeFloat 32 707e5c31af7Sopenharmony_ci %7 = OpTypeVector %6 2 708e5c31af7Sopenharmony_ci %8 = OpTypePointer Function %7 709e5c31af7Sopenharmony_ci %10 = OpTypeVector %6 4 710e5c31af7Sopenharmony_ci %11 = OpTypePointer Input %10 711e5c31af7Sopenharmony_ci %12 = OpVariable %11 Input 712e5c31af7Sopenharmony_ci %15 = OpTypeStruct %7 713e5c31af7Sopenharmony_ci %16 = OpTypePointer Uniform %15 714e5c31af7Sopenharmony_ci %17 = OpVariable %16 Uniform 715e5c31af7Sopenharmony_ci %18 = OpTypeInt 32 1 716e5c31af7Sopenharmony_ci %19 = OpConstant %18 0 717e5c31af7Sopenharmony_ci %20 = OpTypePointer Uniform %7 718e5c31af7Sopenharmony_ci %24 = OpTypeVector %18 2 719e5c31af7Sopenharmony_ci %25 = OpTypePointer Function %24 720e5c31af7Sopenharmony_ci %27 = OpTypeInt 32 0 721e5c31af7Sopenharmony_ci %28 = OpConstant %27 0 722e5c31af7Sopenharmony_ci %29 = OpTypePointer Function %6 723e5c31af7Sopenharmony_ci %32 = OpConstant %6 16 724e5c31af7Sopenharmony_ci %35 = OpConstant %27 1 725e5c31af7Sopenharmony_ci %41 = OpTypePointer Function %18 726e5c31af7Sopenharmony_ci %49 = OpConstant %18 256 727e5c31af7Sopenharmony_ci %50 = OpTypeBool 728e5c31af7Sopenharmony_ci %52 = OpConstant %27 256 729e5c31af7Sopenharmony_ci %53 = OpTypeArray %18 %52 730e5c31af7Sopenharmony_ci %54 = OpTypePointer Private %53 731e5c31af7Sopenharmony_ci %55 = OpVariable %54 Private 732e5c31af7Sopenharmony_ci %57 = OpTypePointer Private %18 733e5c31af7Sopenharmony_ci %60 = OpConstant %18 1 734e5c31af7Sopenharmony_ci %63 = OpConstantComposite %24 %19 %19 735e5c31af7Sopenharmony_ci %64 = OpTypePointer Function %50 736e5c31af7Sopenharmony_ci %66 = OpConstantTrue %50 737e5c31af7Sopenharmony_ci %82 = OpConstant %18 2 738e5c31af7Sopenharmony_ci %86 = OpConstant %18 16 739e5c31af7Sopenharmony_ci %119 = OpConstant %18 14 740e5c31af7Sopenharmony_ci %162 = OpConstantFalse %50 741e5c31af7Sopenharmony_ci %169 = OpConstant %18 8 742e5c31af7Sopenharmony_ci %434 = OpTypePointer Output %10 743e5c31af7Sopenharmony_ci %435 = OpVariable %434 Output 744e5c31af7Sopenharmony_ci %436 = OpConstant %6 1 745e5c31af7Sopenharmony_ci %437 = OpConstantComposite %10 %436 %436 %436 %436 746e5c31af7Sopenharmony_ci %440 = OpConstant %6 0 747e5c31af7Sopenharmony_ci %441 = OpConstantComposite %10 %440 %440 %440 %436 748e5c31af7Sopenharmony_ci %542 = OpConstant %18 0 749e5c31af7Sopenharmony_ci %566 = OpConstantComposite %53 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 750e5c31af7Sopenharmony_ci %4 = OpFunction %2 None %3 751e5c31af7Sopenharmony_ci %5 = OpLabel 752e5c31af7Sopenharmony_ci %9 = OpVariable %8 Function 753e5c31af7Sopenharmony_ci %26 = OpVariable %25 Function 754e5c31af7Sopenharmony_ci %42 = OpVariable %41 Function 755e5c31af7Sopenharmony_ci %62 = OpVariable %25 Function 756e5c31af7Sopenharmony_ci %65 = OpVariable %64 Function 757e5c31af7Sopenharmony_ci %67 = OpVariable %41 Function 758e5c31af7Sopenharmony_ci %74 = OpVariable %41 Function 759e5c31af7Sopenharmony_ci %171 = OpVariable %41 Function 760e5c31af7Sopenharmony_ci %208 = OpVariable %41 Function 761e5c31af7Sopenharmony_ci %13 = OpLoad %10 %12 762e5c31af7Sopenharmony_ci %14 = OpVectorShuffle %7 %13 %13 0 1 763e5c31af7Sopenharmony_ci %21 = OpAccessChain %20 %17 %19 764e5c31af7Sopenharmony_ci %22 = OpLoad %7 %21 765e5c31af7Sopenharmony_ci %23 = OpFDiv %7 %14 %22 766e5c31af7Sopenharmony_ci OpStore %9 %23 767e5c31af7Sopenharmony_ci %30 = OpAccessChain %29 %9 %28 768e5c31af7Sopenharmony_ci %31 = OpLoad %6 %30 769e5c31af7Sopenharmony_ci %33 = OpFMul %6 %31 %32 770e5c31af7Sopenharmony_ci %34 = OpConvertFToS %18 %33 771e5c31af7Sopenharmony_ci %36 = OpAccessChain %29 %9 %35 772e5c31af7Sopenharmony_ci %37 = OpLoad %6 %36 773e5c31af7Sopenharmony_ci %38 = OpFMul %6 %37 %32 774e5c31af7Sopenharmony_ci %39 = OpConvertFToS %18 %38 775e5c31af7Sopenharmony_ci %40 = OpCompositeConstruct %24 %34 %39 776e5c31af7Sopenharmony_ci OpStore %26 %40 777e5c31af7Sopenharmony_ci OpStore %42 %19 778e5c31af7Sopenharmony_ci OpBranch %43 779e5c31af7Sopenharmony_ci %43 = OpLabel 780e5c31af7Sopenharmony_ci OpLoopMerge %45 %46 None 781e5c31af7Sopenharmony_ci OpBranch %47 782e5c31af7Sopenharmony_ci %47 = OpLabel 783e5c31af7Sopenharmony_ci %48 = OpLoad %18 %42 784e5c31af7Sopenharmony_ci %51 = OpSLessThan %50 %48 %49 785e5c31af7Sopenharmony_ci OpBranchConditional %51 %44 %45 786e5c31af7Sopenharmony_ci %44 = OpLabel 787e5c31af7Sopenharmony_ci %56 = OpLoad %18 %42 788e5c31af7Sopenharmony_ci %58 = OpAccessChain %57 %55 %56 789e5c31af7Sopenharmony_ci OpStore %58 %19 790e5c31af7Sopenharmony_ci OpBranch %46 791e5c31af7Sopenharmony_ci %46 = OpLabel 792e5c31af7Sopenharmony_ci %59 = OpLoad %18 %42 793e5c31af7Sopenharmony_ci %61 = OpIAdd %18 %59 %60 794e5c31af7Sopenharmony_ci OpStore %42 %61 795e5c31af7Sopenharmony_ci OpBranch %43 796e5c31af7Sopenharmony_ci %45 = OpLabel 797e5c31af7Sopenharmony_ci OpStore %62 %63 798e5c31af7Sopenharmony_ci OpStore %65 %66 799e5c31af7Sopenharmony_ci OpStore %67 %19 800e5c31af7Sopenharmony_ci OpBranch %68 801e5c31af7Sopenharmony_ci %68 = OpLabel 802e5c31af7Sopenharmony_ci OpLoopMerge %70 %71 None 803e5c31af7Sopenharmony_ci OpBranch %69 804e5c31af7Sopenharmony_ci %69 = OpLabel 805e5c31af7Sopenharmony_ci %72 = OpLoad %18 %67 806e5c31af7Sopenharmony_ci %73 = OpIAdd %18 %72 %60 807e5c31af7Sopenharmony_ci OpStore %67 %73 808e5c31af7Sopenharmony_ci OpStore %74 %19 809e5c31af7Sopenharmony_ci %75 = OpAccessChain %41 %62 %28 810e5c31af7Sopenharmony_ci %76 = OpLoad %18 %75 811e5c31af7Sopenharmony_ci %77 = OpSGreaterThan %50 %76 %19 812e5c31af7Sopenharmony_ci OpSelectionMerge %79 None 813e5c31af7Sopenharmony_ci OpBranchConditional %77 %78 %79 814e5c31af7Sopenharmony_ci %78 = OpLabel 815e5c31af7Sopenharmony_ci %80 = OpAccessChain %41 %62 %28 816e5c31af7Sopenharmony_ci %81 = OpLoad %18 %80 817e5c31af7Sopenharmony_ci %83 = OpISub %18 %81 %82 818e5c31af7Sopenharmony_ci %84 = OpAccessChain %41 %62 %35 819e5c31af7Sopenharmony_ci %85 = OpLoad %18 %84 820e5c31af7Sopenharmony_ci %87 = OpIMul %18 %85 %86 821e5c31af7Sopenharmony_ci %88 = OpIAdd %18 %83 %87 822e5c31af7Sopenharmony_ci %89 = OpAccessChain %57 %55 %88 823e5c31af7Sopenharmony_ci %90 = OpLoad %18 %89 824e5c31af7Sopenharmony_ci %91 = OpIEqual %50 %90 %19 825e5c31af7Sopenharmony_ci OpBranch %79 826e5c31af7Sopenharmony_ci %79 = OpLabel 827e5c31af7Sopenharmony_ci %92 = OpPhi %50 %77 %69 %91 %78 828e5c31af7Sopenharmony_ci OpSelectionMerge %94 None 829e5c31af7Sopenharmony_ci OpBranchConditional %92 %93 %94 830e5c31af7Sopenharmony_ci %93 = OpLabel 831e5c31af7Sopenharmony_ci %95 = OpLoad %18 %74 832e5c31af7Sopenharmony_ci %96 = OpIAdd %18 %95 %60 833e5c31af7Sopenharmony_ci OpStore %74 %96 834e5c31af7Sopenharmony_ci OpBranch %94 835e5c31af7Sopenharmony_ci %94 = OpLabel 836e5c31af7Sopenharmony_ci %97 = OpAccessChain %41 %62 %35 837e5c31af7Sopenharmony_ci %98 = OpLoad %18 %97 838e5c31af7Sopenharmony_ci %99 = OpSGreaterThan %50 %98 %19 839e5c31af7Sopenharmony_ci OpSelectionMerge %101 None 840e5c31af7Sopenharmony_ci OpBranchConditional %99 %100 %101 841e5c31af7Sopenharmony_ci %100 = OpLabel 842e5c31af7Sopenharmony_ci %102 = OpAccessChain %41 %62 %28 843e5c31af7Sopenharmony_ci %103 = OpLoad %18 %102 844e5c31af7Sopenharmony_ci %104 = OpAccessChain %41 %62 %35 845e5c31af7Sopenharmony_ci %105 = OpLoad %18 %104 846e5c31af7Sopenharmony_ci %106 = OpISub %18 %105 %82 847e5c31af7Sopenharmony_ci %107 = OpIMul %18 %106 %86 848e5c31af7Sopenharmony_ci %108 = OpIAdd %18 %103 %107 849e5c31af7Sopenharmony_ci %109 = OpAccessChain %57 %55 %108 850e5c31af7Sopenharmony_ci %110 = OpLoad %18 %109 851e5c31af7Sopenharmony_ci %111 = OpIEqual %50 %110 %19 852e5c31af7Sopenharmony_ci OpBranch %101 853e5c31af7Sopenharmony_ci %101 = OpLabel 854e5c31af7Sopenharmony_ci %112 = OpPhi %50 %99 %94 %111 %100 855e5c31af7Sopenharmony_ci OpSelectionMerge %114 None 856e5c31af7Sopenharmony_ci OpBranchConditional %112 %113 %114 857e5c31af7Sopenharmony_ci %113 = OpLabel 858e5c31af7Sopenharmony_ci %115 = OpLoad %18 %74 859e5c31af7Sopenharmony_ci %116 = OpIAdd %18 %115 %60 860e5c31af7Sopenharmony_ci OpStore %74 %116 861e5c31af7Sopenharmony_ci OpBranch %114 862e5c31af7Sopenharmony_ci %114 = OpLabel 863e5c31af7Sopenharmony_ci %117 = OpAccessChain %41 %62 %28 864e5c31af7Sopenharmony_ci %118 = OpLoad %18 %117 865e5c31af7Sopenharmony_ci %120 = OpSLessThan %50 %118 %119 866e5c31af7Sopenharmony_ci OpSelectionMerge %122 None 867e5c31af7Sopenharmony_ci OpBranchConditional %120 %121 %122 868e5c31af7Sopenharmony_ci %121 = OpLabel 869e5c31af7Sopenharmony_ci %123 = OpAccessChain %41 %62 %28 870e5c31af7Sopenharmony_ci %124 = OpLoad %18 %123 871e5c31af7Sopenharmony_ci %125 = OpIAdd %18 %124 %82 872e5c31af7Sopenharmony_ci %126 = OpAccessChain %41 %62 %35 873e5c31af7Sopenharmony_ci %127 = OpLoad %18 %126 874e5c31af7Sopenharmony_ci %128 = OpIMul %18 %127 %86 875e5c31af7Sopenharmony_ci %129 = OpIAdd %18 %125 %128 876e5c31af7Sopenharmony_ci %130 = OpAccessChain %57 %55 %129 877e5c31af7Sopenharmony_ci %131 = OpLoad %18 %130 878e5c31af7Sopenharmony_ci %132 = OpIEqual %50 %131 %19 879e5c31af7Sopenharmony_ci OpBranch %122 880e5c31af7Sopenharmony_ci %122 = OpLabel 881e5c31af7Sopenharmony_ci %133 = OpPhi %50 %120 %114 %132 %121 882e5c31af7Sopenharmony_ci OpSelectionMerge %135 None 883e5c31af7Sopenharmony_ci OpBranchConditional %133 %134 %135 884e5c31af7Sopenharmony_ci %134 = OpLabel 885e5c31af7Sopenharmony_ci %136 = OpLoad %18 %74 886e5c31af7Sopenharmony_ci %137 = OpIAdd %18 %136 %60 887e5c31af7Sopenharmony_ci OpStore %74 %137 888e5c31af7Sopenharmony_ci OpBranch %135 889e5c31af7Sopenharmony_ci %135 = OpLabel 890e5c31af7Sopenharmony_ci %138 = OpAccessChain %41 %62 %35 891e5c31af7Sopenharmony_ci %139 = OpLoad %18 %138 892e5c31af7Sopenharmony_ci %140 = OpSLessThan %50 %139 %119 893e5c31af7Sopenharmony_ci OpSelectionMerge %142 None 894e5c31af7Sopenharmony_ci OpBranchConditional %140 %141 %142 895e5c31af7Sopenharmony_ci %141 = OpLabel 896e5c31af7Sopenharmony_ci %143 = OpAccessChain %41 %62 %28 897e5c31af7Sopenharmony_ci %144 = OpLoad %18 %143 898e5c31af7Sopenharmony_ci %145 = OpAccessChain %41 %62 %35 899e5c31af7Sopenharmony_ci %146 = OpLoad %18 %145 900e5c31af7Sopenharmony_ci %147 = OpIAdd %18 %146 %82 901e5c31af7Sopenharmony_ci %148 = OpIMul %18 %147 %86 902e5c31af7Sopenharmony_ci %149 = OpIAdd %18 %144 %148 903e5c31af7Sopenharmony_ci %150 = OpAccessChain %57 %55 %149 904e5c31af7Sopenharmony_ci %151 = OpLoad %18 %150 905e5c31af7Sopenharmony_ci %152 = OpIEqual %50 %151 %19 906e5c31af7Sopenharmony_ci OpBranch %142 907e5c31af7Sopenharmony_ci %142 = OpLabel 908e5c31af7Sopenharmony_ci %153 = OpPhi %50 %140 %135 %152 %141 909e5c31af7Sopenharmony_ci OpSelectionMerge %155 None 910e5c31af7Sopenharmony_ci OpBranchConditional %153 %154 %155 911e5c31af7Sopenharmony_ci %154 = OpLabel 912e5c31af7Sopenharmony_ci %156 = OpLoad %18 %74 913e5c31af7Sopenharmony_ci %157 = OpIAdd %18 %156 %60 914e5c31af7Sopenharmony_ci OpStore %74 %157 915e5c31af7Sopenharmony_ci OpBranch %155 916e5c31af7Sopenharmony_ci %155 = OpLabel 917e5c31af7Sopenharmony_ci %158 = OpLoad %18 %74 918e5c31af7Sopenharmony_ci %159 = OpIEqual %50 %158 %19 919e5c31af7Sopenharmony_ci OpSelectionMerge %161 None 920e5c31af7Sopenharmony_ci OpBranchConditional %159 %160 %207 921e5c31af7Sopenharmony_ci %160 = OpLabel 922e5c31af7Sopenharmony_ci OpStore %65 %162 923e5c31af7Sopenharmony_ci OpStore %42 %19 924e5c31af7Sopenharmony_ci OpBranch %163 925e5c31af7Sopenharmony_ci %163 = OpLabel 926e5c31af7Sopenharmony_ci OpLoopMerge %165 %166 None 927e5c31af7Sopenharmony_ci OpBranch %167 928e5c31af7Sopenharmony_ci %167 = OpLabel 929e5c31af7Sopenharmony_ci %168 = OpLoad %18 %42 930e5c31af7Sopenharmony_ci %170 = OpSLessThan %50 %168 %169 931e5c31af7Sopenharmony_ci OpBranchConditional %170 %164 %165 932e5c31af7Sopenharmony_ci %164 = OpLabel 933e5c31af7Sopenharmony_ci OpStore %171 %19 934e5c31af7Sopenharmony_ci OpBranch %172 935e5c31af7Sopenharmony_ci %172 = OpLabel 936e5c31af7Sopenharmony_ci OpLoopMerge %174 %175 None 937e5c31af7Sopenharmony_ci OpBranch %176 938e5c31af7Sopenharmony_ci %176 = OpLabel 939e5c31af7Sopenharmony_ci %177 = OpLoad %18 %171 940e5c31af7Sopenharmony_ci %178 = OpSLessThan %50 %177 %169 941e5c31af7Sopenharmony_ci OpBranchConditional %178 %173 %174 942e5c31af7Sopenharmony_ci %173 = OpLabel 943e5c31af7Sopenharmony_ci %179 = OpLoad %18 %171 944e5c31af7Sopenharmony_ci %180 = OpIMul %18 %179 %82 945e5c31af7Sopenharmony_ci %181 = OpLoad %18 %42 946e5c31af7Sopenharmony_ci %182 = OpIMul %18 %181 %82 947e5c31af7Sopenharmony_ci %183 = OpIMul %18 %182 %86 948e5c31af7Sopenharmony_ci %184 = OpIAdd %18 %180 %183 949e5c31af7Sopenharmony_ci %185 = OpAccessChain %57 %55 %184 950e5c31af7Sopenharmony_ci %186 = OpLoad %18 %185 951e5c31af7Sopenharmony_ci %187 = OpIEqual %50 %186 %19 952e5c31af7Sopenharmony_ci OpSelectionMerge %189 None 953e5c31af7Sopenharmony_ci OpBranchConditional %187 %188 %189 954e5c31af7Sopenharmony_ci %188 = OpLabel 955e5c31af7Sopenharmony_ci %190 = OpLoad %18 %171 956e5c31af7Sopenharmony_ci %191 = OpIMul %18 %190 %82 957e5c31af7Sopenharmony_ci %192 = OpAccessChain %41 %62 %28 958e5c31af7Sopenharmony_ci OpStore %192 %191 959e5c31af7Sopenharmony_ci %193 = OpLoad %18 %42 960e5c31af7Sopenharmony_ci %194 = OpIMul %18 %193 %82 961e5c31af7Sopenharmony_ci %195 = OpAccessChain %41 %62 %35 962e5c31af7Sopenharmony_ci OpStore %195 %194 963e5c31af7Sopenharmony_ci OpStore %65 %66 964e5c31af7Sopenharmony_ci OpBranch %189 965e5c31af7Sopenharmony_ci %189 = OpLabel 966e5c31af7Sopenharmony_ci OpBranch %175 967e5c31af7Sopenharmony_ci %175 = OpLabel 968e5c31af7Sopenharmony_ci %196 = OpLoad %18 %171 969e5c31af7Sopenharmony_ci %197 = OpIAdd %18 %196 %60 970e5c31af7Sopenharmony_ci OpStore %171 %197 971e5c31af7Sopenharmony_ci OpBranch %172 972e5c31af7Sopenharmony_ci %174 = OpLabel 973e5c31af7Sopenharmony_ci OpBranch %166 974e5c31af7Sopenharmony_ci %166 = OpLabel 975e5c31af7Sopenharmony_ci %198 = OpLoad %18 %42 976e5c31af7Sopenharmony_ci %199 = OpIAdd %18 %198 %60 977e5c31af7Sopenharmony_ci OpStore %42 %199 978e5c31af7Sopenharmony_ci OpBranch %163 979e5c31af7Sopenharmony_ci %165 = OpLabel 980e5c31af7Sopenharmony_ci %200 = OpAccessChain %41 %62 %28 981e5c31af7Sopenharmony_ci %201 = OpLoad %18 %200 982e5c31af7Sopenharmony_ci %202 = OpAccessChain %41 %62 %35 983e5c31af7Sopenharmony_ci %203 = OpLoad %18 %202 984e5c31af7Sopenharmony_ci %204 = OpIMul %18 %203 %86 985e5c31af7Sopenharmony_ci %205 = OpIAdd %18 %201 %204 986e5c31af7Sopenharmony_ci %206 = OpAccessChain %57 %55 %205 987e5c31af7Sopenharmony_ci OpStore %206 %60 988e5c31af7Sopenharmony_ci OpBranch %161 989e5c31af7Sopenharmony_ci %207 = OpLabel 990e5c31af7Sopenharmony_ci %209 = OpLoad %18 %67 991e5c31af7Sopenharmony_ci %210 = OpLoad %18 %74 992e5c31af7Sopenharmony_ci %211 = OpSMod %18 %209 %210 993e5c31af7Sopenharmony_ci OpStore %208 %211 994e5c31af7Sopenharmony_ci %212 = OpLoad %18 %74 995e5c31af7Sopenharmony_ci %213 = OpLoad %18 %67 996e5c31af7Sopenharmony_ci %214 = OpIAdd %18 %213 %212 997e5c31af7Sopenharmony_ci OpStore %67 %214 998e5c31af7Sopenharmony_ci %215 = OpLoad %18 %208 999e5c31af7Sopenharmony_ci %216 = OpSGreaterThanEqual %50 %215 %19 1000e5c31af7Sopenharmony_ci OpSelectionMerge %218 None 1001e5c31af7Sopenharmony_ci OpBranchConditional %216 %217 %218 1002e5c31af7Sopenharmony_ci %217 = OpLabel 1003e5c31af7Sopenharmony_ci %219 = OpAccessChain %41 %62 %28 1004e5c31af7Sopenharmony_ci %220 = OpLoad %18 %219 1005e5c31af7Sopenharmony_ci %221 = OpSGreaterThan %50 %220 %19 1006e5c31af7Sopenharmony_ci OpBranch %218 1007e5c31af7Sopenharmony_ci %218 = OpLabel 1008e5c31af7Sopenharmony_ci %222 = OpPhi %50 %216 %207 %221 %217 1009e5c31af7Sopenharmony_ci OpSelectionMerge %224 None 1010e5c31af7Sopenharmony_ci OpBranchConditional %222 %223 %224 1011e5c31af7Sopenharmony_ci %223 = OpLabel 1012e5c31af7Sopenharmony_ci %225 = OpAccessChain %41 %62 %28 1013e5c31af7Sopenharmony_ci %226 = OpLoad %18 %225 1014e5c31af7Sopenharmony_ci %227 = OpISub %18 %226 %82 1015e5c31af7Sopenharmony_ci %228 = OpAccessChain %41 %62 %35 1016e5c31af7Sopenharmony_ci %229 = OpLoad %18 %228 1017e5c31af7Sopenharmony_ci %230 = OpIMul %18 %229 %86 1018e5c31af7Sopenharmony_ci %231 = OpIAdd %18 %227 %230 1019e5c31af7Sopenharmony_ci %232 = OpAccessChain %57 %55 %231 1020e5c31af7Sopenharmony_ci %233 = OpLoad %18 %232 1021e5c31af7Sopenharmony_ci %234 = OpIEqual %50 %233 %19 1022e5c31af7Sopenharmony_ci OpBranch %224 1023e5c31af7Sopenharmony_ci %224 = OpLabel 1024e5c31af7Sopenharmony_ci %235 = OpPhi %50 %222 %218 %234 %223 1025e5c31af7Sopenharmony_ci OpSelectionMerge %237 None 1026e5c31af7Sopenharmony_ci OpBranchConditional %235 %236 %237 1027e5c31af7Sopenharmony_ci %236 = OpLabel 1028e5c31af7Sopenharmony_ci %238 = OpLoad %18 %208 1029e5c31af7Sopenharmony_ci %239 = OpISub %18 %238 %60 1030e5c31af7Sopenharmony_ci OpStore %208 %239 1031e5c31af7Sopenharmony_ci %240 = OpAccessChain %41 %62 %28 1032e5c31af7Sopenharmony_ci %241 = OpLoad %18 %240 1033e5c31af7Sopenharmony_ci %242 = OpAccessChain %41 %62 %35 1034e5c31af7Sopenharmony_ci %243 = OpLoad %18 %242 1035e5c31af7Sopenharmony_ci %244 = OpIMul %18 %243 %86 1036e5c31af7Sopenharmony_ci %245 = OpIAdd %18 %241 %244 1037e5c31af7Sopenharmony_ci %246 = OpAccessChain %57 %55 %245 1038e5c31af7Sopenharmony_ci OpStore %246 %60 1039e5c31af7Sopenharmony_ci %247 = OpAccessChain %41 %62 %28 1040e5c31af7Sopenharmony_ci %248 = OpLoad %18 %247 1041e5c31af7Sopenharmony_ci %249 = OpISub %18 %248 %60 1042e5c31af7Sopenharmony_ci %250 = OpAccessChain %41 %62 %35 1043e5c31af7Sopenharmony_ci %251 = OpLoad %18 %250 1044e5c31af7Sopenharmony_ci %252 = OpIMul %18 %251 %86 1045e5c31af7Sopenharmony_ci %253 = OpIAdd %18 %249 %252 1046e5c31af7Sopenharmony_ci %254 = OpAccessChain %57 %55 %253 1047e5c31af7Sopenharmony_ci OpStore %254 %60 1048e5c31af7Sopenharmony_ci %255 = OpAccessChain %41 %62 %28 1049e5c31af7Sopenharmony_ci %256 = OpLoad %18 %255 1050e5c31af7Sopenharmony_ci %257 = OpISub %18 %256 %82 1051e5c31af7Sopenharmony_ci %258 = OpAccessChain %41 %62 %35 1052e5c31af7Sopenharmony_ci %259 = OpLoad %18 %258 1053e5c31af7Sopenharmony_ci %260 = OpIMul %18 %259 %86 1054e5c31af7Sopenharmony_ci %261 = OpIAdd %18 %257 %260 1055e5c31af7Sopenharmony_ci %262 = OpAccessChain %57 %55 %261 1056e5c31af7Sopenharmony_ci OpStore %262 %60 1057e5c31af7Sopenharmony_ci %263 = OpAccessChain %41 %62 %28 1058e5c31af7Sopenharmony_ci %264 = OpLoad %18 %263 1059e5c31af7Sopenharmony_ci %265 = OpISub %18 %264 %82 1060e5c31af7Sopenharmony_ci %266 = OpAccessChain %41 %62 %28 1061e5c31af7Sopenharmony_ci OpStore %266 %265 1062e5c31af7Sopenharmony_ci OpBranch %237 1063e5c31af7Sopenharmony_ci %237 = OpLabel 1064e5c31af7Sopenharmony_ci %267 = OpLoad %18 %208 1065e5c31af7Sopenharmony_ci %268 = OpSGreaterThanEqual %50 %267 %19 1066e5c31af7Sopenharmony_ci OpSelectionMerge %270 None 1067e5c31af7Sopenharmony_ci OpBranchConditional %268 %269 %270 1068e5c31af7Sopenharmony_ci %269 = OpLabel 1069e5c31af7Sopenharmony_ci %271 = OpAccessChain %41 %62 %35 1070e5c31af7Sopenharmony_ci %272 = OpLoad %18 %271 1071e5c31af7Sopenharmony_ci %273 = OpSGreaterThan %50 %272 %19 1072e5c31af7Sopenharmony_ci OpBranch %270 1073e5c31af7Sopenharmony_ci %270 = OpLabel 1074e5c31af7Sopenharmony_ci %274 = OpPhi %50 %268 %237 %273 %269 1075e5c31af7Sopenharmony_ci OpBranch %275 1076e5c31af7Sopenharmony_ci %275 = OpLabel 1077e5c31af7Sopenharmony_ci %277 = OpAccessChain %41 %62 %28 1078e5c31af7Sopenharmony_ci OpSelectionMerge %1419 None 1079e5c31af7Sopenharmony_ci OpBranchConditional %274 %1420 %1422 1080e5c31af7Sopenharmony_ci %1420 = OpLabel 1081e5c31af7Sopenharmony_ci %1421 = OpLoad %18 %277 1082e5c31af7Sopenharmony_ci OpBranch %1419 1083e5c31af7Sopenharmony_ci %1422 = OpLabel 1084e5c31af7Sopenharmony_ci %1423 = OpCopyObject %18 %542 1085e5c31af7Sopenharmony_ci OpBranch %1419 1086e5c31af7Sopenharmony_ci %1419 = OpLabel 1087e5c31af7Sopenharmony_ci %278 = OpPhi %18 %1421 %1420 %1423 %1422 1088e5c31af7Sopenharmony_ci %279 = OpAccessChain %41 %62 %35 1089e5c31af7Sopenharmony_ci OpSelectionMerge %1424 None 1090e5c31af7Sopenharmony_ci OpBranchConditional %274 %1425 %1427 1091e5c31af7Sopenharmony_ci %1425 = OpLabel 1092e5c31af7Sopenharmony_ci %1426 = OpLoad %18 %279 1093e5c31af7Sopenharmony_ci OpBranch %1424 1094e5c31af7Sopenharmony_ci %1427 = OpLabel 1095e5c31af7Sopenharmony_ci %1428 = OpCopyObject %18 %542 1096e5c31af7Sopenharmony_ci OpBranch %1424 1097e5c31af7Sopenharmony_ci %1424 = OpLabel 1098e5c31af7Sopenharmony_ci %280 = OpPhi %18 %1426 %1425 %1428 %1427 1099e5c31af7Sopenharmony_ci %281 = OpISub %18 %280 %82 1100e5c31af7Sopenharmony_ci %282 = OpIMul %18 %281 %86 1101e5c31af7Sopenharmony_ci OpSelectionMerge %1434 None 1102e5c31af7Sopenharmony_ci OpBranchConditional %274 %1435 %1437 1103e5c31af7Sopenharmony_ci %1435 = OpLabel 1104e5c31af7Sopenharmony_ci %1436 = OpLoad %53 %55 1105e5c31af7Sopenharmony_ci OpBranch %1434 1106e5c31af7Sopenharmony_ci %1437 = OpLabel 1107e5c31af7Sopenharmony_ci %1438 = OpCopyObject %53 %566 1108e5c31af7Sopenharmony_ci OpBranch %1434 1109e5c31af7Sopenharmony_ci %1434 = OpLabel 1110e5c31af7Sopenharmony_ci %773 = OpPhi %53 %1436 %1435 %1438 %1437 1111e5c31af7Sopenharmony_ci OpSelectionMerge %1439 None 1112e5c31af7Sopenharmony_ci OpBranchConditional %274 %1440 %1439 1113e5c31af7Sopenharmony_ci %1440 = OpLabel 1114e5c31af7Sopenharmony_ci OpStore %55 %566 1115e5c31af7Sopenharmony_ci OpBranch %1439 1116e5c31af7Sopenharmony_ci %1439 = OpLabel 1117e5c31af7Sopenharmony_ci OpSelectionMerge %1441 None 1118e5c31af7Sopenharmony_ci OpBranchConditional %274 %1442 %1441 1119e5c31af7Sopenharmony_ci %1442 = OpLabel 1120e5c31af7Sopenharmony_ci OpStore %55 %773 1121e5c31af7Sopenharmony_ci OpBranch %1441 1122e5c31af7Sopenharmony_ci %1441 = OpLabel 1123e5c31af7Sopenharmony_ci %283 = OpIAdd %18 %278 %282 1124e5c31af7Sopenharmony_ci %284 = OpAccessChain %57 %55 %283 1125e5c31af7Sopenharmony_ci OpSelectionMerge %1429 None 1126e5c31af7Sopenharmony_ci OpBranchConditional %274 %1430 %1432 1127e5c31af7Sopenharmony_ci %1430 = OpLabel 1128e5c31af7Sopenharmony_ci %1431 = OpLoad %18 %284 1129e5c31af7Sopenharmony_ci OpBranch %1429 1130e5c31af7Sopenharmony_ci %1432 = OpLabel 1131e5c31af7Sopenharmony_ci %1433 = OpCopyObject %18 %542 1132e5c31af7Sopenharmony_ci OpBranch %1429 1133e5c31af7Sopenharmony_ci %1429 = OpLabel 1134e5c31af7Sopenharmony_ci %285 = OpPhi %18 %1431 %1430 %1433 %1432 1135e5c31af7Sopenharmony_ci %286 = OpIEqual %50 %285 %19 1136e5c31af7Sopenharmony_ci OpBranch %276 1137e5c31af7Sopenharmony_ci %276 = OpLabel 1138e5c31af7Sopenharmony_ci %287 = OpSelect %50 %274 %286 %274 1139e5c31af7Sopenharmony_ci OpSelectionMerge %289 None 1140e5c31af7Sopenharmony_ci OpBranchConditional %287 %288 %289 1141e5c31af7Sopenharmony_ci %288 = OpLabel 1142e5c31af7Sopenharmony_ci %290 = OpLoad %18 %208 1143e5c31af7Sopenharmony_ci %291 = OpISub %18 %290 %60 1144e5c31af7Sopenharmony_ci OpStore %208 %291 1145e5c31af7Sopenharmony_ci %292 = OpAccessChain %41 %62 %28 1146e5c31af7Sopenharmony_ci %293 = OpLoad %18 %292 1147e5c31af7Sopenharmony_ci %294 = OpAccessChain %41 %62 %35 1148e5c31af7Sopenharmony_ci %295 = OpLoad %18 %294 1149e5c31af7Sopenharmony_ci %296 = OpIMul %18 %295 %86 1150e5c31af7Sopenharmony_ci %297 = OpIAdd %18 %293 %296 1151e5c31af7Sopenharmony_ci %298 = OpAccessChain %57 %55 %297 1152e5c31af7Sopenharmony_ci OpStore %298 %60 1153e5c31af7Sopenharmony_ci %299 = OpAccessChain %41 %62 %28 1154e5c31af7Sopenharmony_ci %300 = OpLoad %18 %299 1155e5c31af7Sopenharmony_ci %301 = OpAccessChain %41 %62 %35 1156e5c31af7Sopenharmony_ci %302 = OpLoad %18 %301 1157e5c31af7Sopenharmony_ci %303 = OpISub %18 %302 %60 1158e5c31af7Sopenharmony_ci %304 = OpIMul %18 %303 %86 1159e5c31af7Sopenharmony_ci %305 = OpIAdd %18 %300 %304 1160e5c31af7Sopenharmony_ci %306 = OpAccessChain %57 %55 %305 1161e5c31af7Sopenharmony_ci OpStore %306 %60 1162e5c31af7Sopenharmony_ci %307 = OpAccessChain %41 %62 %28 1163e5c31af7Sopenharmony_ci %308 = OpLoad %18 %307 1164e5c31af7Sopenharmony_ci %309 = OpAccessChain %41 %62 %35 1165e5c31af7Sopenharmony_ci %310 = OpLoad %18 %309 1166e5c31af7Sopenharmony_ci %311 = OpISub %18 %310 %82 1167e5c31af7Sopenharmony_ci %800 = OpLoad %53 %55 1168e5c31af7Sopenharmony_ci OpStore %55 %566 1169e5c31af7Sopenharmony_ci OpStore %55 %800 1170e5c31af7Sopenharmony_ci %312 = OpIMul %18 %311 %86 1171e5c31af7Sopenharmony_ci %313 = OpIAdd %18 %308 %312 1172e5c31af7Sopenharmony_ci %314 = OpAccessChain %57 %55 %313 1173e5c31af7Sopenharmony_ci OpStore %314 %60 1174e5c31af7Sopenharmony_ci %315 = OpAccessChain %41 %62 %35 1175e5c31af7Sopenharmony_ci %316 = OpLoad %18 %315 1176e5c31af7Sopenharmony_ci %317 = OpISub %18 %316 %82 1177e5c31af7Sopenharmony_ci %318 = OpAccessChain %41 %62 %35 1178e5c31af7Sopenharmony_ci OpStore %318 %317 1179e5c31af7Sopenharmony_ci OpBranch %289 1180e5c31af7Sopenharmony_ci %289 = OpLabel 1181e5c31af7Sopenharmony_ci %319 = OpLoad %18 %208 1182e5c31af7Sopenharmony_ci %320 = OpSGreaterThanEqual %50 %319 %19 1183e5c31af7Sopenharmony_ci OpSelectionMerge %322 None 1184e5c31af7Sopenharmony_ci OpBranchConditional %320 %321 %322 1185e5c31af7Sopenharmony_ci %321 = OpLabel 1186e5c31af7Sopenharmony_ci %323 = OpAccessChain %41 %62 %28 1187e5c31af7Sopenharmony_ci %324 = OpLoad %18 %323 1188e5c31af7Sopenharmony_ci %325 = OpSLessThan %50 %324 %119 1189e5c31af7Sopenharmony_ci OpBranch %322 1190e5c31af7Sopenharmony_ci %322 = OpLabel 1191e5c31af7Sopenharmony_ci %326 = OpPhi %50 %320 %289 %325 %321 1192e5c31af7Sopenharmony_ci OpSelectionMerge %328 None 1193e5c31af7Sopenharmony_ci OpBranchConditional %326 %327 %328 1194e5c31af7Sopenharmony_ci %327 = OpLabel 1195e5c31af7Sopenharmony_ci %329 = OpAccessChain %41 %62 %28 1196e5c31af7Sopenharmony_ci %330 = OpLoad %18 %329 1197e5c31af7Sopenharmony_ci %331 = OpIAdd %18 %330 %82 1198e5c31af7Sopenharmony_ci %332 = OpAccessChain %41 %62 %35 1199e5c31af7Sopenharmony_ci %333 = OpLoad %18 %332 1200e5c31af7Sopenharmony_ci %334 = OpIMul %18 %333 %86 1201e5c31af7Sopenharmony_ci %335 = OpIAdd %18 %331 %334 1202e5c31af7Sopenharmony_ci %336 = OpAccessChain %57 %55 %335 1203e5c31af7Sopenharmony_ci %337 = OpLoad %18 %336 1204e5c31af7Sopenharmony_ci %338 = OpIEqual %50 %337 %19 1205e5c31af7Sopenharmony_ci OpBranch %328 1206e5c31af7Sopenharmony_ci %328 = OpLabel 1207e5c31af7Sopenharmony_ci %339 = OpPhi %50 %326 %322 %338 %327 1208e5c31af7Sopenharmony_ci OpSelectionMerge %341 None 1209e5c31af7Sopenharmony_ci OpBranchConditional %339 %340 %341 1210e5c31af7Sopenharmony_ci %340 = OpLabel 1211e5c31af7Sopenharmony_ci %342 = OpLoad %18 %208 1212e5c31af7Sopenharmony_ci %343 = OpISub %18 %342 %60 1213e5c31af7Sopenharmony_ci OpStore %208 %343 1214e5c31af7Sopenharmony_ci %344 = OpAccessChain %41 %62 %28 1215e5c31af7Sopenharmony_ci %345 = OpLoad %18 %344 1216e5c31af7Sopenharmony_ci %346 = OpAccessChain %41 %62 %35 1217e5c31af7Sopenharmony_ci %347 = OpLoad %18 %346 1218e5c31af7Sopenharmony_ci %348 = OpIMul %18 %347 %86 1219e5c31af7Sopenharmony_ci %349 = OpIAdd %18 %345 %348 1220e5c31af7Sopenharmony_ci %350 = OpAccessChain %57 %55 %349 1221e5c31af7Sopenharmony_ci OpStore %350 %60 1222e5c31af7Sopenharmony_ci %351 = OpAccessChain %41 %62 %28 1223e5c31af7Sopenharmony_ci %352 = OpLoad %18 %351 1224e5c31af7Sopenharmony_ci %353 = OpIAdd %18 %352 %60 1225e5c31af7Sopenharmony_ci %354 = OpAccessChain %41 %62 %35 1226e5c31af7Sopenharmony_ci %355 = OpLoad %18 %354 1227e5c31af7Sopenharmony_ci %356 = OpIMul %18 %355 %86 1228e5c31af7Sopenharmony_ci %357 = OpIAdd %18 %353 %356 1229e5c31af7Sopenharmony_ci %358 = OpAccessChain %57 %55 %357 1230e5c31af7Sopenharmony_ci OpStore %358 %60 1231e5c31af7Sopenharmony_ci %359 = OpAccessChain %41 %62 %28 1232e5c31af7Sopenharmony_ci %360 = OpLoad %18 %359 1233e5c31af7Sopenharmony_ci %361 = OpIAdd %18 %360 %82 1234e5c31af7Sopenharmony_ci %362 = OpAccessChain %41 %62 %35 1235e5c31af7Sopenharmony_ci %363 = OpLoad %18 %362 1236e5c31af7Sopenharmony_ci %364 = OpIMul %18 %363 %86 1237e5c31af7Sopenharmony_ci %365 = OpIAdd %18 %361 %364 1238e5c31af7Sopenharmony_ci %366 = OpAccessChain %57 %55 %365 1239e5c31af7Sopenharmony_ci OpStore %366 %60 1240e5c31af7Sopenharmony_ci %367 = OpAccessChain %41 %62 %28 1241e5c31af7Sopenharmony_ci %368 = OpLoad %18 %367 1242e5c31af7Sopenharmony_ci %369 = OpIAdd %18 %368 %82 1243e5c31af7Sopenharmony_ci %370 = OpAccessChain %41 %62 %28 1244e5c31af7Sopenharmony_ci OpStore %370 %369 1245e5c31af7Sopenharmony_ci OpBranch %341 1246e5c31af7Sopenharmony_ci %341 = OpLabel 1247e5c31af7Sopenharmony_ci %371 = OpLoad %18 %208 1248e5c31af7Sopenharmony_ci %372 = OpSGreaterThanEqual %50 %371 %19 1249e5c31af7Sopenharmony_ci OpSelectionMerge %374 None 1250e5c31af7Sopenharmony_ci OpBranchConditional %372 %373 %374 1251e5c31af7Sopenharmony_ci %373 = OpLabel 1252e5c31af7Sopenharmony_ci %375 = OpAccessChain %41 %62 %35 1253e5c31af7Sopenharmony_ci %376 = OpLoad %18 %375 1254e5c31af7Sopenharmony_ci %377 = OpSLessThan %50 %376 %119 1255e5c31af7Sopenharmony_ci OpBranch %374 1256e5c31af7Sopenharmony_ci %374 = OpLabel 1257e5c31af7Sopenharmony_ci %378 = OpPhi %50 %372 %341 %377 %373 1258e5c31af7Sopenharmony_ci OpSelectionMerge %380 None 1259e5c31af7Sopenharmony_ci OpBranchConditional %378 %379 %380 1260e5c31af7Sopenharmony_ci %379 = OpLabel 1261e5c31af7Sopenharmony_ci %381 = OpAccessChain %41 %62 %28 1262e5c31af7Sopenharmony_ci %382 = OpLoad %18 %381 1263e5c31af7Sopenharmony_ci %383 = OpAccessChain %41 %62 %35 1264e5c31af7Sopenharmony_ci %384 = OpLoad %18 %383 1265e5c31af7Sopenharmony_ci %385 = OpIAdd %18 %384 %82 1266e5c31af7Sopenharmony_ci %386 = OpIMul %18 %385 %86 1267e5c31af7Sopenharmony_ci %387 = OpIAdd %18 %382 %386 1268e5c31af7Sopenharmony_ci %388 = OpAccessChain %57 %55 %387 1269e5c31af7Sopenharmony_ci %389 = OpLoad %18 %388 1270e5c31af7Sopenharmony_ci %390 = OpIEqual %50 %389 %19 1271e5c31af7Sopenharmony_ci OpBranch %380 1272e5c31af7Sopenharmony_ci %380 = OpLabel 1273e5c31af7Sopenharmony_ci %391 = OpPhi %50 %378 %374 %390 %379 1274e5c31af7Sopenharmony_ci OpSelectionMerge %393 None 1275e5c31af7Sopenharmony_ci OpBranchConditional %391 %392 %393 1276e5c31af7Sopenharmony_ci %392 = OpLabel 1277e5c31af7Sopenharmony_ci %394 = OpLoad %18 %208 1278e5c31af7Sopenharmony_ci %395 = OpISub %18 %394 %60 1279e5c31af7Sopenharmony_ci OpStore %208 %395 1280e5c31af7Sopenharmony_ci %396 = OpAccessChain %41 %62 %28 1281e5c31af7Sopenharmony_ci %397 = OpLoad %18 %396 1282e5c31af7Sopenharmony_ci %398 = OpAccessChain %41 %62 %35 1283e5c31af7Sopenharmony_ci %399 = OpLoad %18 %398 1284e5c31af7Sopenharmony_ci %400 = OpIMul %18 %399 %86 1285e5c31af7Sopenharmony_ci %401 = OpIAdd %18 %397 %400 1286e5c31af7Sopenharmony_ci %402 = OpAccessChain %57 %55 %401 1287e5c31af7Sopenharmony_ci OpStore %402 %60 1288e5c31af7Sopenharmony_ci %403 = OpAccessChain %41 %62 %28 1289e5c31af7Sopenharmony_ci %404 = OpLoad %18 %403 1290e5c31af7Sopenharmony_ci %405 = OpAccessChain %41 %62 %35 1291e5c31af7Sopenharmony_ci %406 = OpLoad %18 %405 1292e5c31af7Sopenharmony_ci %407 = OpIAdd %18 %406 %60 1293e5c31af7Sopenharmony_ci %408 = OpIMul %18 %407 %86 1294e5c31af7Sopenharmony_ci %409 = OpIAdd %18 %404 %408 1295e5c31af7Sopenharmony_ci %410 = OpAccessChain %57 %55 %409 1296e5c31af7Sopenharmony_ci OpStore %410 %60 1297e5c31af7Sopenharmony_ci %411 = OpAccessChain %41 %62 %28 1298e5c31af7Sopenharmony_ci %412 = OpLoad %18 %411 1299e5c31af7Sopenharmony_ci %413 = OpAccessChain %41 %62 %35 1300e5c31af7Sopenharmony_ci %414 = OpLoad %18 %413 1301e5c31af7Sopenharmony_ci %415 = OpIAdd %18 %414 %82 1302e5c31af7Sopenharmony_ci %416 = OpIMul %18 %415 %86 1303e5c31af7Sopenharmony_ci %417 = OpIAdd %18 %412 %416 1304e5c31af7Sopenharmony_ci %418 = OpAccessChain %57 %55 %417 1305e5c31af7Sopenharmony_ci OpStore %418 %60 1306e5c31af7Sopenharmony_ci %419 = OpAccessChain %41 %62 %35 1307e5c31af7Sopenharmony_ci %420 = OpLoad %18 %419 1308e5c31af7Sopenharmony_ci %421 = OpIAdd %18 %420 %82 1309e5c31af7Sopenharmony_ci %422 = OpAccessChain %41 %62 %35 1310e5c31af7Sopenharmony_ci OpStore %422 %421 1311e5c31af7Sopenharmony_ci OpBranch %393 1312e5c31af7Sopenharmony_ci %393 = OpLabel 1313e5c31af7Sopenharmony_ci OpBranch %161 1314e5c31af7Sopenharmony_ci %161 = OpLabel 1315e5c31af7Sopenharmony_ci %423 = OpAccessChain %41 %26 %35 1316e5c31af7Sopenharmony_ci %424 = OpLoad %18 %423 1317e5c31af7Sopenharmony_ci %425 = OpIMul %18 %424 %86 1318e5c31af7Sopenharmony_ci %426 = OpAccessChain %41 %26 %28 1319e5c31af7Sopenharmony_ci %427 = OpLoad %18 %426 1320e5c31af7Sopenharmony_ci %428 = OpIAdd %18 %425 %427 1321e5c31af7Sopenharmony_ci %429 = OpAccessChain %57 %55 %428 1322e5c31af7Sopenharmony_ci %430 = OpLoad %18 %429 1323e5c31af7Sopenharmony_ci %431 = OpIEqual %50 %430 %60 1324e5c31af7Sopenharmony_ci OpSelectionMerge %433 None 1325e5c31af7Sopenharmony_ci OpBranchConditional %431 %432 %433 1326e5c31af7Sopenharmony_ci %432 = OpLabel 1327e5c31af7Sopenharmony_ci OpStore %435 %437 1328e5c31af7Sopenharmony_ci OpReturn 1329e5c31af7Sopenharmony_ci %433 = OpLabel 1330e5c31af7Sopenharmony_ci OpBranch %71 1331e5c31af7Sopenharmony_ci %71 = OpLabel 1332e5c31af7Sopenharmony_ci %439 = OpLoad %50 %65 1333e5c31af7Sopenharmony_ci OpBranchConditional %439 %68 %70 1334e5c31af7Sopenharmony_ci %70 = OpLabel 1335e5c31af7Sopenharmony_ci OpStore %435 %441 1336e5c31af7Sopenharmony_ci OpReturn 1337e5c31af7Sopenharmony_ci OpFunctionEnd 1338e5c31af7Sopenharmony_ciEND 1339e5c31af7Sopenharmony_ci 1340e5c31af7Sopenharmony_ci# uniforms for variant 1341e5c31af7Sopenharmony_ci 1342e5c31af7Sopenharmony_ci# resolution 1343e5c31af7Sopenharmony_ciBUFFER variant_resolution DATA_TYPE vec2<float> STD140 DATA 1344e5c31af7Sopenharmony_ci 32.0 32.0 1345e5c31af7Sopenharmony_ciEND 1346e5c31af7Sopenharmony_ci 1347e5c31af7Sopenharmony_ciBUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM 1348e5c31af7Sopenharmony_ci 1349e5c31af7Sopenharmony_ciPIPELINE graphics variant_pipeline 1350e5c31af7Sopenharmony_ci ATTACH variant_vertex_shader 1351e5c31af7Sopenharmony_ci ATTACH variant_fragment_shader 1352e5c31af7Sopenharmony_ci FRAMEBUFFER_SIZE 32 32 1353e5c31af7Sopenharmony_ci BIND BUFFER variant_framebuffer AS color LOCATION 0 1354e5c31af7Sopenharmony_ci BIND BUFFER variant_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0 1355e5c31af7Sopenharmony_ciEND 1356e5c31af7Sopenharmony_ciCLEAR_COLOR variant_pipeline 0 0 0 255 1357e5c31af7Sopenharmony_ci 1358e5c31af7Sopenharmony_ciCLEAR variant_pipeline 1359e5c31af7Sopenharmony_ciRUN variant_pipeline DRAW_RECT POS 0 0 SIZE 32 32 1360e5c31af7Sopenharmony_ci 1361e5c31af7Sopenharmony_ci 1362e5c31af7Sopenharmony_ciSHADER vertex variant_2_vertex_shader PASSTHROUGH 1363e5c31af7Sopenharmony_ci 1364e5c31af7Sopenharmony_ciSHADER fragment variant_2_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 1365e5c31af7Sopenharmony_ci; SPIR-V 1366e5c31af7Sopenharmony_ci; Version: 1.0 1367e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 7 1368e5c31af7Sopenharmony_ci; Bound: 801 1369e5c31af7Sopenharmony_ci; Schema: 0 1370e5c31af7Sopenharmony_ci OpCapability Shader 1371e5c31af7Sopenharmony_ci %1 = OpExtInstImport "GLSL.std.450" 1372e5c31af7Sopenharmony_ci OpMemoryModel Logical GLSL450 1373e5c31af7Sopenharmony_ci OpEntryPoint Fragment %4 "main" %12 %435 1374e5c31af7Sopenharmony_ci OpExecutionMode %4 OriginUpperLeft 1375e5c31af7Sopenharmony_ci OpSource ESSL 320 1376e5c31af7Sopenharmony_ci OpName %4 "main" 1377e5c31af7Sopenharmony_ci OpName %9 "pos" 1378e5c31af7Sopenharmony_ci OpName %12 "gl_FragCoord" 1379e5c31af7Sopenharmony_ci OpName %15 "buf0" 1380e5c31af7Sopenharmony_ci OpMemberName %15 0 "resolution" 1381e5c31af7Sopenharmony_ci OpName %17 "" 1382e5c31af7Sopenharmony_ci OpName %26 "ipos" 1383e5c31af7Sopenharmony_ci OpName %42 "i" 1384e5c31af7Sopenharmony_ci OpName %55 "map" 1385e5c31af7Sopenharmony_ci OpName %62 "p" 1386e5c31af7Sopenharmony_ci OpName %65 "canwalk" 1387e5c31af7Sopenharmony_ci OpName %67 "v" 1388e5c31af7Sopenharmony_ci OpName %74 "directions" 1389e5c31af7Sopenharmony_ci OpName %171 "j" 1390e5c31af7Sopenharmony_ci OpName %208 "d" 1391e5c31af7Sopenharmony_ci OpName %435 "_GLF_color" 1392e5c31af7Sopenharmony_ci OpDecorate %12 BuiltIn FragCoord 1393e5c31af7Sopenharmony_ci OpMemberDecorate %15 0 Offset 0 1394e5c31af7Sopenharmony_ci OpDecorate %15 Block 1395e5c31af7Sopenharmony_ci OpDecorate %17 DescriptorSet 0 1396e5c31af7Sopenharmony_ci OpDecorate %17 Binding 0 1397e5c31af7Sopenharmony_ci OpDecorate %435 Location 0 1398e5c31af7Sopenharmony_ci %2 = OpTypeVoid 1399e5c31af7Sopenharmony_ci %3 = OpTypeFunction %2 1400e5c31af7Sopenharmony_ci %6 = OpTypeFloat 32 1401e5c31af7Sopenharmony_ci %7 = OpTypeVector %6 2 1402e5c31af7Sopenharmony_ci %8 = OpTypePointer Function %7 1403e5c31af7Sopenharmony_ci %10 = OpTypeVector %6 4 1404e5c31af7Sopenharmony_ci %11 = OpTypePointer Input %10 1405e5c31af7Sopenharmony_ci %12 = OpVariable %11 Input 1406e5c31af7Sopenharmony_ci %15 = OpTypeStruct %7 1407e5c31af7Sopenharmony_ci %16 = OpTypePointer Uniform %15 1408e5c31af7Sopenharmony_ci %17 = OpVariable %16 Uniform 1409e5c31af7Sopenharmony_ci %18 = OpTypeInt 32 1 1410e5c31af7Sopenharmony_ci %19 = OpConstant %18 0 1411e5c31af7Sopenharmony_ci %20 = OpTypePointer Uniform %7 1412e5c31af7Sopenharmony_ci %24 = OpTypeVector %18 2 1413e5c31af7Sopenharmony_ci %25 = OpTypePointer Function %24 1414e5c31af7Sopenharmony_ci %27 = OpTypeInt 32 0 1415e5c31af7Sopenharmony_ci %28 = OpConstant %27 0 1416e5c31af7Sopenharmony_ci %29 = OpTypePointer Function %6 1417e5c31af7Sopenharmony_ci %32 = OpConstant %6 16 1418e5c31af7Sopenharmony_ci %35 = OpConstant %27 1 1419e5c31af7Sopenharmony_ci %41 = OpTypePointer Function %18 1420e5c31af7Sopenharmony_ci %49 = OpConstant %18 256 1421e5c31af7Sopenharmony_ci %50 = OpTypeBool 1422e5c31af7Sopenharmony_ci %52 = OpConstant %27 256 1423e5c31af7Sopenharmony_ci %53 = OpTypeArray %18 %52 1424e5c31af7Sopenharmony_ci %54 = OpTypePointer Private %53 1425e5c31af7Sopenharmony_ci %55 = OpVariable %54 Private 1426e5c31af7Sopenharmony_ci %57 = OpTypePointer Private %18 1427e5c31af7Sopenharmony_ci %60 = OpConstant %18 1 1428e5c31af7Sopenharmony_ci %63 = OpConstantComposite %24 %19 %19 1429e5c31af7Sopenharmony_ci %64 = OpTypePointer Function %50 1430e5c31af7Sopenharmony_ci %66 = OpConstantTrue %50 1431e5c31af7Sopenharmony_ci %82 = OpConstant %18 2 1432e5c31af7Sopenharmony_ci %86 = OpConstant %18 16 1433e5c31af7Sopenharmony_ci %119 = OpConstant %18 14 1434e5c31af7Sopenharmony_ci %162 = OpConstantFalse %50 1435e5c31af7Sopenharmony_ci %169 = OpConstant %18 8 1436e5c31af7Sopenharmony_ci %434 = OpTypePointer Output %10 1437e5c31af7Sopenharmony_ci %435 = OpVariable %434 Output 1438e5c31af7Sopenharmony_ci %436 = OpConstant %6 1 1439e5c31af7Sopenharmony_ci %437 = OpConstantComposite %10 %436 %436 %436 %436 1440e5c31af7Sopenharmony_ci %440 = OpConstant %6 0 1441e5c31af7Sopenharmony_ci %441 = OpConstantComposite %10 %440 %440 %440 %436 1442e5c31af7Sopenharmony_ci %542 = OpConstant %18 0 1443e5c31af7Sopenharmony_ci %566 = OpConstantComposite %53 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 %542 1444e5c31af7Sopenharmony_ci %4 = OpFunction %2 None %3 1445e5c31af7Sopenharmony_ci %5 = OpLabel 1446e5c31af7Sopenharmony_ci %9 = OpVariable %8 Function 1447e5c31af7Sopenharmony_ci %26 = OpVariable %25 Function 1448e5c31af7Sopenharmony_ci %42 = OpVariable %41 Function 1449e5c31af7Sopenharmony_ci %62 = OpVariable %25 Function 1450e5c31af7Sopenharmony_ci %65 = OpVariable %64 Function 1451e5c31af7Sopenharmony_ci %67 = OpVariable %41 Function 1452e5c31af7Sopenharmony_ci %74 = OpVariable %41 Function 1453e5c31af7Sopenharmony_ci %171 = OpVariable %41 Function 1454e5c31af7Sopenharmony_ci %208 = OpVariable %41 Function 1455e5c31af7Sopenharmony_ci %13 = OpLoad %10 %12 1456e5c31af7Sopenharmony_ci %14 = OpVectorShuffle %7 %13 %13 0 1 1457e5c31af7Sopenharmony_ci %21 = OpAccessChain %20 %17 %19 1458e5c31af7Sopenharmony_ci %22 = OpLoad %7 %21 1459e5c31af7Sopenharmony_ci %23 = OpFDiv %7 %14 %22 1460e5c31af7Sopenharmony_ci OpStore %9 %23 1461e5c31af7Sopenharmony_ci %30 = OpAccessChain %29 %9 %28 1462e5c31af7Sopenharmony_ci %31 = OpLoad %6 %30 1463e5c31af7Sopenharmony_ci %33 = OpFMul %6 %31 %32 1464e5c31af7Sopenharmony_ci %34 = OpConvertFToS %18 %33 1465e5c31af7Sopenharmony_ci %36 = OpAccessChain %29 %9 %35 1466e5c31af7Sopenharmony_ci %37 = OpLoad %6 %36 1467e5c31af7Sopenharmony_ci %38 = OpFMul %6 %37 %32 1468e5c31af7Sopenharmony_ci %39 = OpConvertFToS %18 %38 1469e5c31af7Sopenharmony_ci %40 = OpCompositeConstruct %24 %34 %39 1470e5c31af7Sopenharmony_ci OpStore %26 %40 1471e5c31af7Sopenharmony_ci OpStore %42 %19 1472e5c31af7Sopenharmony_ci OpBranch %43 1473e5c31af7Sopenharmony_ci %43 = OpLabel 1474e5c31af7Sopenharmony_ci OpLoopMerge %45 %46 None 1475e5c31af7Sopenharmony_ci OpBranch %47 1476e5c31af7Sopenharmony_ci %47 = OpLabel 1477e5c31af7Sopenharmony_ci %48 = OpLoad %18 %42 1478e5c31af7Sopenharmony_ci %51 = OpSLessThan %50 %48 %49 1479e5c31af7Sopenharmony_ci OpBranchConditional %51 %44 %45 1480e5c31af7Sopenharmony_ci %44 = OpLabel 1481e5c31af7Sopenharmony_ci %56 = OpLoad %18 %42 1482e5c31af7Sopenharmony_ci %58 = OpAccessChain %57 %55 %56 1483e5c31af7Sopenharmony_ci OpStore %58 %19 1484e5c31af7Sopenharmony_ci OpBranch %46 1485e5c31af7Sopenharmony_ci %46 = OpLabel 1486e5c31af7Sopenharmony_ci %59 = OpLoad %18 %42 1487e5c31af7Sopenharmony_ci %61 = OpIAdd %18 %59 %60 1488e5c31af7Sopenharmony_ci OpStore %42 %61 1489e5c31af7Sopenharmony_ci OpBranch %43 1490e5c31af7Sopenharmony_ci %45 = OpLabel 1491e5c31af7Sopenharmony_ci OpStore %62 %63 1492e5c31af7Sopenharmony_ci OpStore %65 %66 1493e5c31af7Sopenharmony_ci OpStore %67 %19 1494e5c31af7Sopenharmony_ci OpBranch %68 1495e5c31af7Sopenharmony_ci %68 = OpLabel 1496e5c31af7Sopenharmony_ci OpLoopMerge %70 %71 None 1497e5c31af7Sopenharmony_ci OpBranch %69 1498e5c31af7Sopenharmony_ci %69 = OpLabel 1499e5c31af7Sopenharmony_ci %72 = OpLoad %18 %67 1500e5c31af7Sopenharmony_ci %73 = OpIAdd %18 %72 %60 1501e5c31af7Sopenharmony_ci OpStore %67 %73 1502e5c31af7Sopenharmony_ci OpStore %74 %19 1503e5c31af7Sopenharmony_ci %75 = OpAccessChain %41 %62 %28 1504e5c31af7Sopenharmony_ci %76 = OpLoad %18 %75 1505e5c31af7Sopenharmony_ci %77 = OpSGreaterThan %50 %76 %19 1506e5c31af7Sopenharmony_ci OpSelectionMerge %79 None 1507e5c31af7Sopenharmony_ci OpBranchConditional %77 %78 %79 1508e5c31af7Sopenharmony_ci %78 = OpLabel 1509e5c31af7Sopenharmony_ci %80 = OpAccessChain %41 %62 %28 1510e5c31af7Sopenharmony_ci %81 = OpLoad %18 %80 1511e5c31af7Sopenharmony_ci %83 = OpISub %18 %81 %82 1512e5c31af7Sopenharmony_ci %84 = OpAccessChain %41 %62 %35 1513e5c31af7Sopenharmony_ci %85 = OpLoad %18 %84 1514e5c31af7Sopenharmony_ci %87 = OpIMul %18 %85 %86 1515e5c31af7Sopenharmony_ci %88 = OpIAdd %18 %83 %87 1516e5c31af7Sopenharmony_ci %89 = OpAccessChain %57 %55 %88 1517e5c31af7Sopenharmony_ci %90 = OpLoad %18 %89 1518e5c31af7Sopenharmony_ci %91 = OpIEqual %50 %90 %19 1519e5c31af7Sopenharmony_ci OpBranch %79 1520e5c31af7Sopenharmony_ci %79 = OpLabel 1521e5c31af7Sopenharmony_ci %92 = OpPhi %50 %77 %69 %91 %78 1522e5c31af7Sopenharmony_ci OpSelectionMerge %94 None 1523e5c31af7Sopenharmony_ci OpBranchConditional %92 %93 %94 1524e5c31af7Sopenharmony_ci %93 = OpLabel 1525e5c31af7Sopenharmony_ci %95 = OpLoad %18 %74 1526e5c31af7Sopenharmony_ci %96 = OpIAdd %18 %95 %60 1527e5c31af7Sopenharmony_ci OpStore %74 %96 1528e5c31af7Sopenharmony_ci OpBranch %94 1529e5c31af7Sopenharmony_ci %94 = OpLabel 1530e5c31af7Sopenharmony_ci %97 = OpAccessChain %41 %62 %35 1531e5c31af7Sopenharmony_ci %98 = OpLoad %18 %97 1532e5c31af7Sopenharmony_ci %99 = OpSGreaterThan %50 %98 %19 1533e5c31af7Sopenharmony_ci OpSelectionMerge %101 None 1534e5c31af7Sopenharmony_ci OpBranchConditional %99 %100 %101 1535e5c31af7Sopenharmony_ci %100 = OpLabel 1536e5c31af7Sopenharmony_ci %102 = OpAccessChain %41 %62 %28 1537e5c31af7Sopenharmony_ci %103 = OpLoad %18 %102 1538e5c31af7Sopenharmony_ci %104 = OpAccessChain %41 %62 %35 1539e5c31af7Sopenharmony_ci %105 = OpLoad %18 %104 1540e5c31af7Sopenharmony_ci %106 = OpISub %18 %105 %82 1541e5c31af7Sopenharmony_ci %107 = OpIMul %18 %106 %86 1542e5c31af7Sopenharmony_ci %108 = OpIAdd %18 %103 %107 1543e5c31af7Sopenharmony_ci %109 = OpAccessChain %57 %55 %108 1544e5c31af7Sopenharmony_ci %110 = OpLoad %18 %109 1545e5c31af7Sopenharmony_ci %111 = OpIEqual %50 %110 %19 1546e5c31af7Sopenharmony_ci OpBranch %101 1547e5c31af7Sopenharmony_ci %101 = OpLabel 1548e5c31af7Sopenharmony_ci %112 = OpPhi %50 %99 %94 %111 %100 1549e5c31af7Sopenharmony_ci OpSelectionMerge %114 None 1550e5c31af7Sopenharmony_ci OpBranchConditional %112 %113 %114 1551e5c31af7Sopenharmony_ci %113 = OpLabel 1552e5c31af7Sopenharmony_ci %115 = OpLoad %18 %74 1553e5c31af7Sopenharmony_ci %116 = OpIAdd %18 %115 %60 1554e5c31af7Sopenharmony_ci OpStore %74 %116 1555e5c31af7Sopenharmony_ci OpBranch %114 1556e5c31af7Sopenharmony_ci %114 = OpLabel 1557e5c31af7Sopenharmony_ci %117 = OpAccessChain %41 %62 %28 1558e5c31af7Sopenharmony_ci %118 = OpLoad %18 %117 1559e5c31af7Sopenharmony_ci %120 = OpSLessThan %50 %118 %119 1560e5c31af7Sopenharmony_ci OpSelectionMerge %122 None 1561e5c31af7Sopenharmony_ci OpBranchConditional %120 %121 %122 1562e5c31af7Sopenharmony_ci %121 = OpLabel 1563e5c31af7Sopenharmony_ci %123 = OpAccessChain %41 %62 %28 1564e5c31af7Sopenharmony_ci %124 = OpLoad %18 %123 1565e5c31af7Sopenharmony_ci %125 = OpIAdd %18 %124 %82 1566e5c31af7Sopenharmony_ci %126 = OpAccessChain %41 %62 %35 1567e5c31af7Sopenharmony_ci %127 = OpLoad %18 %126 1568e5c31af7Sopenharmony_ci %128 = OpIMul %18 %127 %86 1569e5c31af7Sopenharmony_ci %129 = OpIAdd %18 %125 %128 1570e5c31af7Sopenharmony_ci %130 = OpAccessChain %57 %55 %129 1571e5c31af7Sopenharmony_ci %131 = OpLoad %18 %130 1572e5c31af7Sopenharmony_ci %132 = OpIEqual %50 %131 %19 1573e5c31af7Sopenharmony_ci OpBranch %122 1574e5c31af7Sopenharmony_ci %122 = OpLabel 1575e5c31af7Sopenharmony_ci %133 = OpPhi %50 %120 %114 %132 %121 1576e5c31af7Sopenharmony_ci OpSelectionMerge %135 None 1577e5c31af7Sopenharmony_ci OpBranchConditional %133 %134 %135 1578e5c31af7Sopenharmony_ci %134 = OpLabel 1579e5c31af7Sopenharmony_ci %136 = OpLoad %18 %74 1580e5c31af7Sopenharmony_ci %137 = OpIAdd %18 %136 %60 1581e5c31af7Sopenharmony_ci OpStore %74 %137 1582e5c31af7Sopenharmony_ci OpBranch %135 1583e5c31af7Sopenharmony_ci %135 = OpLabel 1584e5c31af7Sopenharmony_ci %138 = OpAccessChain %41 %62 %35 1585e5c31af7Sopenharmony_ci %139 = OpLoad %18 %138 1586e5c31af7Sopenharmony_ci %140 = OpSLessThan %50 %139 %119 1587e5c31af7Sopenharmony_ci OpSelectionMerge %142 None 1588e5c31af7Sopenharmony_ci OpBranchConditional %140 %141 %142 1589e5c31af7Sopenharmony_ci %141 = OpLabel 1590e5c31af7Sopenharmony_ci %143 = OpAccessChain %41 %62 %28 1591e5c31af7Sopenharmony_ci %144 = OpLoad %18 %143 1592e5c31af7Sopenharmony_ci %145 = OpAccessChain %41 %62 %35 1593e5c31af7Sopenharmony_ci %146 = OpLoad %18 %145 1594e5c31af7Sopenharmony_ci %147 = OpIAdd %18 %146 %82 1595e5c31af7Sopenharmony_ci %148 = OpIMul %18 %147 %86 1596e5c31af7Sopenharmony_ci %149 = OpIAdd %18 %144 %148 1597e5c31af7Sopenharmony_ci %150 = OpAccessChain %57 %55 %149 1598e5c31af7Sopenharmony_ci %151 = OpLoad %18 %150 1599e5c31af7Sopenharmony_ci %152 = OpIEqual %50 %151 %19 1600e5c31af7Sopenharmony_ci OpBranch %142 1601e5c31af7Sopenharmony_ci %142 = OpLabel 1602e5c31af7Sopenharmony_ci %153 = OpPhi %50 %140 %135 %152 %141 1603e5c31af7Sopenharmony_ci OpSelectionMerge %155 None 1604e5c31af7Sopenharmony_ci OpBranchConditional %153 %154 %155 1605e5c31af7Sopenharmony_ci %154 = OpLabel 1606e5c31af7Sopenharmony_ci %156 = OpLoad %18 %74 1607e5c31af7Sopenharmony_ci %157 = OpIAdd %18 %156 %60 1608e5c31af7Sopenharmony_ci OpStore %74 %157 1609e5c31af7Sopenharmony_ci OpBranch %155 1610e5c31af7Sopenharmony_ci %155 = OpLabel 1611e5c31af7Sopenharmony_ci %158 = OpLoad %18 %74 1612e5c31af7Sopenharmony_ci %159 = OpIEqual %50 %158 %19 1613e5c31af7Sopenharmony_ci OpSelectionMerge %161 None 1614e5c31af7Sopenharmony_ci OpBranchConditional %159 %160 %207 1615e5c31af7Sopenharmony_ci %160 = OpLabel 1616e5c31af7Sopenharmony_ci OpStore %65 %162 1617e5c31af7Sopenharmony_ci OpStore %42 %19 1618e5c31af7Sopenharmony_ci OpBranch %163 1619e5c31af7Sopenharmony_ci %163 = OpLabel 1620e5c31af7Sopenharmony_ci OpLoopMerge %165 %166 None 1621e5c31af7Sopenharmony_ci OpBranch %167 1622e5c31af7Sopenharmony_ci %167 = OpLabel 1623e5c31af7Sopenharmony_ci %168 = OpLoad %18 %42 1624e5c31af7Sopenharmony_ci %170 = OpSLessThan %50 %168 %169 1625e5c31af7Sopenharmony_ci OpBranchConditional %170 %164 %165 1626e5c31af7Sopenharmony_ci %164 = OpLabel 1627e5c31af7Sopenharmony_ci OpStore %171 %19 1628e5c31af7Sopenharmony_ci OpBranch %172 1629e5c31af7Sopenharmony_ci %172 = OpLabel 1630e5c31af7Sopenharmony_ci OpLoopMerge %174 %175 None 1631e5c31af7Sopenharmony_ci OpBranch %176 1632e5c31af7Sopenharmony_ci %176 = OpLabel 1633e5c31af7Sopenharmony_ci %177 = OpLoad %18 %171 1634e5c31af7Sopenharmony_ci %178 = OpSLessThan %50 %177 %169 1635e5c31af7Sopenharmony_ci OpBranchConditional %178 %173 %174 1636e5c31af7Sopenharmony_ci %173 = OpLabel 1637e5c31af7Sopenharmony_ci %179 = OpLoad %18 %171 1638e5c31af7Sopenharmony_ci %180 = OpIMul %18 %179 %82 1639e5c31af7Sopenharmony_ci %181 = OpLoad %18 %42 1640e5c31af7Sopenharmony_ci %182 = OpIMul %18 %181 %82 1641e5c31af7Sopenharmony_ci %183 = OpIMul %18 %182 %86 1642e5c31af7Sopenharmony_ci %184 = OpIAdd %18 %180 %183 1643e5c31af7Sopenharmony_ci %185 = OpAccessChain %57 %55 %184 1644e5c31af7Sopenharmony_ci %186 = OpLoad %18 %185 1645e5c31af7Sopenharmony_ci %187 = OpIEqual %50 %186 %19 1646e5c31af7Sopenharmony_ci OpSelectionMerge %189 None 1647e5c31af7Sopenharmony_ci OpBranchConditional %187 %188 %189 1648e5c31af7Sopenharmony_ci %188 = OpLabel 1649e5c31af7Sopenharmony_ci %190 = OpLoad %18 %171 1650e5c31af7Sopenharmony_ci %191 = OpIMul %18 %190 %82 1651e5c31af7Sopenharmony_ci %192 = OpAccessChain %41 %62 %28 1652e5c31af7Sopenharmony_ci OpStore %192 %191 1653e5c31af7Sopenharmony_ci %193 = OpLoad %18 %42 1654e5c31af7Sopenharmony_ci %194 = OpIMul %18 %193 %82 1655e5c31af7Sopenharmony_ci %195 = OpAccessChain %41 %62 %35 1656e5c31af7Sopenharmony_ci OpStore %195 %194 1657e5c31af7Sopenharmony_ci OpStore %65 %66 1658e5c31af7Sopenharmony_ci OpBranch %189 1659e5c31af7Sopenharmony_ci %189 = OpLabel 1660e5c31af7Sopenharmony_ci OpBranch %175 1661e5c31af7Sopenharmony_ci %175 = OpLabel 1662e5c31af7Sopenharmony_ci %196 = OpLoad %18 %171 1663e5c31af7Sopenharmony_ci %197 = OpIAdd %18 %196 %60 1664e5c31af7Sopenharmony_ci OpStore %171 %197 1665e5c31af7Sopenharmony_ci OpBranch %172 1666e5c31af7Sopenharmony_ci %174 = OpLabel 1667e5c31af7Sopenharmony_ci OpBranch %166 1668e5c31af7Sopenharmony_ci %166 = OpLabel 1669e5c31af7Sopenharmony_ci %198 = OpLoad %18 %42 1670e5c31af7Sopenharmony_ci %199 = OpIAdd %18 %198 %60 1671e5c31af7Sopenharmony_ci OpStore %42 %199 1672e5c31af7Sopenharmony_ci OpBranch %163 1673e5c31af7Sopenharmony_ci %165 = OpLabel 1674e5c31af7Sopenharmony_ci %200 = OpAccessChain %41 %62 %28 1675e5c31af7Sopenharmony_ci %201 = OpLoad %18 %200 1676e5c31af7Sopenharmony_ci %202 = OpAccessChain %41 %62 %35 1677e5c31af7Sopenharmony_ci %203 = OpLoad %18 %202 1678e5c31af7Sopenharmony_ci %204 = OpIMul %18 %203 %86 1679e5c31af7Sopenharmony_ci %205 = OpIAdd %18 %201 %204 1680e5c31af7Sopenharmony_ci %206 = OpAccessChain %57 %55 %205 1681e5c31af7Sopenharmony_ci OpStore %206 %60 1682e5c31af7Sopenharmony_ci OpBranch %161 1683e5c31af7Sopenharmony_ci %207 = OpLabel 1684e5c31af7Sopenharmony_ci %209 = OpLoad %18 %67 1685e5c31af7Sopenharmony_ci %210 = OpLoad %18 %74 1686e5c31af7Sopenharmony_ci %211 = OpSMod %18 %209 %210 1687e5c31af7Sopenharmony_ci OpStore %208 %211 1688e5c31af7Sopenharmony_ci %212 = OpLoad %18 %74 1689e5c31af7Sopenharmony_ci %213 = OpLoad %18 %67 1690e5c31af7Sopenharmony_ci %214 = OpIAdd %18 %213 %212 1691e5c31af7Sopenharmony_ci OpStore %67 %214 1692e5c31af7Sopenharmony_ci %215 = OpLoad %18 %208 1693e5c31af7Sopenharmony_ci %216 = OpSGreaterThanEqual %50 %215 %19 1694e5c31af7Sopenharmony_ci OpSelectionMerge %218 None 1695e5c31af7Sopenharmony_ci OpBranchConditional %216 %217 %218 1696e5c31af7Sopenharmony_ci %217 = OpLabel 1697e5c31af7Sopenharmony_ci %219 = OpAccessChain %41 %62 %28 1698e5c31af7Sopenharmony_ci %220 = OpLoad %18 %219 1699e5c31af7Sopenharmony_ci %221 = OpSGreaterThan %50 %220 %19 1700e5c31af7Sopenharmony_ci OpBranch %218 1701e5c31af7Sopenharmony_ci %218 = OpLabel 1702e5c31af7Sopenharmony_ci %222 = OpPhi %50 %216 %207 %221 %217 1703e5c31af7Sopenharmony_ci OpSelectionMerge %224 None 1704e5c31af7Sopenharmony_ci OpBranchConditional %222 %223 %224 1705e5c31af7Sopenharmony_ci %223 = OpLabel 1706e5c31af7Sopenharmony_ci %225 = OpAccessChain %41 %62 %28 1707e5c31af7Sopenharmony_ci %226 = OpLoad %18 %225 1708e5c31af7Sopenharmony_ci %227 = OpISub %18 %226 %82 1709e5c31af7Sopenharmony_ci %228 = OpAccessChain %41 %62 %35 1710e5c31af7Sopenharmony_ci %229 = OpLoad %18 %228 1711e5c31af7Sopenharmony_ci %230 = OpIMul %18 %229 %86 1712e5c31af7Sopenharmony_ci %231 = OpIAdd %18 %227 %230 1713e5c31af7Sopenharmony_ci %232 = OpAccessChain %57 %55 %231 1714e5c31af7Sopenharmony_ci %233 = OpLoad %18 %232 1715e5c31af7Sopenharmony_ci %234 = OpIEqual %50 %233 %19 1716e5c31af7Sopenharmony_ci OpBranch %224 1717e5c31af7Sopenharmony_ci %224 = OpLabel 1718e5c31af7Sopenharmony_ci %235 = OpPhi %50 %222 %218 %234 %223 1719e5c31af7Sopenharmony_ci OpSelectionMerge %237 None 1720e5c31af7Sopenharmony_ci OpBranchConditional %235 %236 %237 1721e5c31af7Sopenharmony_ci %236 = OpLabel 1722e5c31af7Sopenharmony_ci %238 = OpLoad %18 %208 1723e5c31af7Sopenharmony_ci %239 = OpISub %18 %238 %60 1724e5c31af7Sopenharmony_ci OpStore %208 %239 1725e5c31af7Sopenharmony_ci %240 = OpAccessChain %41 %62 %28 1726e5c31af7Sopenharmony_ci %241 = OpLoad %18 %240 1727e5c31af7Sopenharmony_ci %242 = OpAccessChain %41 %62 %35 1728e5c31af7Sopenharmony_ci %243 = OpLoad %18 %242 1729e5c31af7Sopenharmony_ci %244 = OpIMul %18 %243 %86 1730e5c31af7Sopenharmony_ci %245 = OpIAdd %18 %241 %244 1731e5c31af7Sopenharmony_ci %246 = OpAccessChain %57 %55 %245 1732e5c31af7Sopenharmony_ci OpStore %246 %60 1733e5c31af7Sopenharmony_ci %247 = OpAccessChain %41 %62 %28 1734e5c31af7Sopenharmony_ci %248 = OpLoad %18 %247 1735e5c31af7Sopenharmony_ci %249 = OpISub %18 %248 %60 1736e5c31af7Sopenharmony_ci %250 = OpAccessChain %41 %62 %35 1737e5c31af7Sopenharmony_ci %251 = OpLoad %18 %250 1738e5c31af7Sopenharmony_ci %252 = OpIMul %18 %251 %86 1739e5c31af7Sopenharmony_ci %253 = OpIAdd %18 %249 %252 1740e5c31af7Sopenharmony_ci %254 = OpAccessChain %57 %55 %253 1741e5c31af7Sopenharmony_ci OpStore %254 %60 1742e5c31af7Sopenharmony_ci %255 = OpAccessChain %41 %62 %28 1743e5c31af7Sopenharmony_ci %256 = OpLoad %18 %255 1744e5c31af7Sopenharmony_ci %257 = OpISub %18 %256 %82 1745e5c31af7Sopenharmony_ci %258 = OpAccessChain %41 %62 %35 1746e5c31af7Sopenharmony_ci %259 = OpLoad %18 %258 1747e5c31af7Sopenharmony_ci %260 = OpIMul %18 %259 %86 1748e5c31af7Sopenharmony_ci %261 = OpIAdd %18 %257 %260 1749e5c31af7Sopenharmony_ci %262 = OpAccessChain %57 %55 %261 1750e5c31af7Sopenharmony_ci OpStore %262 %60 1751e5c31af7Sopenharmony_ci %263 = OpAccessChain %41 %62 %28 1752e5c31af7Sopenharmony_ci %264 = OpLoad %18 %263 1753e5c31af7Sopenharmony_ci %265 = OpISub %18 %264 %82 1754e5c31af7Sopenharmony_ci %266 = OpAccessChain %41 %62 %28 1755e5c31af7Sopenharmony_ci OpStore %266 %265 1756e5c31af7Sopenharmony_ci OpBranch %237 1757e5c31af7Sopenharmony_ci %237 = OpLabel 1758e5c31af7Sopenharmony_ci %267 = OpLoad %18 %208 1759e5c31af7Sopenharmony_ci %268 = OpSGreaterThanEqual %50 %267 %19 1760e5c31af7Sopenharmony_ci OpSelectionMerge %270 None 1761e5c31af7Sopenharmony_ci OpBranchConditional %268 %269 %270 1762e5c31af7Sopenharmony_ci %269 = OpLabel 1763e5c31af7Sopenharmony_ci %271 = OpAccessChain %41 %62 %35 1764e5c31af7Sopenharmony_ci %272 = OpLoad %18 %271 1765e5c31af7Sopenharmony_ci %273 = OpSGreaterThan %50 %272 %19 1766e5c31af7Sopenharmony_ci OpBranch %270 1767e5c31af7Sopenharmony_ci %270 = OpLabel 1768e5c31af7Sopenharmony_ci %274 = OpPhi %50 %268 %237 %273 %269 1769e5c31af7Sopenharmony_ci OpSelectionMerge %276 None 1770e5c31af7Sopenharmony_ci OpBranchConditional %274 %275 %276 1771e5c31af7Sopenharmony_ci %275 = OpLabel 1772e5c31af7Sopenharmony_ci %277 = OpAccessChain %41 %62 %28 1773e5c31af7Sopenharmony_ci %278 = OpLoad %18 %277 1774e5c31af7Sopenharmony_ci %279 = OpAccessChain %41 %62 %35 1775e5c31af7Sopenharmony_ci %280 = OpLoad %18 %279 1776e5c31af7Sopenharmony_ci %281 = OpISub %18 %280 %82 1777e5c31af7Sopenharmony_ci %282 = OpIMul %18 %281 %86 1778e5c31af7Sopenharmony_ci %773 = OpLoad %53 %55 1779e5c31af7Sopenharmony_ci OpStore %55 %566 1780e5c31af7Sopenharmony_ci OpStore %55 %773 1781e5c31af7Sopenharmony_ci %283 = OpIAdd %18 %278 %282 1782e5c31af7Sopenharmony_ci %284 = OpAccessChain %57 %55 %283 1783e5c31af7Sopenharmony_ci %285 = OpLoad %18 %284 1784e5c31af7Sopenharmony_ci %286 = OpIEqual %50 %285 %19 1785e5c31af7Sopenharmony_ci OpBranch %276 1786e5c31af7Sopenharmony_ci %276 = OpLabel 1787e5c31af7Sopenharmony_ci %287 = OpPhi %50 %274 %270 %286 %275 1788e5c31af7Sopenharmony_ci OpSelectionMerge %289 None 1789e5c31af7Sopenharmony_ci OpBranchConditional %287 %288 %289 1790e5c31af7Sopenharmony_ci %288 = OpLabel 1791e5c31af7Sopenharmony_ci %290 = OpLoad %18 %208 1792e5c31af7Sopenharmony_ci %291 = OpISub %18 %290 %60 1793e5c31af7Sopenharmony_ci OpStore %208 %291 1794e5c31af7Sopenharmony_ci %292 = OpAccessChain %41 %62 %28 1795e5c31af7Sopenharmony_ci %293 = OpLoad %18 %292 1796e5c31af7Sopenharmony_ci %294 = OpAccessChain %41 %62 %35 1797e5c31af7Sopenharmony_ci %295 = OpLoad %18 %294 1798e5c31af7Sopenharmony_ci %296 = OpIMul %18 %295 %86 1799e5c31af7Sopenharmony_ci %297 = OpIAdd %18 %293 %296 1800e5c31af7Sopenharmony_ci %298 = OpAccessChain %57 %55 %297 1801e5c31af7Sopenharmony_ci OpStore %298 %60 1802e5c31af7Sopenharmony_ci %299 = OpAccessChain %41 %62 %28 1803e5c31af7Sopenharmony_ci %300 = OpLoad %18 %299 1804e5c31af7Sopenharmony_ci %301 = OpAccessChain %41 %62 %35 1805e5c31af7Sopenharmony_ci %302 = OpLoad %18 %301 1806e5c31af7Sopenharmony_ci %303 = OpISub %18 %302 %60 1807e5c31af7Sopenharmony_ci %304 = OpIMul %18 %303 %86 1808e5c31af7Sopenharmony_ci %305 = OpIAdd %18 %300 %304 1809e5c31af7Sopenharmony_ci %306 = OpAccessChain %57 %55 %305 1810e5c31af7Sopenharmony_ci OpStore %306 %60 1811e5c31af7Sopenharmony_ci %307 = OpAccessChain %41 %62 %28 1812e5c31af7Sopenharmony_ci %308 = OpLoad %18 %307 1813e5c31af7Sopenharmony_ci %309 = OpAccessChain %41 %62 %35 1814e5c31af7Sopenharmony_ci %310 = OpLoad %18 %309 1815e5c31af7Sopenharmony_ci %311 = OpISub %18 %310 %82 1816e5c31af7Sopenharmony_ci %800 = OpLoad %53 %55 1817e5c31af7Sopenharmony_ci OpStore %55 %566 1818e5c31af7Sopenharmony_ci OpStore %55 %800 1819e5c31af7Sopenharmony_ci %312 = OpIMul %18 %311 %86 1820e5c31af7Sopenharmony_ci %313 = OpIAdd %18 %308 %312 1821e5c31af7Sopenharmony_ci %314 = OpAccessChain %57 %55 %313 1822e5c31af7Sopenharmony_ci OpStore %314 %60 1823e5c31af7Sopenharmony_ci %315 = OpAccessChain %41 %62 %35 1824e5c31af7Sopenharmony_ci %316 = OpLoad %18 %315 1825e5c31af7Sopenharmony_ci %317 = OpISub %18 %316 %82 1826e5c31af7Sopenharmony_ci %318 = OpAccessChain %41 %62 %35 1827e5c31af7Sopenharmony_ci OpStore %318 %317 1828e5c31af7Sopenharmony_ci OpBranch %289 1829e5c31af7Sopenharmony_ci %289 = OpLabel 1830e5c31af7Sopenharmony_ci %319 = OpLoad %18 %208 1831e5c31af7Sopenharmony_ci %320 = OpSGreaterThanEqual %50 %319 %19 1832e5c31af7Sopenharmony_ci OpSelectionMerge %322 None 1833e5c31af7Sopenharmony_ci OpBranchConditional %320 %321 %322 1834e5c31af7Sopenharmony_ci %321 = OpLabel 1835e5c31af7Sopenharmony_ci %323 = OpAccessChain %41 %62 %28 1836e5c31af7Sopenharmony_ci %324 = OpLoad %18 %323 1837e5c31af7Sopenharmony_ci %325 = OpSLessThan %50 %324 %119 1838e5c31af7Sopenharmony_ci OpBranch %322 1839e5c31af7Sopenharmony_ci %322 = OpLabel 1840e5c31af7Sopenharmony_ci %326 = OpPhi %50 %320 %289 %325 %321 1841e5c31af7Sopenharmony_ci OpSelectionMerge %328 None 1842e5c31af7Sopenharmony_ci OpBranchConditional %326 %327 %328 1843e5c31af7Sopenharmony_ci %327 = OpLabel 1844e5c31af7Sopenharmony_ci %329 = OpAccessChain %41 %62 %28 1845e5c31af7Sopenharmony_ci %330 = OpLoad %18 %329 1846e5c31af7Sopenharmony_ci %331 = OpIAdd %18 %330 %82 1847e5c31af7Sopenharmony_ci %332 = OpAccessChain %41 %62 %35 1848e5c31af7Sopenharmony_ci %333 = OpLoad %18 %332 1849e5c31af7Sopenharmony_ci %334 = OpIMul %18 %333 %86 1850e5c31af7Sopenharmony_ci %335 = OpIAdd %18 %331 %334 1851e5c31af7Sopenharmony_ci %336 = OpAccessChain %57 %55 %335 1852e5c31af7Sopenharmony_ci %337 = OpLoad %18 %336 1853e5c31af7Sopenharmony_ci %338 = OpIEqual %50 %337 %19 1854e5c31af7Sopenharmony_ci OpBranch %328 1855e5c31af7Sopenharmony_ci %328 = OpLabel 1856e5c31af7Sopenharmony_ci %339 = OpPhi %50 %326 %322 %338 %327 1857e5c31af7Sopenharmony_ci OpSelectionMerge %341 None 1858e5c31af7Sopenharmony_ci OpBranchConditional %339 %340 %341 1859e5c31af7Sopenharmony_ci %340 = OpLabel 1860e5c31af7Sopenharmony_ci %342 = OpLoad %18 %208 1861e5c31af7Sopenharmony_ci %343 = OpISub %18 %342 %60 1862e5c31af7Sopenharmony_ci OpStore %208 %343 1863e5c31af7Sopenharmony_ci %344 = OpAccessChain %41 %62 %28 1864e5c31af7Sopenharmony_ci %345 = OpLoad %18 %344 1865e5c31af7Sopenharmony_ci %346 = OpAccessChain %41 %62 %35 1866e5c31af7Sopenharmony_ci %347 = OpLoad %18 %346 1867e5c31af7Sopenharmony_ci %348 = OpIMul %18 %347 %86 1868e5c31af7Sopenharmony_ci %349 = OpIAdd %18 %345 %348 1869e5c31af7Sopenharmony_ci %350 = OpAccessChain %57 %55 %349 1870e5c31af7Sopenharmony_ci OpStore %350 %60 1871e5c31af7Sopenharmony_ci %351 = OpAccessChain %41 %62 %28 1872e5c31af7Sopenharmony_ci %352 = OpLoad %18 %351 1873e5c31af7Sopenharmony_ci %353 = OpIAdd %18 %352 %60 1874e5c31af7Sopenharmony_ci %354 = OpAccessChain %41 %62 %35 1875e5c31af7Sopenharmony_ci %355 = OpLoad %18 %354 1876e5c31af7Sopenharmony_ci %356 = OpIMul %18 %355 %86 1877e5c31af7Sopenharmony_ci %357 = OpIAdd %18 %353 %356 1878e5c31af7Sopenharmony_ci %358 = OpAccessChain %57 %55 %357 1879e5c31af7Sopenharmony_ci OpStore %358 %60 1880e5c31af7Sopenharmony_ci %359 = OpAccessChain %41 %62 %28 1881e5c31af7Sopenharmony_ci %360 = OpLoad %18 %359 1882e5c31af7Sopenharmony_ci %361 = OpIAdd %18 %360 %82 1883e5c31af7Sopenharmony_ci %362 = OpAccessChain %41 %62 %35 1884e5c31af7Sopenharmony_ci %363 = OpLoad %18 %362 1885e5c31af7Sopenharmony_ci %364 = OpIMul %18 %363 %86 1886e5c31af7Sopenharmony_ci %365 = OpIAdd %18 %361 %364 1887e5c31af7Sopenharmony_ci %366 = OpAccessChain %57 %55 %365 1888e5c31af7Sopenharmony_ci OpStore %366 %60 1889e5c31af7Sopenharmony_ci %367 = OpAccessChain %41 %62 %28 1890e5c31af7Sopenharmony_ci %368 = OpLoad %18 %367 1891e5c31af7Sopenharmony_ci %369 = OpIAdd %18 %368 %82 1892e5c31af7Sopenharmony_ci %370 = OpAccessChain %41 %62 %28 1893e5c31af7Sopenharmony_ci OpStore %370 %369 1894e5c31af7Sopenharmony_ci OpBranch %341 1895e5c31af7Sopenharmony_ci %341 = OpLabel 1896e5c31af7Sopenharmony_ci %371 = OpLoad %18 %208 1897e5c31af7Sopenharmony_ci %372 = OpSGreaterThanEqual %50 %371 %19 1898e5c31af7Sopenharmony_ci OpSelectionMerge %374 None 1899e5c31af7Sopenharmony_ci OpBranchConditional %372 %373 %374 1900e5c31af7Sopenharmony_ci %373 = OpLabel 1901e5c31af7Sopenharmony_ci %375 = OpAccessChain %41 %62 %35 1902e5c31af7Sopenharmony_ci %376 = OpLoad %18 %375 1903e5c31af7Sopenharmony_ci %377 = OpSLessThan %50 %376 %119 1904e5c31af7Sopenharmony_ci OpBranch %374 1905e5c31af7Sopenharmony_ci %374 = OpLabel 1906e5c31af7Sopenharmony_ci %378 = OpPhi %50 %372 %341 %377 %373 1907e5c31af7Sopenharmony_ci OpSelectionMerge %380 None 1908e5c31af7Sopenharmony_ci OpBranchConditional %378 %379 %380 1909e5c31af7Sopenharmony_ci %379 = OpLabel 1910e5c31af7Sopenharmony_ci %381 = OpAccessChain %41 %62 %28 1911e5c31af7Sopenharmony_ci %382 = OpLoad %18 %381 1912e5c31af7Sopenharmony_ci %383 = OpAccessChain %41 %62 %35 1913e5c31af7Sopenharmony_ci %384 = OpLoad %18 %383 1914e5c31af7Sopenharmony_ci %385 = OpIAdd %18 %384 %82 1915e5c31af7Sopenharmony_ci %386 = OpIMul %18 %385 %86 1916e5c31af7Sopenharmony_ci %387 = OpIAdd %18 %382 %386 1917e5c31af7Sopenharmony_ci %388 = OpAccessChain %57 %55 %387 1918e5c31af7Sopenharmony_ci %389 = OpLoad %18 %388 1919e5c31af7Sopenharmony_ci %390 = OpIEqual %50 %389 %19 1920e5c31af7Sopenharmony_ci OpBranch %380 1921e5c31af7Sopenharmony_ci %380 = OpLabel 1922e5c31af7Sopenharmony_ci %391 = OpPhi %50 %378 %374 %390 %379 1923e5c31af7Sopenharmony_ci OpSelectionMerge %393 None 1924e5c31af7Sopenharmony_ci OpBranchConditional %391 %392 %393 1925e5c31af7Sopenharmony_ci %392 = OpLabel 1926e5c31af7Sopenharmony_ci %394 = OpLoad %18 %208 1927e5c31af7Sopenharmony_ci %395 = OpISub %18 %394 %60 1928e5c31af7Sopenharmony_ci OpStore %208 %395 1929e5c31af7Sopenharmony_ci %396 = OpAccessChain %41 %62 %28 1930e5c31af7Sopenharmony_ci %397 = OpLoad %18 %396 1931e5c31af7Sopenharmony_ci %398 = OpAccessChain %41 %62 %35 1932e5c31af7Sopenharmony_ci %399 = OpLoad %18 %398 1933e5c31af7Sopenharmony_ci %400 = OpIMul %18 %399 %86 1934e5c31af7Sopenharmony_ci %401 = OpIAdd %18 %397 %400 1935e5c31af7Sopenharmony_ci %402 = OpAccessChain %57 %55 %401 1936e5c31af7Sopenharmony_ci OpStore %402 %60 1937e5c31af7Sopenharmony_ci %403 = OpAccessChain %41 %62 %28 1938e5c31af7Sopenharmony_ci %404 = OpLoad %18 %403 1939e5c31af7Sopenharmony_ci %405 = OpAccessChain %41 %62 %35 1940e5c31af7Sopenharmony_ci %406 = OpLoad %18 %405 1941e5c31af7Sopenharmony_ci %407 = OpIAdd %18 %406 %60 1942e5c31af7Sopenharmony_ci %408 = OpIMul %18 %407 %86 1943e5c31af7Sopenharmony_ci %409 = OpIAdd %18 %404 %408 1944e5c31af7Sopenharmony_ci %410 = OpAccessChain %57 %55 %409 1945e5c31af7Sopenharmony_ci OpStore %410 %60 1946e5c31af7Sopenharmony_ci %411 = OpAccessChain %41 %62 %28 1947e5c31af7Sopenharmony_ci %412 = OpLoad %18 %411 1948e5c31af7Sopenharmony_ci %413 = OpAccessChain %41 %62 %35 1949e5c31af7Sopenharmony_ci %414 = OpLoad %18 %413 1950e5c31af7Sopenharmony_ci %415 = OpIAdd %18 %414 %82 1951e5c31af7Sopenharmony_ci %416 = OpIMul %18 %415 %86 1952e5c31af7Sopenharmony_ci %417 = OpIAdd %18 %412 %416 1953e5c31af7Sopenharmony_ci %418 = OpAccessChain %57 %55 %417 1954e5c31af7Sopenharmony_ci OpStore %418 %60 1955e5c31af7Sopenharmony_ci %419 = OpAccessChain %41 %62 %35 1956e5c31af7Sopenharmony_ci %420 = OpLoad %18 %419 1957e5c31af7Sopenharmony_ci %421 = OpIAdd %18 %420 %82 1958e5c31af7Sopenharmony_ci %422 = OpAccessChain %41 %62 %35 1959e5c31af7Sopenharmony_ci OpStore %422 %421 1960e5c31af7Sopenharmony_ci OpBranch %393 1961e5c31af7Sopenharmony_ci %393 = OpLabel 1962e5c31af7Sopenharmony_ci OpBranch %161 1963e5c31af7Sopenharmony_ci %161 = OpLabel 1964e5c31af7Sopenharmony_ci %423 = OpAccessChain %41 %26 %35 1965e5c31af7Sopenharmony_ci %424 = OpLoad %18 %423 1966e5c31af7Sopenharmony_ci %425 = OpIMul %18 %424 %86 1967e5c31af7Sopenharmony_ci %426 = OpAccessChain %41 %26 %28 1968e5c31af7Sopenharmony_ci %427 = OpLoad %18 %426 1969e5c31af7Sopenharmony_ci %428 = OpIAdd %18 %425 %427 1970e5c31af7Sopenharmony_ci %429 = OpAccessChain %57 %55 %428 1971e5c31af7Sopenharmony_ci %430 = OpLoad %18 %429 1972e5c31af7Sopenharmony_ci %431 = OpIEqual %50 %430 %60 1973e5c31af7Sopenharmony_ci OpSelectionMerge %433 None 1974e5c31af7Sopenharmony_ci OpBranchConditional %431 %432 %433 1975e5c31af7Sopenharmony_ci %432 = OpLabel 1976e5c31af7Sopenharmony_ci OpStore %435 %437 1977e5c31af7Sopenharmony_ci OpReturn 1978e5c31af7Sopenharmony_ci %433 = OpLabel 1979e5c31af7Sopenharmony_ci OpBranch %71 1980e5c31af7Sopenharmony_ci %71 = OpLabel 1981e5c31af7Sopenharmony_ci %439 = OpLoad %50 %65 1982e5c31af7Sopenharmony_ci OpBranchConditional %439 %68 %70 1983e5c31af7Sopenharmony_ci %70 = OpLabel 1984e5c31af7Sopenharmony_ci OpStore %435 %441 1985e5c31af7Sopenharmony_ci OpReturn 1986e5c31af7Sopenharmony_ci OpFunctionEnd 1987e5c31af7Sopenharmony_ciEND 1988e5c31af7Sopenharmony_ci 1989e5c31af7Sopenharmony_ci# uniforms for variant_2 1990e5c31af7Sopenharmony_ci 1991e5c31af7Sopenharmony_ci# resolution 1992e5c31af7Sopenharmony_ciBUFFER variant_2_resolution DATA_TYPE vec2<float> STD140 DATA 1993e5c31af7Sopenharmony_ci 32.0 32.0 1994e5c31af7Sopenharmony_ciEND 1995e5c31af7Sopenharmony_ci 1996e5c31af7Sopenharmony_ciBUFFER variant_2_framebuffer FORMAT B8G8R8A8_UNORM 1997e5c31af7Sopenharmony_ci 1998e5c31af7Sopenharmony_ciPIPELINE graphics variant_2_pipeline 1999e5c31af7Sopenharmony_ci ATTACH variant_2_vertex_shader 2000e5c31af7Sopenharmony_ci ATTACH variant_2_fragment_shader 2001e5c31af7Sopenharmony_ci FRAMEBUFFER_SIZE 32 32 2002e5c31af7Sopenharmony_ci BIND BUFFER variant_2_framebuffer AS color LOCATION 0 2003e5c31af7Sopenharmony_ci BIND BUFFER variant_2_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0 2004e5c31af7Sopenharmony_ciEND 2005e5c31af7Sopenharmony_ciCLEAR_COLOR variant_2_pipeline 0 0 0 255 2006e5c31af7Sopenharmony_ci 2007e5c31af7Sopenharmony_ciCLEAR variant_2_pipeline 2008e5c31af7Sopenharmony_ciRUN variant_2_pipeline DRAW_RECT POS 0 0 SIZE 32 32 2009e5c31af7Sopenharmony_ci 2010e5c31af7Sopenharmony_ciEXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005 2011e5c31af7Sopenharmony_ciEXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_2_framebuffer TOLERANCE 0.005 2012