1e5c31af7Sopenharmony_ci#!amber 2e5c31af7Sopenharmony_ci 3e5c31af7Sopenharmony_ci# Copyright 2021 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 coverage-gap found by the GraphicsFuzz project. 19e5c31af7Sopenharmony_ci 20e5c31af7Sopenharmony_ci# Short description: A fragment shader that covers specific BRW code paths 21e5c31af7Sopenharmony_ci 22e5c31af7Sopenharmony_ci# The test passes because the shader always writes red. 23e5c31af7Sopenharmony_ci 24e5c31af7Sopenharmony_ci# Optimized using spirv-opt with the following arguments: 25e5c31af7Sopenharmony_ci# '-O' 26e5c31af7Sopenharmony_ci# spirv-opt commit hash: a0370efd589be33d5d9a85cfde2f85841b3755af 27e5c31af7Sopenharmony_ci 28e5c31af7Sopenharmony_ci 29e5c31af7Sopenharmony_ci 30e5c31af7Sopenharmony_ciSHADER vertex variant_vertex_shader PASSTHROUGH 31e5c31af7Sopenharmony_ci 32e5c31af7Sopenharmony_ci# variant_fragment_shader is derived from the following GLSL: 33e5c31af7Sopenharmony_ci# #version 320 es 34e5c31af7Sopenharmony_ci# 35e5c31af7Sopenharmony_ci# precision highp float; 36e5c31af7Sopenharmony_ci# precision highp int; 37e5c31af7Sopenharmony_ci# 38e5c31af7Sopenharmony_ci# layout(location = 0) out vec4 _GLF_color; 39e5c31af7Sopenharmony_ci# 40e5c31af7Sopenharmony_ci# const int _GLF_global_loop_bound = 10; 41e5c31af7Sopenharmony_ci# int _GLF_global_loop_count = 0; 42e5c31af7Sopenharmony_ci# 43e5c31af7Sopenharmony_ci# #define LOOP for (int i = 0; i < 5 && _GLF_global_loop_count < _GLF_global_loop_bound; i++, _GLF_global_loop_count++, a++) 44e5c31af7Sopenharmony_ci# 45e5c31af7Sopenharmony_ci# void main() 46e5c31af7Sopenharmony_ci# { 47e5c31af7Sopenharmony_ci# vec2 v = gl_FragCoord.xy; 48e5c31af7Sopenharmony_ci# _GLF_color = vec4(v, 0, 1); 49e5c31af7Sopenharmony_ci# int a = 0; 50e5c31af7Sopenharmony_ci# 51e5c31af7Sopenharmony_ci# LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { 52e5c31af7Sopenharmony_ci# LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { 53e5c31af7Sopenharmony_ci# LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { 54e5c31af7Sopenharmony_ci# // Always false. 55e5c31af7Sopenharmony_ci# if(gl_FragCoord.x < 0.0) 56e5c31af7Sopenharmony_ci# { 57e5c31af7Sopenharmony_ci# return; 58e5c31af7Sopenharmony_ci# } 59e5c31af7Sopenharmony_ci# } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } 60e5c31af7Sopenharmony_ci# 61e5c31af7Sopenharmony_ci# // Always true because the partial derivative of gl_FragCoord is the same 62e5c31af7Sopenharmony_ci# // in x and y directions. The two most inner loops run until _GLF_global_loop_count 63e5c31af7Sopenharmony_ci# // (and a with it) becomes ten. The other loops increase the variable a by one. 64e5c31af7Sopenharmony_ci# if (dFdx(v.x) - dFdy(v.y) == 0.0 && a == 10 + 38) 65e5c31af7Sopenharmony_ci# _GLF_color = vec4(1, 0, 0, 1); 66e5c31af7Sopenharmony_ci# else 67e5c31af7Sopenharmony_ci# _GLF_color = vec4(0); 68e5c31af7Sopenharmony_ci# } 69e5c31af7Sopenharmony_ciSHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 70e5c31af7Sopenharmony_ci; SPIR-V 71e5c31af7Sopenharmony_ci; Version: 1.0 72e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 10 73e5c31af7Sopenharmony_ci; Bound: 2564 74e5c31af7Sopenharmony_ci; Schema: 0 75e5c31af7Sopenharmony_ci OpCapability Shader 76e5c31af7Sopenharmony_ci %1 = OpExtInstImport "GLSL.std.450" 77e5c31af7Sopenharmony_ci OpMemoryModel Logical GLSL450 78e5c31af7Sopenharmony_ci OpEntryPoint Fragment %4 "main" %16 %20 79e5c31af7Sopenharmony_ci OpExecutionMode %4 OriginUpperLeft 80e5c31af7Sopenharmony_ci OpSource ESSL 320 81e5c31af7Sopenharmony_ci OpName %4 "main" 82e5c31af7Sopenharmony_ci OpName %16 "gl_FragCoord" 83e5c31af7Sopenharmony_ci OpName %20 "_GLF_color" 84e5c31af7Sopenharmony_ci OpDecorate %16 BuiltIn FragCoord 85e5c31af7Sopenharmony_ci OpDecorate %20 Location 0 86e5c31af7Sopenharmony_ci %2 = OpTypeVoid 87e5c31af7Sopenharmony_ci %3 = OpTypeFunction %2 88e5c31af7Sopenharmony_ci %6 = OpTypeInt 32 1 89e5c31af7Sopenharmony_ci %9 = OpConstant %6 0 90e5c31af7Sopenharmony_ci %10 = OpTypeFloat 32 91e5c31af7Sopenharmony_ci %14 = OpTypeVector %10 4 92e5c31af7Sopenharmony_ci %15 = OpTypePointer Input %14 93e5c31af7Sopenharmony_ci %16 = OpVariable %15 Input 94e5c31af7Sopenharmony_ci %19 = OpTypePointer Output %14 95e5c31af7Sopenharmony_ci %20 = OpVariable %19 Output 96e5c31af7Sopenharmony_ci %22 = OpConstant %10 0 97e5c31af7Sopenharmony_ci %23 = OpConstant %10 1 98e5c31af7Sopenharmony_ci %36 = OpConstant %6 5 99e5c31af7Sopenharmony_ci %37 = OpTypeBool 100e5c31af7Sopenharmony_ci %40 = OpConstant %6 10 101e5c31af7Sopenharmony_ci %461 = OpTypeInt 32 0 102e5c31af7Sopenharmony_ci %462 = OpConstant %461 0 103e5c31af7Sopenharmony_ci %463 = OpTypePointer Input %10 104e5c31af7Sopenharmony_ci %471 = OpConstant %6 1 105e5c31af7Sopenharmony_ci %716 = OpConstant %6 48 106e5c31af7Sopenharmony_ci %721 = OpConstantComposite %14 %23 %22 %22 %23 107e5c31af7Sopenharmony_ci %723 = OpConstantComposite %14 %22 %22 %22 %22 108e5c31af7Sopenharmony_ci %726 = OpConstantFalse %37 109e5c31af7Sopenharmony_ci %729 = OpConstantTrue %37 110e5c31af7Sopenharmony_ci %4 = OpFunction %2 None %3 111e5c31af7Sopenharmony_ci %5 = OpLabel 112e5c31af7Sopenharmony_ci OpSelectionMerge %724 None 113e5c31af7Sopenharmony_ci OpSwitch %462 %725 114e5c31af7Sopenharmony_ci %725 = OpLabel 115e5c31af7Sopenharmony_ci %17 = OpLoad %14 %16 116e5c31af7Sopenharmony_ci %24 = OpCompositeExtract %10 %17 0 117e5c31af7Sopenharmony_ci %25 = OpCompositeExtract %10 %17 1 118e5c31af7Sopenharmony_ci %26 = OpCompositeConstruct %14 %24 %25 %22 %23 119e5c31af7Sopenharmony_ci OpStore %20 %26 120e5c31af7Sopenharmony_ci OpBranch %30 121e5c31af7Sopenharmony_ci %30 = OpLabel 122e5c31af7Sopenharmony_ci %966 = OpPhi %37 %726 %725 %2483 %33 123e5c31af7Sopenharmony_ci %926 = OpPhi %6 %9 %725 %704 %33 124e5c31af7Sopenharmony_ci %811 = OpPhi %6 %9 %725 %702 %33 125e5c31af7Sopenharmony_ci %810 = OpPhi %6 %9 %725 %700 %33 126e5c31af7Sopenharmony_ci %38 = OpSLessThan %37 %810 %36 127e5c31af7Sopenharmony_ci %41 = OpSLessThan %37 %811 %40 128e5c31af7Sopenharmony_ci %42 = OpLogicalAnd %37 %38 %41 129e5c31af7Sopenharmony_ci OpLoopMerge %32 %33 None 130e5c31af7Sopenharmony_ci OpBranchConditional %42 %31 %32 131e5c31af7Sopenharmony_ci %31 = OpLabel 132e5c31af7Sopenharmony_ci OpBranch %44 133e5c31af7Sopenharmony_ci %44 = OpLabel 134e5c31af7Sopenharmony_ci %965 = OpPhi %37 %966 %31 %2406 %47 135e5c31af7Sopenharmony_ci %925 = OpPhi %6 %926 %31 %698 %47 136e5c31af7Sopenharmony_ci %813 = OpPhi %6 %811 %31 %696 %47 137e5c31af7Sopenharmony_ci %812 = OpPhi %6 %9 %31 %694 %47 138e5c31af7Sopenharmony_ci %50 = OpSLessThan %37 %812 %36 139e5c31af7Sopenharmony_ci %52 = OpSLessThan %37 %813 %40 140e5c31af7Sopenharmony_ci %53 = OpLogicalAnd %37 %50 %52 141e5c31af7Sopenharmony_ci OpLoopMerge %46 %47 None 142e5c31af7Sopenharmony_ci OpBranchConditional %53 %45 %46 143e5c31af7Sopenharmony_ci %45 = OpLabel 144e5c31af7Sopenharmony_ci OpBranch %55 145e5c31af7Sopenharmony_ci %55 = OpLabel 146e5c31af7Sopenharmony_ci %964 = OpPhi %37 %965 %45 %2331 %58 147e5c31af7Sopenharmony_ci %924 = OpPhi %6 %925 %45 %692 %58 148e5c31af7Sopenharmony_ci %815 = OpPhi %6 %813 %45 %690 %58 149e5c31af7Sopenharmony_ci %814 = OpPhi %6 %9 %45 %688 %58 150e5c31af7Sopenharmony_ci %61 = OpSLessThan %37 %814 %36 151e5c31af7Sopenharmony_ci %63 = OpSLessThan %37 %815 %40 152e5c31af7Sopenharmony_ci %64 = OpLogicalAnd %37 %61 %63 153e5c31af7Sopenharmony_ci OpLoopMerge %57 %58 None 154e5c31af7Sopenharmony_ci OpBranchConditional %64 %56 %57 155e5c31af7Sopenharmony_ci %56 = OpLabel 156e5c31af7Sopenharmony_ci OpBranch %66 157e5c31af7Sopenharmony_ci %66 = OpLabel 158e5c31af7Sopenharmony_ci %963 = OpPhi %37 %964 %56 %2258 %69 159e5c31af7Sopenharmony_ci %923 = OpPhi %6 %924 %56 %686 %69 160e5c31af7Sopenharmony_ci %817 = OpPhi %6 %815 %56 %684 %69 161e5c31af7Sopenharmony_ci %816 = OpPhi %6 %9 %56 %682 %69 162e5c31af7Sopenharmony_ci %72 = OpSLessThan %37 %816 %36 163e5c31af7Sopenharmony_ci %74 = OpSLessThan %37 %817 %40 164e5c31af7Sopenharmony_ci %75 = OpLogicalAnd %37 %72 %74 165e5c31af7Sopenharmony_ci OpLoopMerge %68 %69 None 166e5c31af7Sopenharmony_ci OpBranchConditional %75 %67 %68 167e5c31af7Sopenharmony_ci %67 = OpLabel 168e5c31af7Sopenharmony_ci OpBranch %77 169e5c31af7Sopenharmony_ci %77 = OpLabel 170e5c31af7Sopenharmony_ci %962 = OpPhi %37 %963 %67 %2187 %80 171e5c31af7Sopenharmony_ci %922 = OpPhi %6 %923 %67 %680 %80 172e5c31af7Sopenharmony_ci %819 = OpPhi %6 %817 %67 %678 %80 173e5c31af7Sopenharmony_ci %818 = OpPhi %6 %9 %67 %676 %80 174e5c31af7Sopenharmony_ci %83 = OpSLessThan %37 %818 %36 175e5c31af7Sopenharmony_ci %85 = OpSLessThan %37 %819 %40 176e5c31af7Sopenharmony_ci %86 = OpLogicalAnd %37 %83 %85 177e5c31af7Sopenharmony_ci OpLoopMerge %79 %80 None 178e5c31af7Sopenharmony_ci OpBranchConditional %86 %78 %79 179e5c31af7Sopenharmony_ci %78 = OpLabel 180e5c31af7Sopenharmony_ci OpBranch %88 181e5c31af7Sopenharmony_ci %88 = OpLabel 182e5c31af7Sopenharmony_ci %961 = OpPhi %37 %962 %78 %2118 %91 183e5c31af7Sopenharmony_ci %921 = OpPhi %6 %922 %78 %674 %91 184e5c31af7Sopenharmony_ci %821 = OpPhi %6 %819 %78 %672 %91 185e5c31af7Sopenharmony_ci %820 = OpPhi %6 %9 %78 %670 %91 186e5c31af7Sopenharmony_ci %94 = OpSLessThan %37 %820 %36 187e5c31af7Sopenharmony_ci %96 = OpSLessThan %37 %821 %40 188e5c31af7Sopenharmony_ci %97 = OpLogicalAnd %37 %94 %96 189e5c31af7Sopenharmony_ci OpLoopMerge %90 %91 None 190e5c31af7Sopenharmony_ci OpBranchConditional %97 %89 %90 191e5c31af7Sopenharmony_ci %89 = OpLabel 192e5c31af7Sopenharmony_ci OpBranch %99 193e5c31af7Sopenharmony_ci %99 = OpLabel 194e5c31af7Sopenharmony_ci %960 = OpPhi %37 %961 %89 %2051 %102 195e5c31af7Sopenharmony_ci %920 = OpPhi %6 %921 %89 %668 %102 196e5c31af7Sopenharmony_ci %823 = OpPhi %6 %821 %89 %666 %102 197e5c31af7Sopenharmony_ci %822 = OpPhi %6 %9 %89 %664 %102 198e5c31af7Sopenharmony_ci %105 = OpSLessThan %37 %822 %36 199e5c31af7Sopenharmony_ci %107 = OpSLessThan %37 %823 %40 200e5c31af7Sopenharmony_ci %108 = OpLogicalAnd %37 %105 %107 201e5c31af7Sopenharmony_ci OpLoopMerge %101 %102 None 202e5c31af7Sopenharmony_ci OpBranchConditional %108 %100 %101 203e5c31af7Sopenharmony_ci %100 = OpLabel 204e5c31af7Sopenharmony_ci OpBranch %110 205e5c31af7Sopenharmony_ci %110 = OpLabel 206e5c31af7Sopenharmony_ci %959 = OpPhi %37 %960 %100 %1986 %113 207e5c31af7Sopenharmony_ci %919 = OpPhi %6 %920 %100 %662 %113 208e5c31af7Sopenharmony_ci %825 = OpPhi %6 %823 %100 %660 %113 209e5c31af7Sopenharmony_ci %824 = OpPhi %6 %9 %100 %658 %113 210e5c31af7Sopenharmony_ci %116 = OpSLessThan %37 %824 %36 211e5c31af7Sopenharmony_ci %118 = OpSLessThan %37 %825 %40 212e5c31af7Sopenharmony_ci %119 = OpLogicalAnd %37 %116 %118 213e5c31af7Sopenharmony_ci OpLoopMerge %112 %113 None 214e5c31af7Sopenharmony_ci OpBranchConditional %119 %111 %112 215e5c31af7Sopenharmony_ci %111 = OpLabel 216e5c31af7Sopenharmony_ci OpBranch %121 217e5c31af7Sopenharmony_ci %121 = OpLabel 218e5c31af7Sopenharmony_ci %958 = OpPhi %37 %959 %111 %1923 %124 219e5c31af7Sopenharmony_ci %918 = OpPhi %6 %919 %111 %656 %124 220e5c31af7Sopenharmony_ci %827 = OpPhi %6 %825 %111 %654 %124 221e5c31af7Sopenharmony_ci %826 = OpPhi %6 %9 %111 %652 %124 222e5c31af7Sopenharmony_ci %127 = OpSLessThan %37 %826 %36 223e5c31af7Sopenharmony_ci %129 = OpSLessThan %37 %827 %40 224e5c31af7Sopenharmony_ci %130 = OpLogicalAnd %37 %127 %129 225e5c31af7Sopenharmony_ci OpLoopMerge %123 %124 None 226e5c31af7Sopenharmony_ci OpBranchConditional %130 %122 %123 227e5c31af7Sopenharmony_ci %122 = OpLabel 228e5c31af7Sopenharmony_ci OpBranch %132 229e5c31af7Sopenharmony_ci %132 = OpLabel 230e5c31af7Sopenharmony_ci %957 = OpPhi %37 %958 %122 %1862 %135 231e5c31af7Sopenharmony_ci %917 = OpPhi %6 %918 %122 %650 %135 232e5c31af7Sopenharmony_ci %829 = OpPhi %6 %827 %122 %648 %135 233e5c31af7Sopenharmony_ci %828 = OpPhi %6 %9 %122 %646 %135 234e5c31af7Sopenharmony_ci %138 = OpSLessThan %37 %828 %36 235e5c31af7Sopenharmony_ci %140 = OpSLessThan %37 %829 %40 236e5c31af7Sopenharmony_ci %141 = OpLogicalAnd %37 %138 %140 237e5c31af7Sopenharmony_ci OpLoopMerge %134 %135 None 238e5c31af7Sopenharmony_ci OpBranchConditional %141 %133 %134 239e5c31af7Sopenharmony_ci %133 = OpLabel 240e5c31af7Sopenharmony_ci OpBranch %143 241e5c31af7Sopenharmony_ci %143 = OpLabel 242e5c31af7Sopenharmony_ci %956 = OpPhi %37 %957 %133 %1803 %146 243e5c31af7Sopenharmony_ci %916 = OpPhi %6 %917 %133 %644 %146 244e5c31af7Sopenharmony_ci %831 = OpPhi %6 %829 %133 %642 %146 245e5c31af7Sopenharmony_ci %830 = OpPhi %6 %9 %133 %640 %146 246e5c31af7Sopenharmony_ci %149 = OpSLessThan %37 %830 %36 247e5c31af7Sopenharmony_ci %151 = OpSLessThan %37 %831 %40 248e5c31af7Sopenharmony_ci %152 = OpLogicalAnd %37 %149 %151 249e5c31af7Sopenharmony_ci OpLoopMerge %145 %146 None 250e5c31af7Sopenharmony_ci OpBranchConditional %152 %144 %145 251e5c31af7Sopenharmony_ci %144 = OpLabel 252e5c31af7Sopenharmony_ci OpBranch %154 253e5c31af7Sopenharmony_ci %154 = OpLabel 254e5c31af7Sopenharmony_ci %955 = OpPhi %37 %956 %144 %1746 %157 255e5c31af7Sopenharmony_ci %915 = OpPhi %6 %916 %144 %638 %157 256e5c31af7Sopenharmony_ci %833 = OpPhi %6 %831 %144 %636 %157 257e5c31af7Sopenharmony_ci %832 = OpPhi %6 %9 %144 %634 %157 258e5c31af7Sopenharmony_ci %160 = OpSLessThan %37 %832 %36 259e5c31af7Sopenharmony_ci %162 = OpSLessThan %37 %833 %40 260e5c31af7Sopenharmony_ci %163 = OpLogicalAnd %37 %160 %162 261e5c31af7Sopenharmony_ci OpLoopMerge %156 %157 None 262e5c31af7Sopenharmony_ci OpBranchConditional %163 %155 %156 263e5c31af7Sopenharmony_ci %155 = OpLabel 264e5c31af7Sopenharmony_ci OpBranch %165 265e5c31af7Sopenharmony_ci %165 = OpLabel 266e5c31af7Sopenharmony_ci %954 = OpPhi %37 %955 %155 %1691 %168 267e5c31af7Sopenharmony_ci %914 = OpPhi %6 %915 %155 %632 %168 268e5c31af7Sopenharmony_ci %835 = OpPhi %6 %833 %155 %630 %168 269e5c31af7Sopenharmony_ci %834 = OpPhi %6 %9 %155 %628 %168 270e5c31af7Sopenharmony_ci %171 = OpSLessThan %37 %834 %36 271e5c31af7Sopenharmony_ci %173 = OpSLessThan %37 %835 %40 272e5c31af7Sopenharmony_ci %174 = OpLogicalAnd %37 %171 %173 273e5c31af7Sopenharmony_ci OpLoopMerge %167 %168 None 274e5c31af7Sopenharmony_ci OpBranchConditional %174 %166 %167 275e5c31af7Sopenharmony_ci %166 = OpLabel 276e5c31af7Sopenharmony_ci OpBranch %176 277e5c31af7Sopenharmony_ci %176 = OpLabel 278e5c31af7Sopenharmony_ci %953 = OpPhi %37 %954 %166 %1638 %179 279e5c31af7Sopenharmony_ci %913 = OpPhi %6 %914 %166 %626 %179 280e5c31af7Sopenharmony_ci %837 = OpPhi %6 %835 %166 %624 %179 281e5c31af7Sopenharmony_ci %836 = OpPhi %6 %9 %166 %622 %179 282e5c31af7Sopenharmony_ci %182 = OpSLessThan %37 %836 %36 283e5c31af7Sopenharmony_ci %184 = OpSLessThan %37 %837 %40 284e5c31af7Sopenharmony_ci %185 = OpLogicalAnd %37 %182 %184 285e5c31af7Sopenharmony_ci OpLoopMerge %178 %179 None 286e5c31af7Sopenharmony_ci OpBranchConditional %185 %177 %178 287e5c31af7Sopenharmony_ci %177 = OpLabel 288e5c31af7Sopenharmony_ci OpBranch %187 289e5c31af7Sopenharmony_ci %187 = OpLabel 290e5c31af7Sopenharmony_ci %952 = OpPhi %37 %953 %177 %1587 %190 291e5c31af7Sopenharmony_ci %912 = OpPhi %6 %913 %177 %620 %190 292e5c31af7Sopenharmony_ci %839 = OpPhi %6 %837 %177 %618 %190 293e5c31af7Sopenharmony_ci %838 = OpPhi %6 %9 %177 %616 %190 294e5c31af7Sopenharmony_ci %193 = OpSLessThan %37 %838 %36 295e5c31af7Sopenharmony_ci %195 = OpSLessThan %37 %839 %40 296e5c31af7Sopenharmony_ci %196 = OpLogicalAnd %37 %193 %195 297e5c31af7Sopenharmony_ci OpLoopMerge %189 %190 None 298e5c31af7Sopenharmony_ci OpBranchConditional %196 %188 %189 299e5c31af7Sopenharmony_ci %188 = OpLabel 300e5c31af7Sopenharmony_ci OpBranch %198 301e5c31af7Sopenharmony_ci %198 = OpLabel 302e5c31af7Sopenharmony_ci %951 = OpPhi %37 %952 %188 %1538 %201 303e5c31af7Sopenharmony_ci %911 = OpPhi %6 %912 %188 %614 %201 304e5c31af7Sopenharmony_ci %841 = OpPhi %6 %839 %188 %612 %201 305e5c31af7Sopenharmony_ci %840 = OpPhi %6 %9 %188 %610 %201 306e5c31af7Sopenharmony_ci %204 = OpSLessThan %37 %840 %36 307e5c31af7Sopenharmony_ci %206 = OpSLessThan %37 %841 %40 308e5c31af7Sopenharmony_ci %207 = OpLogicalAnd %37 %204 %206 309e5c31af7Sopenharmony_ci OpLoopMerge %200 %201 None 310e5c31af7Sopenharmony_ci OpBranchConditional %207 %199 %200 311e5c31af7Sopenharmony_ci %199 = OpLabel 312e5c31af7Sopenharmony_ci OpBranch %209 313e5c31af7Sopenharmony_ci %209 = OpLabel 314e5c31af7Sopenharmony_ci %950 = OpPhi %37 %951 %199 %1491 %212 315e5c31af7Sopenharmony_ci %910 = OpPhi %6 %911 %199 %608 %212 316e5c31af7Sopenharmony_ci %843 = OpPhi %6 %841 %199 %606 %212 317e5c31af7Sopenharmony_ci %842 = OpPhi %6 %9 %199 %604 %212 318e5c31af7Sopenharmony_ci %215 = OpSLessThan %37 %842 %36 319e5c31af7Sopenharmony_ci %217 = OpSLessThan %37 %843 %40 320e5c31af7Sopenharmony_ci %218 = OpLogicalAnd %37 %215 %217 321e5c31af7Sopenharmony_ci OpLoopMerge %211 %212 None 322e5c31af7Sopenharmony_ci OpBranchConditional %218 %210 %211 323e5c31af7Sopenharmony_ci %210 = OpLabel 324e5c31af7Sopenharmony_ci OpBranch %220 325e5c31af7Sopenharmony_ci %220 = OpLabel 326e5c31af7Sopenharmony_ci %949 = OpPhi %37 %950 %210 %1446 %223 327e5c31af7Sopenharmony_ci %909 = OpPhi %6 %910 %210 %602 %223 328e5c31af7Sopenharmony_ci %845 = OpPhi %6 %843 %210 %600 %223 329e5c31af7Sopenharmony_ci %844 = OpPhi %6 %9 %210 %598 %223 330e5c31af7Sopenharmony_ci %226 = OpSLessThan %37 %844 %36 331e5c31af7Sopenharmony_ci %228 = OpSLessThan %37 %845 %40 332e5c31af7Sopenharmony_ci %229 = OpLogicalAnd %37 %226 %228 333e5c31af7Sopenharmony_ci OpLoopMerge %222 %223 None 334e5c31af7Sopenharmony_ci OpBranchConditional %229 %221 %222 335e5c31af7Sopenharmony_ci %221 = OpLabel 336e5c31af7Sopenharmony_ci OpBranch %231 337e5c31af7Sopenharmony_ci %231 = OpLabel 338e5c31af7Sopenharmony_ci %948 = OpPhi %37 %949 %221 %1403 %234 339e5c31af7Sopenharmony_ci %908 = OpPhi %6 %909 %221 %596 %234 340e5c31af7Sopenharmony_ci %847 = OpPhi %6 %845 %221 %594 %234 341e5c31af7Sopenharmony_ci %846 = OpPhi %6 %9 %221 %592 %234 342e5c31af7Sopenharmony_ci %237 = OpSLessThan %37 %846 %36 343e5c31af7Sopenharmony_ci %239 = OpSLessThan %37 %847 %40 344e5c31af7Sopenharmony_ci %240 = OpLogicalAnd %37 %237 %239 345e5c31af7Sopenharmony_ci OpLoopMerge %233 %234 None 346e5c31af7Sopenharmony_ci OpBranchConditional %240 %232 %233 347e5c31af7Sopenharmony_ci %232 = OpLabel 348e5c31af7Sopenharmony_ci OpBranch %242 349e5c31af7Sopenharmony_ci %242 = OpLabel 350e5c31af7Sopenharmony_ci %947 = OpPhi %37 %948 %232 %1362 %245 351e5c31af7Sopenharmony_ci %907 = OpPhi %6 %908 %232 %590 %245 352e5c31af7Sopenharmony_ci %849 = OpPhi %6 %847 %232 %588 %245 353e5c31af7Sopenharmony_ci %848 = OpPhi %6 %9 %232 %586 %245 354e5c31af7Sopenharmony_ci %248 = OpSLessThan %37 %848 %36 355e5c31af7Sopenharmony_ci %250 = OpSLessThan %37 %849 %40 356e5c31af7Sopenharmony_ci %251 = OpLogicalAnd %37 %248 %250 357e5c31af7Sopenharmony_ci OpLoopMerge %244 %245 None 358e5c31af7Sopenharmony_ci OpBranchConditional %251 %243 %244 359e5c31af7Sopenharmony_ci %243 = OpLabel 360e5c31af7Sopenharmony_ci OpBranch %253 361e5c31af7Sopenharmony_ci %253 = OpLabel 362e5c31af7Sopenharmony_ci %946 = OpPhi %37 %947 %243 %1323 %256 363e5c31af7Sopenharmony_ci %906 = OpPhi %6 %907 %243 %584 %256 364e5c31af7Sopenharmony_ci %851 = OpPhi %6 %849 %243 %582 %256 365e5c31af7Sopenharmony_ci %850 = OpPhi %6 %9 %243 %580 %256 366e5c31af7Sopenharmony_ci %259 = OpSLessThan %37 %850 %36 367e5c31af7Sopenharmony_ci %261 = OpSLessThan %37 %851 %40 368e5c31af7Sopenharmony_ci %262 = OpLogicalAnd %37 %259 %261 369e5c31af7Sopenharmony_ci OpLoopMerge %255 %256 None 370e5c31af7Sopenharmony_ci OpBranchConditional %262 %254 %255 371e5c31af7Sopenharmony_ci %254 = OpLabel 372e5c31af7Sopenharmony_ci OpBranch %264 373e5c31af7Sopenharmony_ci %264 = OpLabel 374e5c31af7Sopenharmony_ci %945 = OpPhi %37 %946 %254 %1286 %267 375e5c31af7Sopenharmony_ci %905 = OpPhi %6 %906 %254 %578 %267 376e5c31af7Sopenharmony_ci %853 = OpPhi %6 %851 %254 %576 %267 377e5c31af7Sopenharmony_ci %852 = OpPhi %6 %9 %254 %574 %267 378e5c31af7Sopenharmony_ci %270 = OpSLessThan %37 %852 %36 379e5c31af7Sopenharmony_ci %272 = OpSLessThan %37 %853 %40 380e5c31af7Sopenharmony_ci %273 = OpLogicalAnd %37 %270 %272 381e5c31af7Sopenharmony_ci OpLoopMerge %266 %267 None 382e5c31af7Sopenharmony_ci OpBranchConditional %273 %265 %266 383e5c31af7Sopenharmony_ci %265 = OpLabel 384e5c31af7Sopenharmony_ci OpBranch %275 385e5c31af7Sopenharmony_ci %275 = OpLabel 386e5c31af7Sopenharmony_ci %944 = OpPhi %37 %945 %265 %1251 %278 387e5c31af7Sopenharmony_ci %904 = OpPhi %6 %905 %265 %572 %278 388e5c31af7Sopenharmony_ci %855 = OpPhi %6 %853 %265 %570 %278 389e5c31af7Sopenharmony_ci %854 = OpPhi %6 %9 %265 %568 %278 390e5c31af7Sopenharmony_ci %281 = OpSLessThan %37 %854 %36 391e5c31af7Sopenharmony_ci %283 = OpSLessThan %37 %855 %40 392e5c31af7Sopenharmony_ci %284 = OpLogicalAnd %37 %281 %283 393e5c31af7Sopenharmony_ci OpLoopMerge %277 %278 None 394e5c31af7Sopenharmony_ci OpBranchConditional %284 %276 %277 395e5c31af7Sopenharmony_ci %276 = OpLabel 396e5c31af7Sopenharmony_ci OpBranch %286 397e5c31af7Sopenharmony_ci %286 = OpLabel 398e5c31af7Sopenharmony_ci %943 = OpPhi %37 %944 %276 %1218 %289 399e5c31af7Sopenharmony_ci %903 = OpPhi %6 %904 %276 %566 %289 400e5c31af7Sopenharmony_ci %857 = OpPhi %6 %855 %276 %564 %289 401e5c31af7Sopenharmony_ci %856 = OpPhi %6 %9 %276 %562 %289 402e5c31af7Sopenharmony_ci %292 = OpSLessThan %37 %856 %36 403e5c31af7Sopenharmony_ci %294 = OpSLessThan %37 %857 %40 404e5c31af7Sopenharmony_ci %295 = OpLogicalAnd %37 %292 %294 405e5c31af7Sopenharmony_ci OpLoopMerge %288 %289 None 406e5c31af7Sopenharmony_ci OpBranchConditional %295 %287 %288 407e5c31af7Sopenharmony_ci %287 = OpLabel 408e5c31af7Sopenharmony_ci OpBranch %297 409e5c31af7Sopenharmony_ci %297 = OpLabel 410e5c31af7Sopenharmony_ci %942 = OpPhi %37 %943 %287 %1187 %300 411e5c31af7Sopenharmony_ci %902 = OpPhi %6 %903 %287 %560 %300 412e5c31af7Sopenharmony_ci %859 = OpPhi %6 %857 %287 %558 %300 413e5c31af7Sopenharmony_ci %858 = OpPhi %6 %9 %287 %556 %300 414e5c31af7Sopenharmony_ci %303 = OpSLessThan %37 %858 %36 415e5c31af7Sopenharmony_ci %305 = OpSLessThan %37 %859 %40 416e5c31af7Sopenharmony_ci %306 = OpLogicalAnd %37 %303 %305 417e5c31af7Sopenharmony_ci OpLoopMerge %299 %300 None 418e5c31af7Sopenharmony_ci OpBranchConditional %306 %298 %299 419e5c31af7Sopenharmony_ci %298 = OpLabel 420e5c31af7Sopenharmony_ci OpBranch %308 421e5c31af7Sopenharmony_ci %308 = OpLabel 422e5c31af7Sopenharmony_ci %941 = OpPhi %37 %942 %298 %1158 %311 423e5c31af7Sopenharmony_ci %901 = OpPhi %6 %902 %298 %554 %311 424e5c31af7Sopenharmony_ci %861 = OpPhi %6 %859 %298 %552 %311 425e5c31af7Sopenharmony_ci %860 = OpPhi %6 %9 %298 %550 %311 426e5c31af7Sopenharmony_ci %314 = OpSLessThan %37 %860 %36 427e5c31af7Sopenharmony_ci %316 = OpSLessThan %37 %861 %40 428e5c31af7Sopenharmony_ci %317 = OpLogicalAnd %37 %314 %316 429e5c31af7Sopenharmony_ci OpLoopMerge %310 %311 None 430e5c31af7Sopenharmony_ci OpBranchConditional %317 %309 %310 431e5c31af7Sopenharmony_ci %309 = OpLabel 432e5c31af7Sopenharmony_ci OpBranch %319 433e5c31af7Sopenharmony_ci %319 = OpLabel 434e5c31af7Sopenharmony_ci %940 = OpPhi %37 %941 %309 %1131 %322 435e5c31af7Sopenharmony_ci %900 = OpPhi %6 %901 %309 %548 %322 436e5c31af7Sopenharmony_ci %863 = OpPhi %6 %861 %309 %546 %322 437e5c31af7Sopenharmony_ci %862 = OpPhi %6 %9 %309 %544 %322 438e5c31af7Sopenharmony_ci %325 = OpSLessThan %37 %862 %36 439e5c31af7Sopenharmony_ci %327 = OpSLessThan %37 %863 %40 440e5c31af7Sopenharmony_ci %328 = OpLogicalAnd %37 %325 %327 441e5c31af7Sopenharmony_ci OpLoopMerge %321 %322 None 442e5c31af7Sopenharmony_ci OpBranchConditional %328 %320 %321 443e5c31af7Sopenharmony_ci %320 = OpLabel 444e5c31af7Sopenharmony_ci OpBranch %330 445e5c31af7Sopenharmony_ci %330 = OpLabel 446e5c31af7Sopenharmony_ci %939 = OpPhi %37 %940 %320 %1106 %333 447e5c31af7Sopenharmony_ci %899 = OpPhi %6 %900 %320 %542 %333 448e5c31af7Sopenharmony_ci %865 = OpPhi %6 %863 %320 %540 %333 449e5c31af7Sopenharmony_ci %864 = OpPhi %6 %9 %320 %538 %333 450e5c31af7Sopenharmony_ci %336 = OpSLessThan %37 %864 %36 451e5c31af7Sopenharmony_ci %338 = OpSLessThan %37 %865 %40 452e5c31af7Sopenharmony_ci %339 = OpLogicalAnd %37 %336 %338 453e5c31af7Sopenharmony_ci OpLoopMerge %332 %333 None 454e5c31af7Sopenharmony_ci OpBranchConditional %339 %331 %332 455e5c31af7Sopenharmony_ci %331 = OpLabel 456e5c31af7Sopenharmony_ci OpBranch %341 457e5c31af7Sopenharmony_ci %341 = OpLabel 458e5c31af7Sopenharmony_ci %938 = OpPhi %37 %939 %331 %1083 %344 459e5c31af7Sopenharmony_ci %898 = OpPhi %6 %899 %331 %536 %344 460e5c31af7Sopenharmony_ci %867 = OpPhi %6 %865 %331 %534 %344 461e5c31af7Sopenharmony_ci %866 = OpPhi %6 %9 %331 %532 %344 462e5c31af7Sopenharmony_ci %347 = OpSLessThan %37 %866 %36 463e5c31af7Sopenharmony_ci %349 = OpSLessThan %37 %867 %40 464e5c31af7Sopenharmony_ci %350 = OpLogicalAnd %37 %347 %349 465e5c31af7Sopenharmony_ci OpLoopMerge %343 %344 None 466e5c31af7Sopenharmony_ci OpBranchConditional %350 %342 %343 467e5c31af7Sopenharmony_ci %342 = OpLabel 468e5c31af7Sopenharmony_ci OpBranch %352 469e5c31af7Sopenharmony_ci %352 = OpLabel 470e5c31af7Sopenharmony_ci %937 = OpPhi %37 %938 %342 %1062 %355 471e5c31af7Sopenharmony_ci %897 = OpPhi %6 %898 %342 %530 %355 472e5c31af7Sopenharmony_ci %869 = OpPhi %6 %867 %342 %528 %355 473e5c31af7Sopenharmony_ci %868 = OpPhi %6 %9 %342 %526 %355 474e5c31af7Sopenharmony_ci %358 = OpSLessThan %37 %868 %36 475e5c31af7Sopenharmony_ci %360 = OpSLessThan %37 %869 %40 476e5c31af7Sopenharmony_ci %361 = OpLogicalAnd %37 %358 %360 477e5c31af7Sopenharmony_ci OpLoopMerge %354 %355 None 478e5c31af7Sopenharmony_ci OpBranchConditional %361 %353 %354 479e5c31af7Sopenharmony_ci %353 = OpLabel 480e5c31af7Sopenharmony_ci OpBranch %363 481e5c31af7Sopenharmony_ci %363 = OpLabel 482e5c31af7Sopenharmony_ci %936 = OpPhi %37 %937 %353 %1043 %366 483e5c31af7Sopenharmony_ci %896 = OpPhi %6 %897 %353 %524 %366 484e5c31af7Sopenharmony_ci %871 = OpPhi %6 %869 %353 %522 %366 485e5c31af7Sopenharmony_ci %870 = OpPhi %6 %9 %353 %520 %366 486e5c31af7Sopenharmony_ci %369 = OpSLessThan %37 %870 %36 487e5c31af7Sopenharmony_ci %371 = OpSLessThan %37 %871 %40 488e5c31af7Sopenharmony_ci %372 = OpLogicalAnd %37 %369 %371 489e5c31af7Sopenharmony_ci OpLoopMerge %365 %366 None 490e5c31af7Sopenharmony_ci OpBranchConditional %372 %364 %365 491e5c31af7Sopenharmony_ci %364 = OpLabel 492e5c31af7Sopenharmony_ci OpBranch %374 493e5c31af7Sopenharmony_ci %374 = OpLabel 494e5c31af7Sopenharmony_ci %935 = OpPhi %37 %936 %364 %1026 %377 495e5c31af7Sopenharmony_ci %895 = OpPhi %6 %896 %364 %518 %377 496e5c31af7Sopenharmony_ci %873 = OpPhi %6 %871 %364 %516 %377 497e5c31af7Sopenharmony_ci %872 = OpPhi %6 %9 %364 %514 %377 498e5c31af7Sopenharmony_ci %380 = OpSLessThan %37 %872 %36 499e5c31af7Sopenharmony_ci %382 = OpSLessThan %37 %873 %40 500e5c31af7Sopenharmony_ci %383 = OpLogicalAnd %37 %380 %382 501e5c31af7Sopenharmony_ci OpLoopMerge %376 %377 None 502e5c31af7Sopenharmony_ci OpBranchConditional %383 %375 %376 503e5c31af7Sopenharmony_ci %375 = OpLabel 504e5c31af7Sopenharmony_ci OpBranch %385 505e5c31af7Sopenharmony_ci %385 = OpLabel 506e5c31af7Sopenharmony_ci %934 = OpPhi %37 %935 %375 %1011 %388 507e5c31af7Sopenharmony_ci %894 = OpPhi %6 %895 %375 %512 %388 508e5c31af7Sopenharmony_ci %875 = OpPhi %6 %873 %375 %510 %388 509e5c31af7Sopenharmony_ci %874 = OpPhi %6 %9 %375 %508 %388 510e5c31af7Sopenharmony_ci %391 = OpSLessThan %37 %874 %36 511e5c31af7Sopenharmony_ci %393 = OpSLessThan %37 %875 %40 512e5c31af7Sopenharmony_ci %394 = OpLogicalAnd %37 %391 %393 513e5c31af7Sopenharmony_ci OpLoopMerge %387 %388 None 514e5c31af7Sopenharmony_ci OpBranchConditional %394 %386 %387 515e5c31af7Sopenharmony_ci %386 = OpLabel 516e5c31af7Sopenharmony_ci OpBranch %396 517e5c31af7Sopenharmony_ci %396 = OpLabel 518e5c31af7Sopenharmony_ci %933 = OpPhi %37 %934 %386 %998 %399 519e5c31af7Sopenharmony_ci %893 = OpPhi %6 %894 %386 %506 %399 520e5c31af7Sopenharmony_ci %877 = OpPhi %6 %875 %386 %504 %399 521e5c31af7Sopenharmony_ci %876 = OpPhi %6 %9 %386 %502 %399 522e5c31af7Sopenharmony_ci %402 = OpSLessThan %37 %876 %36 523e5c31af7Sopenharmony_ci %404 = OpSLessThan %37 %877 %40 524e5c31af7Sopenharmony_ci %405 = OpLogicalAnd %37 %402 %404 525e5c31af7Sopenharmony_ci OpLoopMerge %398 %399 None 526e5c31af7Sopenharmony_ci OpBranchConditional %405 %397 %398 527e5c31af7Sopenharmony_ci %397 = OpLabel 528e5c31af7Sopenharmony_ci OpBranch %407 529e5c31af7Sopenharmony_ci %407 = OpLabel 530e5c31af7Sopenharmony_ci %932 = OpPhi %37 %933 %397 %987 %410 531e5c31af7Sopenharmony_ci %892 = OpPhi %6 %893 %397 %500 %410 532e5c31af7Sopenharmony_ci %879 = OpPhi %6 %877 %397 %498 %410 533e5c31af7Sopenharmony_ci %878 = OpPhi %6 %9 %397 %496 %410 534e5c31af7Sopenharmony_ci %413 = OpSLessThan %37 %878 %36 535e5c31af7Sopenharmony_ci %415 = OpSLessThan %37 %879 %40 536e5c31af7Sopenharmony_ci %416 = OpLogicalAnd %37 %413 %415 537e5c31af7Sopenharmony_ci OpLoopMerge %409 %410 None 538e5c31af7Sopenharmony_ci OpBranchConditional %416 %408 %409 539e5c31af7Sopenharmony_ci %408 = OpLabel 540e5c31af7Sopenharmony_ci OpBranch %418 541e5c31af7Sopenharmony_ci %418 = OpLabel 542e5c31af7Sopenharmony_ci %931 = OpPhi %37 %932 %408 %978 %421 543e5c31af7Sopenharmony_ci %891 = OpPhi %6 %892 %408 %494 %421 544e5c31af7Sopenharmony_ci %881 = OpPhi %6 %879 %408 %492 %421 545e5c31af7Sopenharmony_ci %880 = OpPhi %6 %9 %408 %490 %421 546e5c31af7Sopenharmony_ci %424 = OpSLessThan %37 %880 %36 547e5c31af7Sopenharmony_ci %426 = OpSLessThan %37 %881 %40 548e5c31af7Sopenharmony_ci %427 = OpLogicalAnd %37 %424 %426 549e5c31af7Sopenharmony_ci OpLoopMerge %420 %421 None 550e5c31af7Sopenharmony_ci OpBranchConditional %427 %419 %420 551e5c31af7Sopenharmony_ci %419 = OpLabel 552e5c31af7Sopenharmony_ci OpBranch %429 553e5c31af7Sopenharmony_ci %429 = OpLabel 554e5c31af7Sopenharmony_ci %930 = OpPhi %37 %931 %419 %971 %432 555e5c31af7Sopenharmony_ci %890 = OpPhi %6 %891 %419 %488 %432 556e5c31af7Sopenharmony_ci %883 = OpPhi %6 %881 %419 %486 %432 557e5c31af7Sopenharmony_ci %882 = OpPhi %6 %9 %419 %484 %432 558e5c31af7Sopenharmony_ci %435 = OpSLessThan %37 %882 %36 559e5c31af7Sopenharmony_ci %437 = OpSLessThan %37 %883 %40 560e5c31af7Sopenharmony_ci %438 = OpLogicalAnd %37 %435 %437 561e5c31af7Sopenharmony_ci OpLoopMerge %431 %432 None 562e5c31af7Sopenharmony_ci OpBranchConditional %438 %430 %431 563e5c31af7Sopenharmony_ci %430 = OpLabel 564e5c31af7Sopenharmony_ci OpBranch %440 565e5c31af7Sopenharmony_ci %440 = OpLabel 566e5c31af7Sopenharmony_ci %929 = OpPhi %37 %930 %430 %927 %443 567e5c31af7Sopenharmony_ci %889 = OpPhi %6 %890 %430 %482 %443 568e5c31af7Sopenharmony_ci %885 = OpPhi %6 %883 %430 %480 %443 569e5c31af7Sopenharmony_ci %884 = OpPhi %6 %9 %430 %478 %443 570e5c31af7Sopenharmony_ci %446 = OpSLessThan %37 %884 %36 571e5c31af7Sopenharmony_ci %448 = OpSLessThan %37 %885 %40 572e5c31af7Sopenharmony_ci %449 = OpLogicalAnd %37 %446 %448 573e5c31af7Sopenharmony_ci OpLoopMerge %442 %443 None 574e5c31af7Sopenharmony_ci OpBranchConditional %449 %441 %442 575e5c31af7Sopenharmony_ci %441 = OpLabel 576e5c31af7Sopenharmony_ci OpBranch %451 577e5c31af7Sopenharmony_ci %451 = OpLabel 578e5c31af7Sopenharmony_ci %888 = OpPhi %6 %889 %441 %476 %454 579e5c31af7Sopenharmony_ci %887 = OpPhi %6 %885 %441 %474 %454 580e5c31af7Sopenharmony_ci %886 = OpPhi %6 %9 %441 %472 %454 581e5c31af7Sopenharmony_ci %457 = OpSLessThan %37 %886 %36 582e5c31af7Sopenharmony_ci %459 = OpSLessThan %37 %887 %40 583e5c31af7Sopenharmony_ci %460 = OpLogicalAnd %37 %457 %459 584e5c31af7Sopenharmony_ci OpLoopMerge %453 %454 None 585e5c31af7Sopenharmony_ci OpBranchConditional %460 %452 %453 586e5c31af7Sopenharmony_ci %452 = OpLabel 587e5c31af7Sopenharmony_ci %464 = OpAccessChain %463 %16 %462 588e5c31af7Sopenharmony_ci %465 = OpLoad %10 %464 589e5c31af7Sopenharmony_ci %466 = OpFOrdLessThan %37 %465 %22 590e5c31af7Sopenharmony_ci OpSelectionMerge %468 None 591e5c31af7Sopenharmony_ci OpBranchConditional %466 %467 %468 592e5c31af7Sopenharmony_ci %467 = OpLabel 593e5c31af7Sopenharmony_ci OpBranch %453 594e5c31af7Sopenharmony_ci %468 = OpLabel 595e5c31af7Sopenharmony_ci OpBranch %454 596e5c31af7Sopenharmony_ci %454 = OpLabel 597e5c31af7Sopenharmony_ci %472 = OpIAdd %6 %886 %471 598e5c31af7Sopenharmony_ci %474 = OpIAdd %6 %887 %471 599e5c31af7Sopenharmony_ci %476 = OpIAdd %6 %888 %471 600e5c31af7Sopenharmony_ci OpBranch %451 601e5c31af7Sopenharmony_ci %453 = OpLabel 602e5c31af7Sopenharmony_ci %927 = OpPhi %37 %929 %451 %729 %467 603e5c31af7Sopenharmony_ci OpSelectionMerge %730 None 604e5c31af7Sopenharmony_ci OpBranchConditional %927 %442 %730 605e5c31af7Sopenharmony_ci %730 = OpLabel 606e5c31af7Sopenharmony_ci OpBranch %443 607e5c31af7Sopenharmony_ci %443 = OpLabel 608e5c31af7Sopenharmony_ci %478 = OpIAdd %6 %884 %471 609e5c31af7Sopenharmony_ci %480 = OpIAdd %6 %887 %471 610e5c31af7Sopenharmony_ci %482 = OpIAdd %6 %888 %471 611e5c31af7Sopenharmony_ci OpBranch %440 612e5c31af7Sopenharmony_ci %442 = OpLabel 613e5c31af7Sopenharmony_ci %977 = OpPhi %6 %889 %440 %888 %453 614e5c31af7Sopenharmony_ci %976 = OpPhi %6 %885 %440 %887 %453 615e5c31af7Sopenharmony_ci %971 = OpPhi %37 %929 %440 %927 %453 616e5c31af7Sopenharmony_ci OpSelectionMerge %732 None 617e5c31af7Sopenharmony_ci OpBranchConditional %971 %431 %732 618e5c31af7Sopenharmony_ci %732 = OpLabel 619e5c31af7Sopenharmony_ci OpBranch %432 620e5c31af7Sopenharmony_ci %432 = OpLabel 621e5c31af7Sopenharmony_ci %484 = OpIAdd %6 %882 %471 622e5c31af7Sopenharmony_ci %486 = OpIAdd %6 %976 %471 623e5c31af7Sopenharmony_ci %488 = OpIAdd %6 %977 %471 624e5c31af7Sopenharmony_ci OpBranch %429 625e5c31af7Sopenharmony_ci %431 = OpLabel 626e5c31af7Sopenharmony_ci %986 = OpPhi %6 %890 %429 %977 %442 627e5c31af7Sopenharmony_ci %985 = OpPhi %6 %883 %429 %976 %442 628e5c31af7Sopenharmony_ci %978 = OpPhi %37 %930 %429 %971 %442 629e5c31af7Sopenharmony_ci OpSelectionMerge %734 None 630e5c31af7Sopenharmony_ci OpBranchConditional %978 %420 %734 631e5c31af7Sopenharmony_ci %734 = OpLabel 632e5c31af7Sopenharmony_ci OpBranch %421 633e5c31af7Sopenharmony_ci %421 = OpLabel 634e5c31af7Sopenharmony_ci %490 = OpIAdd %6 %880 %471 635e5c31af7Sopenharmony_ci %492 = OpIAdd %6 %985 %471 636e5c31af7Sopenharmony_ci %494 = OpIAdd %6 %986 %471 637e5c31af7Sopenharmony_ci OpBranch %418 638e5c31af7Sopenharmony_ci %420 = OpLabel 639e5c31af7Sopenharmony_ci %997 = OpPhi %6 %891 %418 %986 %431 640e5c31af7Sopenharmony_ci %996 = OpPhi %6 %881 %418 %985 %431 641e5c31af7Sopenharmony_ci %987 = OpPhi %37 %931 %418 %978 %431 642e5c31af7Sopenharmony_ci OpSelectionMerge %736 None 643e5c31af7Sopenharmony_ci OpBranchConditional %987 %409 %736 644e5c31af7Sopenharmony_ci %736 = OpLabel 645e5c31af7Sopenharmony_ci OpBranch %410 646e5c31af7Sopenharmony_ci %410 = OpLabel 647e5c31af7Sopenharmony_ci %496 = OpIAdd %6 %878 %471 648e5c31af7Sopenharmony_ci %498 = OpIAdd %6 %996 %471 649e5c31af7Sopenharmony_ci %500 = OpIAdd %6 %997 %471 650e5c31af7Sopenharmony_ci OpBranch %407 651e5c31af7Sopenharmony_ci %409 = OpLabel 652e5c31af7Sopenharmony_ci %1010 = OpPhi %6 %892 %407 %997 %420 653e5c31af7Sopenharmony_ci %1009 = OpPhi %6 %879 %407 %996 %420 654e5c31af7Sopenharmony_ci %998 = OpPhi %37 %932 %407 %987 %420 655e5c31af7Sopenharmony_ci OpSelectionMerge %738 None 656e5c31af7Sopenharmony_ci OpBranchConditional %998 %398 %738 657e5c31af7Sopenharmony_ci %738 = OpLabel 658e5c31af7Sopenharmony_ci OpBranch %399 659e5c31af7Sopenharmony_ci %399 = OpLabel 660e5c31af7Sopenharmony_ci %502 = OpIAdd %6 %876 %471 661e5c31af7Sopenharmony_ci %504 = OpIAdd %6 %1009 %471 662e5c31af7Sopenharmony_ci %506 = OpIAdd %6 %1010 %471 663e5c31af7Sopenharmony_ci OpBranch %396 664e5c31af7Sopenharmony_ci %398 = OpLabel 665e5c31af7Sopenharmony_ci %1025 = OpPhi %6 %893 %396 %1010 %409 666e5c31af7Sopenharmony_ci %1024 = OpPhi %6 %877 %396 %1009 %409 667e5c31af7Sopenharmony_ci %1011 = OpPhi %37 %933 %396 %998 %409 668e5c31af7Sopenharmony_ci OpSelectionMerge %740 None 669e5c31af7Sopenharmony_ci OpBranchConditional %1011 %387 %740 670e5c31af7Sopenharmony_ci %740 = OpLabel 671e5c31af7Sopenharmony_ci OpBranch %388 672e5c31af7Sopenharmony_ci %388 = OpLabel 673e5c31af7Sopenharmony_ci %508 = OpIAdd %6 %874 %471 674e5c31af7Sopenharmony_ci %510 = OpIAdd %6 %1024 %471 675e5c31af7Sopenharmony_ci %512 = OpIAdd %6 %1025 %471 676e5c31af7Sopenharmony_ci OpBranch %385 677e5c31af7Sopenharmony_ci %387 = OpLabel 678e5c31af7Sopenharmony_ci %1042 = OpPhi %6 %894 %385 %1025 %398 679e5c31af7Sopenharmony_ci %1041 = OpPhi %6 %875 %385 %1024 %398 680e5c31af7Sopenharmony_ci %1026 = OpPhi %37 %934 %385 %1011 %398 681e5c31af7Sopenharmony_ci OpSelectionMerge %742 None 682e5c31af7Sopenharmony_ci OpBranchConditional %1026 %376 %742 683e5c31af7Sopenharmony_ci %742 = OpLabel 684e5c31af7Sopenharmony_ci OpBranch %377 685e5c31af7Sopenharmony_ci %377 = OpLabel 686e5c31af7Sopenharmony_ci %514 = OpIAdd %6 %872 %471 687e5c31af7Sopenharmony_ci %516 = OpIAdd %6 %1041 %471 688e5c31af7Sopenharmony_ci %518 = OpIAdd %6 %1042 %471 689e5c31af7Sopenharmony_ci OpBranch %374 690e5c31af7Sopenharmony_ci %376 = OpLabel 691e5c31af7Sopenharmony_ci %1061 = OpPhi %6 %895 %374 %1042 %387 692e5c31af7Sopenharmony_ci %1060 = OpPhi %6 %873 %374 %1041 %387 693e5c31af7Sopenharmony_ci %1043 = OpPhi %37 %935 %374 %1026 %387 694e5c31af7Sopenharmony_ci OpSelectionMerge %744 None 695e5c31af7Sopenharmony_ci OpBranchConditional %1043 %365 %744 696e5c31af7Sopenharmony_ci %744 = OpLabel 697e5c31af7Sopenharmony_ci OpBranch %366 698e5c31af7Sopenharmony_ci %366 = OpLabel 699e5c31af7Sopenharmony_ci %520 = OpIAdd %6 %870 %471 700e5c31af7Sopenharmony_ci %522 = OpIAdd %6 %1060 %471 701e5c31af7Sopenharmony_ci %524 = OpIAdd %6 %1061 %471 702e5c31af7Sopenharmony_ci OpBranch %363 703e5c31af7Sopenharmony_ci %365 = OpLabel 704e5c31af7Sopenharmony_ci %1082 = OpPhi %6 %896 %363 %1061 %376 705e5c31af7Sopenharmony_ci %1081 = OpPhi %6 %871 %363 %1060 %376 706e5c31af7Sopenharmony_ci %1062 = OpPhi %37 %936 %363 %1043 %376 707e5c31af7Sopenharmony_ci OpSelectionMerge %746 None 708e5c31af7Sopenharmony_ci OpBranchConditional %1062 %354 %746 709e5c31af7Sopenharmony_ci %746 = OpLabel 710e5c31af7Sopenharmony_ci OpBranch %355 711e5c31af7Sopenharmony_ci %355 = OpLabel 712e5c31af7Sopenharmony_ci %526 = OpIAdd %6 %868 %471 713e5c31af7Sopenharmony_ci %528 = OpIAdd %6 %1081 %471 714e5c31af7Sopenharmony_ci %530 = OpIAdd %6 %1082 %471 715e5c31af7Sopenharmony_ci OpBranch %352 716e5c31af7Sopenharmony_ci %354 = OpLabel 717e5c31af7Sopenharmony_ci %1105 = OpPhi %6 %897 %352 %1082 %365 718e5c31af7Sopenharmony_ci %1104 = OpPhi %6 %869 %352 %1081 %365 719e5c31af7Sopenharmony_ci %1083 = OpPhi %37 %937 %352 %1062 %365 720e5c31af7Sopenharmony_ci OpSelectionMerge %748 None 721e5c31af7Sopenharmony_ci OpBranchConditional %1083 %343 %748 722e5c31af7Sopenharmony_ci %748 = OpLabel 723e5c31af7Sopenharmony_ci OpBranch %344 724e5c31af7Sopenharmony_ci %344 = OpLabel 725e5c31af7Sopenharmony_ci %532 = OpIAdd %6 %866 %471 726e5c31af7Sopenharmony_ci %534 = OpIAdd %6 %1104 %471 727e5c31af7Sopenharmony_ci %536 = OpIAdd %6 %1105 %471 728e5c31af7Sopenharmony_ci OpBranch %341 729e5c31af7Sopenharmony_ci %343 = OpLabel 730e5c31af7Sopenharmony_ci %1130 = OpPhi %6 %898 %341 %1105 %354 731e5c31af7Sopenharmony_ci %1129 = OpPhi %6 %867 %341 %1104 %354 732e5c31af7Sopenharmony_ci %1106 = OpPhi %37 %938 %341 %1083 %354 733e5c31af7Sopenharmony_ci OpSelectionMerge %750 None 734e5c31af7Sopenharmony_ci OpBranchConditional %1106 %332 %750 735e5c31af7Sopenharmony_ci %750 = OpLabel 736e5c31af7Sopenharmony_ci OpBranch %333 737e5c31af7Sopenharmony_ci %333 = OpLabel 738e5c31af7Sopenharmony_ci %538 = OpIAdd %6 %864 %471 739e5c31af7Sopenharmony_ci %540 = OpIAdd %6 %1129 %471 740e5c31af7Sopenharmony_ci %542 = OpIAdd %6 %1130 %471 741e5c31af7Sopenharmony_ci OpBranch %330 742e5c31af7Sopenharmony_ci %332 = OpLabel 743e5c31af7Sopenharmony_ci %1157 = OpPhi %6 %899 %330 %1130 %343 744e5c31af7Sopenharmony_ci %1156 = OpPhi %6 %865 %330 %1129 %343 745e5c31af7Sopenharmony_ci %1131 = OpPhi %37 %939 %330 %1106 %343 746e5c31af7Sopenharmony_ci OpSelectionMerge %752 None 747e5c31af7Sopenharmony_ci OpBranchConditional %1131 %321 %752 748e5c31af7Sopenharmony_ci %752 = OpLabel 749e5c31af7Sopenharmony_ci OpBranch %322 750e5c31af7Sopenharmony_ci %322 = OpLabel 751e5c31af7Sopenharmony_ci %544 = OpIAdd %6 %862 %471 752e5c31af7Sopenharmony_ci %546 = OpIAdd %6 %1156 %471 753e5c31af7Sopenharmony_ci %548 = OpIAdd %6 %1157 %471 754e5c31af7Sopenharmony_ci OpBranch %319 755e5c31af7Sopenharmony_ci %321 = OpLabel 756e5c31af7Sopenharmony_ci %1186 = OpPhi %6 %900 %319 %1157 %332 757e5c31af7Sopenharmony_ci %1185 = OpPhi %6 %863 %319 %1156 %332 758e5c31af7Sopenharmony_ci %1158 = OpPhi %37 %940 %319 %1131 %332 759e5c31af7Sopenharmony_ci OpSelectionMerge %754 None 760e5c31af7Sopenharmony_ci OpBranchConditional %1158 %310 %754 761e5c31af7Sopenharmony_ci %754 = OpLabel 762e5c31af7Sopenharmony_ci OpBranch %311 763e5c31af7Sopenharmony_ci %311 = OpLabel 764e5c31af7Sopenharmony_ci %550 = OpIAdd %6 %860 %471 765e5c31af7Sopenharmony_ci %552 = OpIAdd %6 %1185 %471 766e5c31af7Sopenharmony_ci %554 = OpIAdd %6 %1186 %471 767e5c31af7Sopenharmony_ci OpBranch %308 768e5c31af7Sopenharmony_ci %310 = OpLabel 769e5c31af7Sopenharmony_ci %1217 = OpPhi %6 %901 %308 %1186 %321 770e5c31af7Sopenharmony_ci %1216 = OpPhi %6 %861 %308 %1185 %321 771e5c31af7Sopenharmony_ci %1187 = OpPhi %37 %941 %308 %1158 %321 772e5c31af7Sopenharmony_ci OpSelectionMerge %756 None 773e5c31af7Sopenharmony_ci OpBranchConditional %1187 %299 %756 774e5c31af7Sopenharmony_ci %756 = OpLabel 775e5c31af7Sopenharmony_ci OpBranch %300 776e5c31af7Sopenharmony_ci %300 = OpLabel 777e5c31af7Sopenharmony_ci %556 = OpIAdd %6 %858 %471 778e5c31af7Sopenharmony_ci %558 = OpIAdd %6 %1216 %471 779e5c31af7Sopenharmony_ci %560 = OpIAdd %6 %1217 %471 780e5c31af7Sopenharmony_ci OpBranch %297 781e5c31af7Sopenharmony_ci %299 = OpLabel 782e5c31af7Sopenharmony_ci %1250 = OpPhi %6 %902 %297 %1217 %310 783e5c31af7Sopenharmony_ci %1249 = OpPhi %6 %859 %297 %1216 %310 784e5c31af7Sopenharmony_ci %1218 = OpPhi %37 %942 %297 %1187 %310 785e5c31af7Sopenharmony_ci OpSelectionMerge %758 None 786e5c31af7Sopenharmony_ci OpBranchConditional %1218 %288 %758 787e5c31af7Sopenharmony_ci %758 = OpLabel 788e5c31af7Sopenharmony_ci OpBranch %289 789e5c31af7Sopenharmony_ci %289 = OpLabel 790e5c31af7Sopenharmony_ci %562 = OpIAdd %6 %856 %471 791e5c31af7Sopenharmony_ci %564 = OpIAdd %6 %1249 %471 792e5c31af7Sopenharmony_ci %566 = OpIAdd %6 %1250 %471 793e5c31af7Sopenharmony_ci OpBranch %286 794e5c31af7Sopenharmony_ci %288 = OpLabel 795e5c31af7Sopenharmony_ci %1285 = OpPhi %6 %903 %286 %1250 %299 796e5c31af7Sopenharmony_ci %1284 = OpPhi %6 %857 %286 %1249 %299 797e5c31af7Sopenharmony_ci %1251 = OpPhi %37 %943 %286 %1218 %299 798e5c31af7Sopenharmony_ci OpSelectionMerge %760 None 799e5c31af7Sopenharmony_ci OpBranchConditional %1251 %277 %760 800e5c31af7Sopenharmony_ci %760 = OpLabel 801e5c31af7Sopenharmony_ci OpBranch %278 802e5c31af7Sopenharmony_ci %278 = OpLabel 803e5c31af7Sopenharmony_ci %568 = OpIAdd %6 %854 %471 804e5c31af7Sopenharmony_ci %570 = OpIAdd %6 %1284 %471 805e5c31af7Sopenharmony_ci %572 = OpIAdd %6 %1285 %471 806e5c31af7Sopenharmony_ci OpBranch %275 807e5c31af7Sopenharmony_ci %277 = OpLabel 808e5c31af7Sopenharmony_ci %1322 = OpPhi %6 %904 %275 %1285 %288 809e5c31af7Sopenharmony_ci %1321 = OpPhi %6 %855 %275 %1284 %288 810e5c31af7Sopenharmony_ci %1286 = OpPhi %37 %944 %275 %1251 %288 811e5c31af7Sopenharmony_ci OpSelectionMerge %762 None 812e5c31af7Sopenharmony_ci OpBranchConditional %1286 %266 %762 813e5c31af7Sopenharmony_ci %762 = OpLabel 814e5c31af7Sopenharmony_ci OpBranch %267 815e5c31af7Sopenharmony_ci %267 = OpLabel 816e5c31af7Sopenharmony_ci %574 = OpIAdd %6 %852 %471 817e5c31af7Sopenharmony_ci %576 = OpIAdd %6 %1321 %471 818e5c31af7Sopenharmony_ci %578 = OpIAdd %6 %1322 %471 819e5c31af7Sopenharmony_ci OpBranch %264 820e5c31af7Sopenharmony_ci %266 = OpLabel 821e5c31af7Sopenharmony_ci %1361 = OpPhi %6 %905 %264 %1322 %277 822e5c31af7Sopenharmony_ci %1360 = OpPhi %6 %853 %264 %1321 %277 823e5c31af7Sopenharmony_ci %1323 = OpPhi %37 %945 %264 %1286 %277 824e5c31af7Sopenharmony_ci OpSelectionMerge %764 None 825e5c31af7Sopenharmony_ci OpBranchConditional %1323 %255 %764 826e5c31af7Sopenharmony_ci %764 = OpLabel 827e5c31af7Sopenharmony_ci OpBranch %256 828e5c31af7Sopenharmony_ci %256 = OpLabel 829e5c31af7Sopenharmony_ci %580 = OpIAdd %6 %850 %471 830e5c31af7Sopenharmony_ci %582 = OpIAdd %6 %1360 %471 831e5c31af7Sopenharmony_ci %584 = OpIAdd %6 %1361 %471 832e5c31af7Sopenharmony_ci OpBranch %253 833e5c31af7Sopenharmony_ci %255 = OpLabel 834e5c31af7Sopenharmony_ci %1402 = OpPhi %6 %906 %253 %1361 %266 835e5c31af7Sopenharmony_ci %1401 = OpPhi %6 %851 %253 %1360 %266 836e5c31af7Sopenharmony_ci %1362 = OpPhi %37 %946 %253 %1323 %266 837e5c31af7Sopenharmony_ci OpSelectionMerge %766 None 838e5c31af7Sopenharmony_ci OpBranchConditional %1362 %244 %766 839e5c31af7Sopenharmony_ci %766 = OpLabel 840e5c31af7Sopenharmony_ci OpBranch %245 841e5c31af7Sopenharmony_ci %245 = OpLabel 842e5c31af7Sopenharmony_ci %586 = OpIAdd %6 %848 %471 843e5c31af7Sopenharmony_ci %588 = OpIAdd %6 %1401 %471 844e5c31af7Sopenharmony_ci %590 = OpIAdd %6 %1402 %471 845e5c31af7Sopenharmony_ci OpBranch %242 846e5c31af7Sopenharmony_ci %244 = OpLabel 847e5c31af7Sopenharmony_ci %1445 = OpPhi %6 %907 %242 %1402 %255 848e5c31af7Sopenharmony_ci %1444 = OpPhi %6 %849 %242 %1401 %255 849e5c31af7Sopenharmony_ci %1403 = OpPhi %37 %947 %242 %1362 %255 850e5c31af7Sopenharmony_ci OpSelectionMerge %768 None 851e5c31af7Sopenharmony_ci OpBranchConditional %1403 %233 %768 852e5c31af7Sopenharmony_ci %768 = OpLabel 853e5c31af7Sopenharmony_ci OpBranch %234 854e5c31af7Sopenharmony_ci %234 = OpLabel 855e5c31af7Sopenharmony_ci %592 = OpIAdd %6 %846 %471 856e5c31af7Sopenharmony_ci %594 = OpIAdd %6 %1444 %471 857e5c31af7Sopenharmony_ci %596 = OpIAdd %6 %1445 %471 858e5c31af7Sopenharmony_ci OpBranch %231 859e5c31af7Sopenharmony_ci %233 = OpLabel 860e5c31af7Sopenharmony_ci %1490 = OpPhi %6 %908 %231 %1445 %244 861e5c31af7Sopenharmony_ci %1489 = OpPhi %6 %847 %231 %1444 %244 862e5c31af7Sopenharmony_ci %1446 = OpPhi %37 %948 %231 %1403 %244 863e5c31af7Sopenharmony_ci OpSelectionMerge %770 None 864e5c31af7Sopenharmony_ci OpBranchConditional %1446 %222 %770 865e5c31af7Sopenharmony_ci %770 = OpLabel 866e5c31af7Sopenharmony_ci OpBranch %223 867e5c31af7Sopenharmony_ci %223 = OpLabel 868e5c31af7Sopenharmony_ci %598 = OpIAdd %6 %844 %471 869e5c31af7Sopenharmony_ci %600 = OpIAdd %6 %1489 %471 870e5c31af7Sopenharmony_ci %602 = OpIAdd %6 %1490 %471 871e5c31af7Sopenharmony_ci OpBranch %220 872e5c31af7Sopenharmony_ci %222 = OpLabel 873e5c31af7Sopenharmony_ci %1537 = OpPhi %6 %909 %220 %1490 %233 874e5c31af7Sopenharmony_ci %1536 = OpPhi %6 %845 %220 %1489 %233 875e5c31af7Sopenharmony_ci %1491 = OpPhi %37 %949 %220 %1446 %233 876e5c31af7Sopenharmony_ci OpSelectionMerge %772 None 877e5c31af7Sopenharmony_ci OpBranchConditional %1491 %211 %772 878e5c31af7Sopenharmony_ci %772 = OpLabel 879e5c31af7Sopenharmony_ci OpBranch %212 880e5c31af7Sopenharmony_ci %212 = OpLabel 881e5c31af7Sopenharmony_ci %604 = OpIAdd %6 %842 %471 882e5c31af7Sopenharmony_ci %606 = OpIAdd %6 %1536 %471 883e5c31af7Sopenharmony_ci %608 = OpIAdd %6 %1537 %471 884e5c31af7Sopenharmony_ci OpBranch %209 885e5c31af7Sopenharmony_ci %211 = OpLabel 886e5c31af7Sopenharmony_ci %1586 = OpPhi %6 %910 %209 %1537 %222 887e5c31af7Sopenharmony_ci %1585 = OpPhi %6 %843 %209 %1536 %222 888e5c31af7Sopenharmony_ci %1538 = OpPhi %37 %950 %209 %1491 %222 889e5c31af7Sopenharmony_ci OpSelectionMerge %774 None 890e5c31af7Sopenharmony_ci OpBranchConditional %1538 %200 %774 891e5c31af7Sopenharmony_ci %774 = OpLabel 892e5c31af7Sopenharmony_ci OpBranch %201 893e5c31af7Sopenharmony_ci %201 = OpLabel 894e5c31af7Sopenharmony_ci %610 = OpIAdd %6 %840 %471 895e5c31af7Sopenharmony_ci %612 = OpIAdd %6 %1585 %471 896e5c31af7Sopenharmony_ci %614 = OpIAdd %6 %1586 %471 897e5c31af7Sopenharmony_ci OpBranch %198 898e5c31af7Sopenharmony_ci %200 = OpLabel 899e5c31af7Sopenharmony_ci %1637 = OpPhi %6 %911 %198 %1586 %211 900e5c31af7Sopenharmony_ci %1636 = OpPhi %6 %841 %198 %1585 %211 901e5c31af7Sopenharmony_ci %1587 = OpPhi %37 %951 %198 %1538 %211 902e5c31af7Sopenharmony_ci OpSelectionMerge %776 None 903e5c31af7Sopenharmony_ci OpBranchConditional %1587 %189 %776 904e5c31af7Sopenharmony_ci %776 = OpLabel 905e5c31af7Sopenharmony_ci OpBranch %190 906e5c31af7Sopenharmony_ci %190 = OpLabel 907e5c31af7Sopenharmony_ci %616 = OpIAdd %6 %838 %471 908e5c31af7Sopenharmony_ci %618 = OpIAdd %6 %1636 %471 909e5c31af7Sopenharmony_ci %620 = OpIAdd %6 %1637 %471 910e5c31af7Sopenharmony_ci OpBranch %187 911e5c31af7Sopenharmony_ci %189 = OpLabel 912e5c31af7Sopenharmony_ci %1690 = OpPhi %6 %912 %187 %1637 %200 913e5c31af7Sopenharmony_ci %1689 = OpPhi %6 %839 %187 %1636 %200 914e5c31af7Sopenharmony_ci %1638 = OpPhi %37 %952 %187 %1587 %200 915e5c31af7Sopenharmony_ci OpSelectionMerge %778 None 916e5c31af7Sopenharmony_ci OpBranchConditional %1638 %178 %778 917e5c31af7Sopenharmony_ci %778 = OpLabel 918e5c31af7Sopenharmony_ci OpBranch %179 919e5c31af7Sopenharmony_ci %179 = OpLabel 920e5c31af7Sopenharmony_ci %622 = OpIAdd %6 %836 %471 921e5c31af7Sopenharmony_ci %624 = OpIAdd %6 %1689 %471 922e5c31af7Sopenharmony_ci %626 = OpIAdd %6 %1690 %471 923e5c31af7Sopenharmony_ci OpBranch %176 924e5c31af7Sopenharmony_ci %178 = OpLabel 925e5c31af7Sopenharmony_ci %1745 = OpPhi %6 %913 %176 %1690 %189 926e5c31af7Sopenharmony_ci %1744 = OpPhi %6 %837 %176 %1689 %189 927e5c31af7Sopenharmony_ci %1691 = OpPhi %37 %953 %176 %1638 %189 928e5c31af7Sopenharmony_ci OpSelectionMerge %780 None 929e5c31af7Sopenharmony_ci OpBranchConditional %1691 %167 %780 930e5c31af7Sopenharmony_ci %780 = OpLabel 931e5c31af7Sopenharmony_ci OpBranch %168 932e5c31af7Sopenharmony_ci %168 = OpLabel 933e5c31af7Sopenharmony_ci %628 = OpIAdd %6 %834 %471 934e5c31af7Sopenharmony_ci %630 = OpIAdd %6 %1744 %471 935e5c31af7Sopenharmony_ci %632 = OpIAdd %6 %1745 %471 936e5c31af7Sopenharmony_ci OpBranch %165 937e5c31af7Sopenharmony_ci %167 = OpLabel 938e5c31af7Sopenharmony_ci %1802 = OpPhi %6 %914 %165 %1745 %178 939e5c31af7Sopenharmony_ci %1801 = OpPhi %6 %835 %165 %1744 %178 940e5c31af7Sopenharmony_ci %1746 = OpPhi %37 %954 %165 %1691 %178 941e5c31af7Sopenharmony_ci OpSelectionMerge %782 None 942e5c31af7Sopenharmony_ci OpBranchConditional %1746 %156 %782 943e5c31af7Sopenharmony_ci %782 = OpLabel 944e5c31af7Sopenharmony_ci OpBranch %157 945e5c31af7Sopenharmony_ci %157 = OpLabel 946e5c31af7Sopenharmony_ci %634 = OpIAdd %6 %832 %471 947e5c31af7Sopenharmony_ci %636 = OpIAdd %6 %1801 %471 948e5c31af7Sopenharmony_ci %638 = OpIAdd %6 %1802 %471 949e5c31af7Sopenharmony_ci OpBranch %154 950e5c31af7Sopenharmony_ci %156 = OpLabel 951e5c31af7Sopenharmony_ci %1861 = OpPhi %6 %915 %154 %1802 %167 952e5c31af7Sopenharmony_ci %1860 = OpPhi %6 %833 %154 %1801 %167 953e5c31af7Sopenharmony_ci %1803 = OpPhi %37 %955 %154 %1746 %167 954e5c31af7Sopenharmony_ci OpSelectionMerge %784 None 955e5c31af7Sopenharmony_ci OpBranchConditional %1803 %145 %784 956e5c31af7Sopenharmony_ci %784 = OpLabel 957e5c31af7Sopenharmony_ci OpBranch %146 958e5c31af7Sopenharmony_ci %146 = OpLabel 959e5c31af7Sopenharmony_ci %640 = OpIAdd %6 %830 %471 960e5c31af7Sopenharmony_ci %642 = OpIAdd %6 %1860 %471 961e5c31af7Sopenharmony_ci %644 = OpIAdd %6 %1861 %471 962e5c31af7Sopenharmony_ci OpBranch %143 963e5c31af7Sopenharmony_ci %145 = OpLabel 964e5c31af7Sopenharmony_ci %1922 = OpPhi %6 %916 %143 %1861 %156 965e5c31af7Sopenharmony_ci %1921 = OpPhi %6 %831 %143 %1860 %156 966e5c31af7Sopenharmony_ci %1862 = OpPhi %37 %956 %143 %1803 %156 967e5c31af7Sopenharmony_ci OpSelectionMerge %786 None 968e5c31af7Sopenharmony_ci OpBranchConditional %1862 %134 %786 969e5c31af7Sopenharmony_ci %786 = OpLabel 970e5c31af7Sopenharmony_ci OpBranch %135 971e5c31af7Sopenharmony_ci %135 = OpLabel 972e5c31af7Sopenharmony_ci %646 = OpIAdd %6 %828 %471 973e5c31af7Sopenharmony_ci %648 = OpIAdd %6 %1921 %471 974e5c31af7Sopenharmony_ci %650 = OpIAdd %6 %1922 %471 975e5c31af7Sopenharmony_ci OpBranch %132 976e5c31af7Sopenharmony_ci %134 = OpLabel 977e5c31af7Sopenharmony_ci %1985 = OpPhi %6 %917 %132 %1922 %145 978e5c31af7Sopenharmony_ci %1984 = OpPhi %6 %829 %132 %1921 %145 979e5c31af7Sopenharmony_ci %1923 = OpPhi %37 %957 %132 %1862 %145 980e5c31af7Sopenharmony_ci OpSelectionMerge %788 None 981e5c31af7Sopenharmony_ci OpBranchConditional %1923 %123 %788 982e5c31af7Sopenharmony_ci %788 = OpLabel 983e5c31af7Sopenharmony_ci OpBranch %124 984e5c31af7Sopenharmony_ci %124 = OpLabel 985e5c31af7Sopenharmony_ci %652 = OpIAdd %6 %826 %471 986e5c31af7Sopenharmony_ci %654 = OpIAdd %6 %1984 %471 987e5c31af7Sopenharmony_ci %656 = OpIAdd %6 %1985 %471 988e5c31af7Sopenharmony_ci OpBranch %121 989e5c31af7Sopenharmony_ci %123 = OpLabel 990e5c31af7Sopenharmony_ci %2050 = OpPhi %6 %918 %121 %1985 %134 991e5c31af7Sopenharmony_ci %2049 = OpPhi %6 %827 %121 %1984 %134 992e5c31af7Sopenharmony_ci %1986 = OpPhi %37 %958 %121 %1923 %134 993e5c31af7Sopenharmony_ci OpSelectionMerge %790 None 994e5c31af7Sopenharmony_ci OpBranchConditional %1986 %112 %790 995e5c31af7Sopenharmony_ci %790 = OpLabel 996e5c31af7Sopenharmony_ci OpBranch %113 997e5c31af7Sopenharmony_ci %113 = OpLabel 998e5c31af7Sopenharmony_ci %658 = OpIAdd %6 %824 %471 999e5c31af7Sopenharmony_ci %660 = OpIAdd %6 %2049 %471 1000e5c31af7Sopenharmony_ci %662 = OpIAdd %6 %2050 %471 1001e5c31af7Sopenharmony_ci OpBranch %110 1002e5c31af7Sopenharmony_ci %112 = OpLabel 1003e5c31af7Sopenharmony_ci %2117 = OpPhi %6 %919 %110 %2050 %123 1004e5c31af7Sopenharmony_ci %2116 = OpPhi %6 %825 %110 %2049 %123 1005e5c31af7Sopenharmony_ci %2051 = OpPhi %37 %959 %110 %1986 %123 1006e5c31af7Sopenharmony_ci OpSelectionMerge %792 None 1007e5c31af7Sopenharmony_ci OpBranchConditional %2051 %101 %792 1008e5c31af7Sopenharmony_ci %792 = OpLabel 1009e5c31af7Sopenharmony_ci OpBranch %102 1010e5c31af7Sopenharmony_ci %102 = OpLabel 1011e5c31af7Sopenharmony_ci %664 = OpIAdd %6 %822 %471 1012e5c31af7Sopenharmony_ci %666 = OpIAdd %6 %2116 %471 1013e5c31af7Sopenharmony_ci %668 = OpIAdd %6 %2117 %471 1014e5c31af7Sopenharmony_ci OpBranch %99 1015e5c31af7Sopenharmony_ci %101 = OpLabel 1016e5c31af7Sopenharmony_ci %2186 = OpPhi %6 %920 %99 %2117 %112 1017e5c31af7Sopenharmony_ci %2185 = OpPhi %6 %823 %99 %2116 %112 1018e5c31af7Sopenharmony_ci %2118 = OpPhi %37 %960 %99 %2051 %112 1019e5c31af7Sopenharmony_ci OpSelectionMerge %794 None 1020e5c31af7Sopenharmony_ci OpBranchConditional %2118 %90 %794 1021e5c31af7Sopenharmony_ci %794 = OpLabel 1022e5c31af7Sopenharmony_ci OpBranch %91 1023e5c31af7Sopenharmony_ci %91 = OpLabel 1024e5c31af7Sopenharmony_ci %670 = OpIAdd %6 %820 %471 1025e5c31af7Sopenharmony_ci %672 = OpIAdd %6 %2185 %471 1026e5c31af7Sopenharmony_ci %674 = OpIAdd %6 %2186 %471 1027e5c31af7Sopenharmony_ci OpBranch %88 1028e5c31af7Sopenharmony_ci %90 = OpLabel 1029e5c31af7Sopenharmony_ci %2257 = OpPhi %6 %921 %88 %2186 %101 1030e5c31af7Sopenharmony_ci %2256 = OpPhi %6 %821 %88 %2185 %101 1031e5c31af7Sopenharmony_ci %2187 = OpPhi %37 %961 %88 %2118 %101 1032e5c31af7Sopenharmony_ci OpSelectionMerge %796 None 1033e5c31af7Sopenharmony_ci OpBranchConditional %2187 %79 %796 1034e5c31af7Sopenharmony_ci %796 = OpLabel 1035e5c31af7Sopenharmony_ci OpBranch %80 1036e5c31af7Sopenharmony_ci %80 = OpLabel 1037e5c31af7Sopenharmony_ci %676 = OpIAdd %6 %818 %471 1038e5c31af7Sopenharmony_ci %678 = OpIAdd %6 %2256 %471 1039e5c31af7Sopenharmony_ci %680 = OpIAdd %6 %2257 %471 1040e5c31af7Sopenharmony_ci OpBranch %77 1041e5c31af7Sopenharmony_ci %79 = OpLabel 1042e5c31af7Sopenharmony_ci %2330 = OpPhi %6 %922 %77 %2257 %90 1043e5c31af7Sopenharmony_ci %2329 = OpPhi %6 %819 %77 %2256 %90 1044e5c31af7Sopenharmony_ci %2258 = OpPhi %37 %962 %77 %2187 %90 1045e5c31af7Sopenharmony_ci OpSelectionMerge %798 None 1046e5c31af7Sopenharmony_ci OpBranchConditional %2258 %68 %798 1047e5c31af7Sopenharmony_ci %798 = OpLabel 1048e5c31af7Sopenharmony_ci OpBranch %69 1049e5c31af7Sopenharmony_ci %69 = OpLabel 1050e5c31af7Sopenharmony_ci %682 = OpIAdd %6 %816 %471 1051e5c31af7Sopenharmony_ci %684 = OpIAdd %6 %2329 %471 1052e5c31af7Sopenharmony_ci %686 = OpIAdd %6 %2330 %471 1053e5c31af7Sopenharmony_ci OpBranch %66 1054e5c31af7Sopenharmony_ci %68 = OpLabel 1055e5c31af7Sopenharmony_ci %2405 = OpPhi %6 %923 %66 %2330 %79 1056e5c31af7Sopenharmony_ci %2404 = OpPhi %6 %817 %66 %2329 %79 1057e5c31af7Sopenharmony_ci %2331 = OpPhi %37 %963 %66 %2258 %79 1058e5c31af7Sopenharmony_ci OpSelectionMerge %800 None 1059e5c31af7Sopenharmony_ci OpBranchConditional %2331 %57 %800 1060e5c31af7Sopenharmony_ci %800 = OpLabel 1061e5c31af7Sopenharmony_ci OpBranch %58 1062e5c31af7Sopenharmony_ci %58 = OpLabel 1063e5c31af7Sopenharmony_ci %688 = OpIAdd %6 %814 %471 1064e5c31af7Sopenharmony_ci %690 = OpIAdd %6 %2404 %471 1065e5c31af7Sopenharmony_ci %692 = OpIAdd %6 %2405 %471 1066e5c31af7Sopenharmony_ci OpBranch %55 1067e5c31af7Sopenharmony_ci %57 = OpLabel 1068e5c31af7Sopenharmony_ci %2482 = OpPhi %6 %924 %55 %2405 %68 1069e5c31af7Sopenharmony_ci %2481 = OpPhi %6 %815 %55 %2404 %68 1070e5c31af7Sopenharmony_ci %2406 = OpPhi %37 %964 %55 %2331 %68 1071e5c31af7Sopenharmony_ci OpSelectionMerge %802 None 1072e5c31af7Sopenharmony_ci OpBranchConditional %2406 %46 %802 1073e5c31af7Sopenharmony_ci %802 = OpLabel 1074e5c31af7Sopenharmony_ci OpBranch %47 1075e5c31af7Sopenharmony_ci %47 = OpLabel 1076e5c31af7Sopenharmony_ci %694 = OpIAdd %6 %812 %471 1077e5c31af7Sopenharmony_ci %696 = OpIAdd %6 %2481 %471 1078e5c31af7Sopenharmony_ci %698 = OpIAdd %6 %2482 %471 1079e5c31af7Sopenharmony_ci OpBranch %44 1080e5c31af7Sopenharmony_ci %46 = OpLabel 1081e5c31af7Sopenharmony_ci %2561 = OpPhi %6 %925 %44 %2482 %57 1082e5c31af7Sopenharmony_ci %2560 = OpPhi %6 %813 %44 %2481 %57 1083e5c31af7Sopenharmony_ci %2483 = OpPhi %37 %965 %44 %2406 %57 1084e5c31af7Sopenharmony_ci OpSelectionMerge %804 None 1085e5c31af7Sopenharmony_ci OpBranchConditional %2483 %32 %804 1086e5c31af7Sopenharmony_ci %804 = OpLabel 1087e5c31af7Sopenharmony_ci OpBranch %33 1088e5c31af7Sopenharmony_ci %33 = OpLabel 1089e5c31af7Sopenharmony_ci %700 = OpIAdd %6 %810 %471 1090e5c31af7Sopenharmony_ci %702 = OpIAdd %6 %2560 %471 1091e5c31af7Sopenharmony_ci %704 = OpIAdd %6 %2561 %471 1092e5c31af7Sopenharmony_ci OpBranch %30 1093e5c31af7Sopenharmony_ci %32 = OpLabel 1094e5c31af7Sopenharmony_ci %2563 = OpPhi %6 %926 %30 %2561 %46 1095e5c31af7Sopenharmony_ci %2562 = OpPhi %37 %966 %30 %2483 %46 1096e5c31af7Sopenharmony_ci OpSelectionMerge %806 None 1097e5c31af7Sopenharmony_ci OpBranchConditional %2562 %724 %806 1098e5c31af7Sopenharmony_ci %806 = OpLabel 1099e5c31af7Sopenharmony_ci %708 = OpDPdx %10 %24 1100e5c31af7Sopenharmony_ci %712 = OpDPdy %10 %25 1101e5c31af7Sopenharmony_ci %713 = OpFSub %10 %708 %712 1102e5c31af7Sopenharmony_ci %714 = OpFOrdEqual %37 %713 %22 1103e5c31af7Sopenharmony_ci %717 = OpIEqual %37 %2563 %716 1104e5c31af7Sopenharmony_ci %718 = OpLogicalAnd %37 %714 %717 1105e5c31af7Sopenharmony_ci OpSelectionMerge %720 None 1106e5c31af7Sopenharmony_ci OpBranchConditional %718 %719 %722 1107e5c31af7Sopenharmony_ci %719 = OpLabel 1108e5c31af7Sopenharmony_ci OpStore %20 %721 1109e5c31af7Sopenharmony_ci OpBranch %720 1110e5c31af7Sopenharmony_ci %722 = OpLabel 1111e5c31af7Sopenharmony_ci OpStore %20 %723 1112e5c31af7Sopenharmony_ci OpBranch %720 1113e5c31af7Sopenharmony_ci %720 = OpLabel 1114e5c31af7Sopenharmony_ci OpBranch %724 1115e5c31af7Sopenharmony_ci %724 = OpLabel 1116e5c31af7Sopenharmony_ci OpReturn 1117e5c31af7Sopenharmony_ci OpFunctionEnd 1118e5c31af7Sopenharmony_ciEND 1119e5c31af7Sopenharmony_ci 1120e5c31af7Sopenharmony_ci# uniforms for variant 1121e5c31af7Sopenharmony_ci 1122e5c31af7Sopenharmony_ci 1123e5c31af7Sopenharmony_ciBUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM 1124e5c31af7Sopenharmony_ci 1125e5c31af7Sopenharmony_ciPIPELINE graphics variant_pipeline 1126e5c31af7Sopenharmony_ci ATTACH variant_vertex_shader 1127e5c31af7Sopenharmony_ci ATTACH variant_fragment_shader 1128e5c31af7Sopenharmony_ci FRAMEBUFFER_SIZE 16 16 1129e5c31af7Sopenharmony_ci BIND BUFFER variant_framebuffer AS color LOCATION 0 1130e5c31af7Sopenharmony_ciEND 1131e5c31af7Sopenharmony_ciCLEAR_COLOR variant_pipeline 0 0 0 255 1132e5c31af7Sopenharmony_ci 1133e5c31af7Sopenharmony_ciCLEAR variant_pipeline 1134e5c31af7Sopenharmony_ciRUN variant_pipeline DRAW_RECT POS 0 0 SIZE 16 16 1135e5c31af7Sopenharmony_ci 1136e5c31af7Sopenharmony_ciEXPECT variant_framebuffer IDX 0 0 SIZE 16 16 EQ_RGBA 255 0 0 255 1137