transform/spirv: Use InlinePointerLets & Simplify
arrayLength() will take a pointer to a storage buffer array.
This pointer may pass through function scoped let statements.
To make this intrinsic easier to generate, inline the pointer lets and
remove chains of &*&*.
Bug: tint:806
Change-Id: Ib2c79a9c38cba7391cbb4313986af9a72b0f0435
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54060
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
diff --git a/src/transform/spirv.cc b/src/transform/spirv.cc
index 616eec6..47ad94f 100644
--- a/src/transform/spirv.cc
+++ b/src/transform/spirv.cc
@@ -27,7 +27,9 @@
#include "src/sem/struct.h"
#include "src/sem/variable.h"
#include "src/transform/external_texture_transform.h"
+#include "src/transform/inline_pointer_lets.h"
#include "src/transform/manager.h"
+#include "src/transform/simplify.h"
#include "src/transform/var_for_dynamic_index.h"
TINT_INSTANTIATE_TYPEINFO(tint::transform::Spirv::Config);
@@ -40,6 +42,8 @@
Output Spirv::Run(const Program* in, const DataMap& data) {
Manager manager;
+ manager.Add<InlinePointerLets>(); // Required for arrayLength()
+ manager.Add<Simplify>(); // Required for arrayLength()
manager.Add<ExternalTextureTransform>();
manager.Add<VarForDynamicIndex>();
auto transformedInput = manager.Run(in, data);
diff --git a/test/array/assign_to_subexpr.wgsl.expected.spvasm b/test/array/assign_to_subexpr.wgsl.expected.spvasm
index 7c4cd74..d234c75 100644
--- a/test/array/assign_to_subexpr.wgsl.expected.spvasm
+++ b/test/array/assign_to_subexpr.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 36
+; Bound: 30
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -44,14 +44,14 @@
%dst = OpVariable %_ptr_Function__arr_int_uint_4 Function %11
%dst_struct = OpVariable %_ptr_Function_S Function %17
%dst_array = OpVariable %_ptr_Function__arr__arr_int_uint_4_uint_2 Function %22
+ %24 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_struct %uint_0
+ OpStore %24 %11
+ %26 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_array %int_1
+ OpStore %26 %11
+ OpStore %dst %11
%27 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_struct %uint_0
OpStore %27 %11
- %29 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_array %int_1
+ %29 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_array %int_0
OpStore %29 %11
- OpStore %dst %11
- %32 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_struct %uint_0
- OpStore %32 %11
- %35 = OpAccessChain %_ptr_Function__arr_int_uint_4 %dst_array %int_0
- OpStore %35 %11
OpReturn
OpFunctionEnd
diff --git a/test/bug/tint/221.wgsl.expected.spvasm b/test/bug/tint/221.wgsl.expected.spvasm
index 993823b..955f7d0 100644
--- a/test/bug/tint/221.wgsl.expected.spvasm
+++ b/test/bug/tint/221.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 44
+; Bound: 42
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -32,8 +32,8 @@
%14 = OpConstantNull %uint
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%bool = OpTypeBool
- %uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
+ %uint_1 = OpConstant %uint 1
%main = OpFunction %void None %7
%10 = OpLabel
%i = OpVariable %_ptr_Function_uint Function %14
@@ -52,25 +52,27 @@
%26 = OpLabel
OpBranch %16
%25 = OpLabel
- %29 = OpLoad %uint %i
- %30 = OpAccessChain %_ptr_StorageBuffer_uint %b %uint_1 %29
- %31 = OpLoad %uint %i
- %33 = OpUMod %uint %31 %uint_2
- %34 = OpIEqual %bool %33 %uint_0
- OpSelectionMerge %35 None
- OpBranchConditional %34 %36 %35
- %36 = OpLabel
+ %27 = OpLoad %uint %i
+ %28 = OpLoad %uint %i
+ %30 = OpUMod %uint %28 %uint_2
+ %31 = OpIEqual %bool %30 %uint_0
+ OpSelectionMerge %32 None
+ OpBranchConditional %31 %33 %32
+ %33 = OpLabel
OpBranch %17
- %35 = OpLabel
- OpStore %30 %uint_0
+ %32 = OpLabel
+ %35 = OpAccessChain %_ptr_StorageBuffer_uint %b %uint_1 %27
+ OpStore %35 %uint_0
OpBranch %17
%17 = OpLabel
- %40 = OpLoad %uint %30
- %41 = OpIMul %uint %40 %uint_2
- OpStore %30 %41
- %42 = OpLoad %uint %i
- %43 = OpIAdd %uint %42 %uint_1
- OpStore %i %43
+ %36 = OpAccessChain %_ptr_StorageBuffer_uint %b %uint_1 %27
+ %37 = OpAccessChain %_ptr_StorageBuffer_uint %b %uint_1 %27
+ %38 = OpLoad %uint %37
+ %39 = OpIMul %uint %38 %uint_2
+ OpStore %36 %39
+ %40 = OpLoad %uint %i
+ %41 = OpIAdd %uint %40 %uint_1
+ OpStore %i %41
OpBranch %15
%16 = OpLabel
OpReturn
diff --git a/test/bug/tint/492.wgsl.expected.spvasm b/test/bug/tint/492.wgsl.expected.spvasm
index 4d971ac..0c5be19 100644
--- a/test/bug/tint/492.wgsl.expected.spvasm
+++ b/test/bug/tint/492.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 16
+; Bound: 14
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -27,7 +27,7 @@
%int_12 = OpConstant %int 12
%main = OpFunction %void None %5
%8 = OpLabel
- %13 = OpAccessChain %_ptr_StorageBuffer_int %buf %uint_0
- OpStore %13 %int_12
+ %12 = OpAccessChain %_ptr_StorageBuffer_int %buf %uint_0
+ OpStore %12 %int_12
OpReturn
OpFunctionEnd
diff --git a/test/bug/tint/749.spvasm.expected.spvasm b/test/bug/tint/749.spvasm.expected.spvasm
index 73fb94d..60219a5 100644
--- a/test/bug/tint/749.spvasm.expected.spvasm
+++ b/test/bug/tint/749.spvasm.expected.spvasm
@@ -1,10 +1,10 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 1887
+; Bound: 1817
; Schema: 0
OpCapability Shader
- %1759 = OpExtInstImport "GLSL.std.450"
+ %1691 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord %x_GLF_color
OpExecutionMode %main OriginUpperLeft
@@ -84,27 +84,27 @@
%35 = OpConstantComposite %v3float %float_1 %float_2 %float_3
%uint_0 = OpConstant %uint 0
%_ptr_Private_int = OpTypePointer Private %int
- %103 = OpConstantComposite %_arr_int_uint_10 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0
- %104 = OpConstantComposite %QuicksortObject %103
- %157 = OpTypeFunction %int %_ptr_Function_int %_ptr_Function_int
+ %99 = OpConstantComposite %_arr_int_uint_10 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0
+ %100 = OpConstantComposite %QuicksortObject %99
+ %151 = OpTypeFunction %int %_ptr_Function_int %_ptr_Function_int
%_ptr_Function_v2float = OpTypePointer Function %v2float
- %171 = OpConstantNull %v2float
+ %165 = OpConstantNull %v2float
%_ptr_Function_v3float = OpTypePointer Function %v3float
- %174 = OpConstantNull %v3float
+ %168 = OpConstantNull %v3float
%uint_1 = OpConstant %uint 1
%int_10 = OpConstant %int 10
%_ptr_Function_float = OpTypePointer Function %float
%bool = OpTypeBool
%int_1 = OpConstant %int 1
- %426 = OpTypeFunction %void
+ %416 = OpTypeFunction %void
%_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10
- %436 = OpConstantNull %_arr_int_uint_10
+ %426 = OpConstantNull %_arr_int_uint_10
%int_9 = OpConstant %int 9
%int_n1 = OpConstant %int -1
%float_0 = OpConstant %float 0
- %897 = OpConstantComposite %v2float %float_0 %float_0
+ %873 = OpConstantComposite %v2float %float_0 %float_0
%true = OpConstantTrue %bool
- %909 = OpConstantComposite %v3float %float_0 %float_0 %float_0
+ %885 = OpConstantComposite %v3float %float_0 %float_0 %float_0
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
%float_0_25 = OpConstant %float 0.25
%float_0_5 = OpConstant %float 0.5
@@ -143,103 +143,121 @@
%54 = OpLoad %int %temp
OpStore %temp %int_0
OpStore %temp %54
- %58 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
- %60 = OpLoad %int %58
- OpStore %58 %int_0
- OpStore %58 %60
- %64 = OpLoad %int %58
- %65 = OpLoad %int %temp
+ %57 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ %58 = OpLoad %int %57
+ %59 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ OpStore %59 %int_0
+ %60 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ OpStore %60 %58
+ %61 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ %62 = OpLoad %int %61
+ %63 = OpLoad %int %temp
OpStore %temp %int_0
- OpStore %temp %65
- OpStore %temp %64
- %67 = OpLoad %int %j
+ OpStore %temp %63
+ OpStore %temp %62
+ %65 = OpLoad %int %j
OpStore %j %int_0
- OpStore %j %67
- %70 = OpCompositeExtract %float %39 2
- %71 = OpCompositeExtract %float %35 0
- %72 = OpCompositeExtract %float %39 1
- %73 = OpCompositeConstruct %v3float %70 %71 %72
- %75 = OpLoad %int %i
+ OpStore %j %65
+ %68 = OpCompositeExtract %float %39 2
+ %69 = OpCompositeExtract %float %35 0
+ %70 = OpCompositeExtract %float %39 1
+ %71 = OpCompositeConstruct %v3float %68 %69 %70
+ %73 = OpLoad %int %i
OpStore %i %int_0
- OpStore %i %75
- %79 = OpLoad %int %i
- %81 = OpLoad %int %58
- OpStore %58 %int_0
- OpStore %58 %81
- %85 = OpLoad %int %j
- %87 = OpLoad %int %i
+ OpStore %i %73
+ %77 = OpLoad %int %i
+ %78 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ %79 = OpLoad %int %78
+ %80 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ OpStore %80 %int_0
+ %81 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ OpStore %81 %79
+ %83 = OpLoad %int %j
+ %85 = OpLoad %int %i
OpStore %i %int_0
- OpStore %i %87
- %90 = OpCompositeExtract %float %73 0
- %91 = OpCompositeExtract %float %73 2
- %92 = OpCompositeExtract %float %73 2
- %93 = OpCompositeConstruct %v3float %90 %91 %92
- %95 = OpLoad %int %58
- OpStore %58 %int_0
- OpStore %58 %95
- %99 = OpAccessChain %_ptr_Private_int %obj %uint_0 %85
- %101 = OpLoad %int %99
- %102 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %102
- %105 = OpCompositeExtract %float %93 0
- %106 = OpCompositeExtract %float %93 0
- %107 = OpCompositeConstruct %v2float %105 %106
- %109 = OpAccessChain %_ptr_Private_int %obj %uint_0 %79
- %110 = OpCompositeExtract %float %53 0
- %111 = OpCompositeExtract %float %53 2
- %112 = OpCompositeExtract %float %53 0
+ OpStore %i %85
+ %88 = OpCompositeExtract %float %71 0
+ %89 = OpCompositeExtract %float %71 2
+ %90 = OpCompositeExtract %float %71 2
+ %91 = OpCompositeConstruct %v3float %88 %89 %90
+ %92 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ %93 = OpLoad %int %92
+ %94 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ OpStore %94 %int_0
+ %95 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45
+ OpStore %95 %93
+ %96 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ %97 = OpLoad %int %96
+ %98 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %98
+ %101 = OpCompositeExtract %float %91 0
+ %102 = OpCompositeExtract %float %91 0
+ %103 = OpCompositeConstruct %v2float %101 %102
+ %104 = OpCompositeExtract %float %53 0
+ %105 = OpCompositeExtract %float %53 2
+ %106 = OpCompositeExtract %float %53 0
+ %107 = OpCompositeConstruct %v3float %104 %105 %106
+ %108 = OpAccessChain %_ptr_Private_int %obj %uint_0 %77
+ OpStore %108 %97
+ %109 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %109
+ %110 = OpCompositeExtract %float %91 1
+ %111 = OpCompositeExtract %float %91 2
+ %112 = OpCompositeExtract %float %91 0
%113 = OpCompositeConstruct %v3float %110 %111 %112
- OpStore %109 %101
- %115 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %115
- %116 = OpCompositeExtract %float %93 1
- %117 = OpCompositeExtract %float %93 2
- %118 = OpCompositeExtract %float %93 0
- %119 = OpCompositeConstruct %v3float %116 %117 %118
- %121 = OpLoad %int %i
+ %115 = OpLoad %int %i
OpStore %i %int_0
- OpStore %i %121
- %125 = OpLoad %int %j
- %126 = OpLoad %int %temp
+ OpStore %i %115
+ %119 = OpLoad %int %j
+ %120 = OpLoad %int %temp
OpStore %temp %int_0
- OpStore %temp %126
- %127 = OpCompositeExtract %float %119 2
- %128 = OpCompositeExtract %float %119 1
- %129 = OpCompositeConstruct %v2float %127 %128
- %131 = OpLoad %int %99
- OpStore %99 %int_0
- OpStore %99 %131
- %134 = OpLoad %int %temp
- %136 = OpLoad %int %j
+ OpStore %temp %120
+ %121 = OpCompositeExtract %float %113 2
+ %122 = OpCompositeExtract %float %113 1
+ %123 = OpCompositeConstruct %v2float %121 %122
+ %124 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ %125 = OpLoad %int %124
+ %126 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ OpStore %126 %int_0
+ %127 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ OpStore %127 %125
+ %128 = OpLoad %int %temp
+ %130 = OpLoad %int %j
OpStore %j %int_0
- OpStore %j %136
- %139 = OpCompositeExtract %float %107 0
- %140 = OpCompositeExtract %float %93 1
- %141 = OpCompositeExtract %float %93 0
- %142 = OpCompositeConstruct %v3float %139 %140 %141
- %144 = OpLoad %int %109
- OpStore %109 %int_0
- OpStore %109 %144
- %147 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %147
- %148 = OpCompositeExtract %float %113 0
- %149 = OpCompositeExtract %float %113 1
- %150 = OpCompositeExtract %float %113 0
- %151 = OpCompositeConstruct %v3float %148 %149 %150
- %153 = OpLoad %int %99
- OpStore %99 %int_0
- OpStore %99 %153
- %156 = OpAccessChain %_ptr_Private_int %obj %uint_0 %125
- OpStore %156 %134
+ OpStore %j %130
+ %133 = OpCompositeExtract %float %103 0
+ %134 = OpCompositeExtract %float %91 1
+ %135 = OpCompositeExtract %float %91 0
+ %136 = OpCompositeConstruct %v3float %133 %134 %135
+ %137 = OpAccessChain %_ptr_Private_int %obj %uint_0 %77
+ %138 = OpLoad %int %137
+ %139 = OpAccessChain %_ptr_Private_int %obj %uint_0 %77
+ OpStore %139 %int_0
+ %140 = OpAccessChain %_ptr_Private_int %obj %uint_0 %77
+ OpStore %140 %138
+ %141 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %141
+ %142 = OpCompositeExtract %float %107 0
+ %143 = OpCompositeExtract %float %107 1
+ %144 = OpCompositeExtract %float %107 0
+ %145 = OpCompositeConstruct %v3float %142 %143 %144
+ %146 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ %147 = OpLoad %int %146
+ %148 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ OpStore %148 %int_0
+ %149 = OpAccessChain %_ptr_Private_int %obj %uint_0 %83
+ OpStore %149 %147
+ %150 = OpAccessChain %_ptr_Private_int %obj %uint_0 %119
+ OpStore %150 %128
OpReturn
OpFunctionEnd
-%performPartition_i1_i1_ = OpFunction %int None %157
+%performPartition_i1_i1_ = OpFunction %int None %151
%l = OpFunctionParameter %_ptr_Function_int
%h = OpFunctionParameter %_ptr_Function_int
- %161 = OpLabel
+ %155 = OpLabel
%param_3 = OpVariable %_ptr_Function_int Function %28
%i_1 = OpVariable %_ptr_Function_int Function %28
%j_1 = OpVariable %_ptr_Function_int Function %28
@@ -247,1884 +265,2349 @@
%param_1 = OpVariable %_ptr_Function_int Function %28
%param = OpVariable %_ptr_Function_int Function %28
%pivot = OpVariable %_ptr_Function_int Function %28
- %x_537 = OpVariable %_ptr_Function_v2float Function %171
- %x_538 = OpVariable %_ptr_Function_v3float Function %174
- %176 = OpLoad %int %h
+ %x_537 = OpVariable %_ptr_Function_v2float Function %165
+ %x_538 = OpVariable %_ptr_Function_v3float Function %168
+ %170 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %176
- %180 = OpLoad %int %h
- %182 = OpLoad %int %l
+ OpStore %h %170
+ %174 = OpLoad %int %h
+ %176 = OpLoad %int %l
OpStore %l %int_0
- OpStore %l %182
- %186 = OpAccessChain %_ptr_Private_int %obj %uint_0 %180
- %188 = OpLoad %int %186
- OpStore %186 %int_0
- OpStore %186 %188
- %192 = OpLoad %int %186
- %193 = OpLoad %int %param_3
+ OpStore %l %176
+ %179 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ %180 = OpLoad %int %179
+ %181 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ OpStore %181 %int_0
+ %182 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ OpStore %182 %180
+ %183 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ %184 = OpLoad %int %183
+ %185 = OpLoad %int %param_3
OpStore %param_3 %int_0
- OpStore %param_3 %193
- %194 = OpCompositeExtract %float %35 2
- %195 = OpCompositeExtract %float %35 0
- %196 = OpCompositeExtract %float %35 2
- %197 = OpCompositeConstruct %v3float %194 %195 %196
- %198 = OpLoad %int %param_1
+ OpStore %param_3 %185
+ %186 = OpCompositeExtract %float %35 2
+ %187 = OpCompositeExtract %float %35 0
+ %188 = OpCompositeExtract %float %35 2
+ %189 = OpCompositeConstruct %v3float %186 %187 %188
+ %190 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %198
- OpStore %pivot %192
- %200 = OpLoad %int %l
- %202 = OpLoad %int %h
+ OpStore %param_1 %190
+ OpStore %pivot %184
+ %192 = OpLoad %int %l
+ %194 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %202
- %205 = OpLoad %int %j_1
+ OpStore %h %194
+ %197 = OpLoad %int %j_1
OpStore %j_1 %int_0
- OpStore %j_1 %205
- %206 = OpCompositeExtract %float %197 1
- %207 = OpCompositeExtract %float %197 2
- %208 = OpCompositeExtract %float %197 1
- %209 = OpCompositeConstruct %v3float %206 %207 %208
- %211 = OpLoad %int %l
+ OpStore %j_1 %197
+ %198 = OpCompositeExtract %float %189 1
+ %199 = OpCompositeExtract %float %189 2
+ %200 = OpCompositeExtract %float %189 1
+ %201 = OpCompositeConstruct %v3float %198 %199 %200
+ %203 = OpLoad %int %l
OpStore %l %int_0
- OpStore %l %211
- %214 = OpBitcast %int %uint_1
- %216 = OpISub %int %200 %214
- OpStore %i_1 %216
- %218 = OpLoad %int %l
- %219 = OpCompositeExtract %float %197 0
- %220 = OpCompositeExtract %float %197 2
- %221 = OpCompositeExtract %float %209 0
- %222 = OpCompositeConstruct %v3float %219 %220 %221
+ OpStore %l %203
+ %206 = OpBitcast %int %uint_1
+ %208 = OpISub %int %192 %206
+ OpStore %i_1 %208
+ %210 = OpLoad %int %l
+ %211 = OpCompositeExtract %float %189 0
+ %212 = OpCompositeExtract %float %189 2
+ %213 = OpCompositeExtract %float %201 0
+ %214 = OpCompositeConstruct %v3float %211 %212 %213
OpStore %j_1 %int_10
- %224 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %224
- OpBranch %225
- %225 = OpLabel
- OpLoopMerge %226 %227 None
- OpBranch %228
- %228 = OpLabel
- %229 = OpLoad %int %pivot
+ %216 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %216
+ OpBranch %217
+ %217 = OpLabel
+ OpLoopMerge %218 %219 None
+ OpBranch %220
+ %220 = OpLabel
+ %221 = OpLoad %int %pivot
OpStore %pivot %int_0
- OpStore %pivot %229
- %230 = OpLoad %int %param_1
+ OpStore %pivot %221
+ %222 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %230
- %231 = OpLoad %int %j_1
- %232 = OpLoad %int %pivot
+ OpStore %param_1 %222
+ %223 = OpLoad %int %j_1
+ %224 = OpLoad %int %pivot
OpStore %pivot %int_0
- OpStore %pivot %232
- %233 = OpCompositeExtract %float %35 1
- %234 = OpCompositeExtract %float %35 2
- %235 = OpCompositeConstruct %v2float %233 %234
- OpStore %x_537 %235
- %236 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %236
- %238 = OpLoad %int %h
- %240 = OpLoad %int %h
+ OpStore %pivot %224
+ %225 = OpCompositeExtract %float %35 1
+ %226 = OpCompositeExtract %float %35 2
+ %227 = OpCompositeConstruct %v2float %225 %226
+ OpStore %x_537 %227
+ %228 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %228
+ %230 = OpLoad %int %h
+ %232 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %240
+ OpStore %h %232
+ %235 = OpLoad %int %param
+ OpStore %param %int_0
+ OpStore %param %235
+ %236 = OpLoad %int %j_1
+ OpStore %j_1 %int_0
+ OpStore %j_1 %236
+ %237 = OpCompositeExtract %float %189 0
+ %239 = OpAccessChain %_ptr_Function_float %x_537 %uint_1
+ %240 = OpLoad %float %239
+ %241 = OpCompositeExtract %float %189 2
+ %242 = OpCompositeConstruct %v3float %237 %240 %241
+ OpStore %x_538 %242
%243 = OpLoad %int %param
OpStore %param %int_0
OpStore %param %243
- %244 = OpLoad %int %j_1
- OpStore %j_1 %int_0
- OpStore %j_1 %244
- %245 = OpCompositeExtract %float %197 0
- %247 = OpAccessChain %_ptr_Function_float %x_537 %uint_1
- %248 = OpLoad %float %247
- %249 = OpCompositeExtract %float %197 2
- %250 = OpCompositeConstruct %v3float %245 %248 %249
- OpStore %x_538 %250
- %251 = OpLoad %int %param
- OpStore %param %int_0
- OpStore %param %251
- %252 = OpBitcast %int %uint_1
- %253 = OpISub %int %238 %252
- %254 = OpSLessThanEqual %bool %231 %253
- OpSelectionMerge %256 None
- OpBranchConditional %254 %257 %258
- %257 = OpLabel
- OpBranch %256
- %258 = OpLabel
- OpBranch %226
- %256 = OpLabel
- %259 = OpLoad %int %j_1
- %261 = OpLoad %int %186
- OpStore %186 %int_0
- OpStore %186 %261
- %265 = OpAccessChain %_ptr_Private_int %obj %uint_0 %259
- %267 = OpLoad %int %h
+ %244 = OpBitcast %int %uint_1
+ %245 = OpISub %int %230 %244
+ %246 = OpSLessThanEqual %bool %223 %245
+ OpSelectionMerge %248 None
+ OpBranchConditional %246 %249 %250
+ %249 = OpLabel
+ OpBranch %248
+ %250 = OpLabel
+ OpBranch %218
+ %248 = OpLabel
+ %251 = OpLoad %int %j_1
+ %252 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ %253 = OpLoad %int %252
+ %254 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ OpStore %254 %int_0
+ %255 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ OpStore %255 %253
+ %257 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %267
- %270 = OpAccessChain %_ptr_Function_float %x_537 %uint_0
- %271 = OpLoad %float %270
- %272 = OpCompositeExtract %float %209 2
- %273 = OpAccessChain %_ptr_Function_float %x_537 %uint_0
- %274 = OpLoad %float %273
- %275 = OpCompositeConstruct %v3float %271 %272 %274
- %276 = OpLoad %int %param_1
+ OpStore %h %257
+ %260 = OpAccessChain %_ptr_Function_float %x_537 %uint_0
+ %261 = OpLoad %float %260
+ %262 = OpCompositeExtract %float %201 2
+ %263 = OpAccessChain %_ptr_Function_float %x_537 %uint_0
+ %264 = OpLoad %float %263
+ %265 = OpCompositeConstruct %v3float %261 %262 %264
+ %266 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %276
- %278 = OpLoad %int %265
- %279 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %279
- %280 = OpLoad %int %pivot
- %281 = OpCompositeExtract %float %35 1
- %282 = OpCompositeExtract %float %197 2
- %283 = OpCompositeConstruct %v2float %281 %282
- %284 = OpLoad %int %i_1
+ OpStore %param_1 %266
+ %267 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ %268 = OpLoad %int %267
+ %269 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %269
+ %270 = OpLoad %int %pivot
+ %271 = OpCompositeExtract %float %35 1
+ %272 = OpCompositeExtract %float %189 2
+ %273 = OpCompositeConstruct %v2float %271 %272
+ %274 = OpLoad %int %i_1
OpStore %i_1 %int_0
- OpStore %i_1 %284
- %286 = OpLoad %int %l
+ OpStore %i_1 %274
+ %276 = OpLoad %int %l
OpStore %l %int_0
- OpStore %l %286
- %289 = OpCompositeExtract %float %197 1
- %290 = OpCompositeExtract %float %197 0
- %291 = OpCompositeExtract %float %197 1
- %292 = OpCompositeConstruct %v3float %289 %290 %291
+ OpStore %l %276
+ %279 = OpCompositeExtract %float %189 1
+ %280 = OpCompositeExtract %float %189 0
+ %281 = OpCompositeExtract %float %189 1
+ %282 = OpCompositeConstruct %v3float %279 %280 %281
+ %283 = OpLoad %int %pivot
+ OpStore %pivot %int_0
+ OpStore %pivot %283
+ %284 = OpSLessThanEqual %bool %268 %270
+ OpSelectionMerge %285 None
+ OpBranchConditional %284 %286 %285
+ %286 = OpLabel
+ %287 = OpCompositeExtract %float %282 2
+ %288 = OpCompositeExtract %float %282 0
+ %289 = OpCompositeExtract %float %282 0
+ %290 = OpCompositeConstruct %v3float %287 %288 %289
+ %291 = OpLoad %int %param_3
+ OpStore %param_3 %int_0
+ OpStore %param_3 %291
+ %292 = OpLoad %int %i_1
%293 = OpLoad %int %pivot
OpStore %pivot %int_0
OpStore %pivot %293
- %294 = OpSLessThanEqual %bool %278 %280
- OpSelectionMerge %295 None
- OpBranchConditional %294 %296 %295
- %296 = OpLabel
- %297 = OpCompositeExtract %float %292 2
- %298 = OpCompositeExtract %float %292 0
- %299 = OpCompositeExtract %float %292 0
- %300 = OpCompositeConstruct %v3float %297 %298 %299
- %301 = OpLoad %int %param_3
- OpStore %param_3 %int_0
- OpStore %param_3 %301
- %302 = OpLoad %int %i_1
- %303 = OpLoad %int %pivot
- OpStore %pivot %int_0
- OpStore %pivot %303
- %304 = OpCompositeExtract %float %275 0
- %305 = OpCompositeExtract %float %292 1
- %306 = OpCompositeConstruct %v2float %304 %305
- %307 = OpLoad %int %i_1
+ %294 = OpCompositeExtract %float %265 0
+ %295 = OpCompositeExtract %float %282 1
+ %296 = OpCompositeConstruct %v2float %294 %295
+ %297 = OpLoad %int %i_1
OpStore %i_1 %int_0
- OpStore %i_1 %307
- %308 = OpLoad %int %param
+ OpStore %i_1 %297
+ %298 = OpLoad %int %param
OpStore %param %int_0
- OpStore %param %308
- %309 = OpBitcast %int %uint_1
- %310 = OpIAdd %int %302 %309
- OpStore %i_1 %310
- %312 = OpLoad %int %l
+ OpStore %param %298
+ %299 = OpBitcast %int %uint_1
+ %300 = OpIAdd %int %292 %299
+ OpStore %i_1 %300
+ %302 = OpLoad %int %l
OpStore %l %int_0
- OpStore %l %312
- %315 = OpCompositeExtract %float %35 2
- %316 = OpCompositeExtract %float %35 1
- %317 = OpCompositeExtract %float %283 0
- %318 = OpCompositeConstruct %v3float %315 %316 %317
- %319 = OpLoad %int %i_1
- %320 = OpAccessChain %_ptr_Function_float %x_537 %uint_1
- %321 = OpLoad %float %320
- %322 = OpAccessChain %_ptr_Function_float %x_538 %uint_0
- %323 = OpLoad %float %322
- %324 = OpCompositeConstruct %v2float %321 %323
- %325 = OpLoad %int %param
+ OpStore %l %302
+ %305 = OpCompositeExtract %float %35 2
+ %306 = OpCompositeExtract %float %35 1
+ %307 = OpCompositeExtract %float %273 0
+ %308 = OpCompositeConstruct %v3float %305 %306 %307
+ %309 = OpLoad %int %i_1
+ %310 = OpAccessChain %_ptr_Function_float %x_537 %uint_1
+ %311 = OpLoad %float %310
+ %312 = OpAccessChain %_ptr_Function_float %x_538 %uint_0
+ %313 = OpLoad %float %312
+ %314 = OpCompositeConstruct %v2float %311 %313
+ %315 = OpLoad %int %param
OpStore %param %int_0
- OpStore %param %325
- OpStore %param %319
- %326 = OpLoad %int %param
+ OpStore %param %315
+ OpStore %param %309
+ %316 = OpLoad %int %param
OpStore %param %int_0
- OpStore %param %326
- %327 = OpCompositeExtract %float %324 0
- %328 = OpCompositeExtract %float %324 0
- %329 = OpCompositeConstruct %v2float %327 %328
- %330 = OpLoad %int %i_1
+ OpStore %param %316
+ %317 = OpCompositeExtract %float %314 0
+ %318 = OpCompositeExtract %float %314 0
+ %319 = OpCompositeConstruct %v2float %317 %318
+ %320 = OpLoad %int %i_1
OpStore %i_1 %int_0
- OpStore %i_1 %330
- %331 = OpLoad %int %j_1
- OpStore %param_1 %331
- %332 = OpLoad %int %param_3
+ OpStore %i_1 %320
+ %321 = OpLoad %int %j_1
+ OpStore %param_1 %321
+ %322 = OpLoad %int %param_3
OpStore %param_3 %int_0
- OpStore %param_3 %332
- %333 = OpFunctionCall %void %swap_i1_i1_ %param %param_1
- %336 = OpLoad %int %param_1
+ OpStore %param_3 %322
+ %323 = OpFunctionCall %void %swap_i1_i1_ %param %param_1
+ %326 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %336
- OpBranch %295
- %295 = OpLabel
- %337 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %337
- OpBranch %227
- %227 = OpLabel
- %339 = OpLoad %int %h
+ OpStore %param_1 %326
+ OpBranch %285
+ %285 = OpLabel
+ %327 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %327
+ OpBranch %219
+ %219 = OpLabel
+ %329 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %339
- %342 = OpLoad %int %j_1
- %344 = OpLoad %int %h
+ OpStore %h %329
+ %332 = OpLoad %int %j_1
+ %334 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %344
- %347 = OpCompositeExtract %float %275 0
- %348 = OpCompositeExtract %float %292 2
- %349 = OpCompositeExtract %float %292 2
- %350 = OpCompositeConstruct %v3float %347 %348 %349
- %352 = OpLoad %int %265
- OpStore %265 %int_0
- OpStore %265 %352
- %355 = OpLoad %int %param
+ OpStore %h %334
+ %337 = OpCompositeExtract %float %265 0
+ %338 = OpCompositeExtract %float %282 2
+ %339 = OpCompositeExtract %float %282 2
+ %340 = OpCompositeConstruct %v3float %337 %338 %339
+ %341 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ %342 = OpLoad %int %341
+ %343 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ OpStore %343 %int_0
+ %344 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ OpStore %344 %342
+ %345 = OpLoad %int %param
OpStore %param %int_0
- OpStore %param %355
- %357 = OpIAdd %int %int_1 %342
- OpStore %j_1 %357
- %358 = OpLoad %int %param_1
+ OpStore %param %345
+ %347 = OpIAdd %int %int_1 %332
+ OpStore %j_1 %347
+ %348 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %358
- %359 = OpCompositeExtract %float %292 1
- %360 = OpCompositeExtract %float %292 2
- %361 = OpCompositeExtract %float %292 0
- %362 = OpCompositeConstruct %v3float %359 %360 %361
- %364 = OpLoad %int %265
- OpStore %265 %int_0
- OpStore %265 %364
- OpBranch %225
- %226 = OpLabel
- %367 = OpLoad %int %i_1
- %369 = OpLoad %int %186
- OpStore %186 %int_0
- OpStore %186 %369
- %372 = OpCompositeExtract %float %197 0
- %373 = OpCompositeExtract %float %197 1
- %374 = OpCompositeConstruct %v2float %372 %373
- %375 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %375
- %377 = OpLoad %int %h
+ OpStore %param_1 %348
+ %349 = OpCompositeExtract %float %282 1
+ %350 = OpCompositeExtract %float %282 2
+ %351 = OpCompositeExtract %float %282 0
+ %352 = OpCompositeConstruct %v3float %349 %350 %351
+ %353 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ %354 = OpLoad %int %353
+ %355 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ OpStore %355 %int_0
+ %356 = OpAccessChain %_ptr_Private_int %obj %uint_0 %251
+ OpStore %356 %354
+ OpBranch %217
+ %218 = OpLabel
+ %357 = OpLoad %int %i_1
+ %358 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ %359 = OpLoad %int %358
+ %360 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ OpStore %360 %int_0
+ %361 = OpAccessChain %_ptr_Private_int %obj %uint_0 %174
+ OpStore %361 %359
+ %362 = OpCompositeExtract %float %189 0
+ %363 = OpCompositeExtract %float %189 1
+ %364 = OpCompositeConstruct %v2float %362 %363
+ %365 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %365
+ %367 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %377
- %380 = OpIAdd %int %int_1 %367
- OpStore %i_1 %380
- %381 = OpLoad %int %param_1
+ OpStore %h %367
+ %370 = OpIAdd %int %int_1 %357
+ OpStore %i_1 %370
+ %371 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %381
- %382 = OpLoad %int %i_1
- %383 = OpLoad %int %j_1
+ OpStore %param_1 %371
+ %372 = OpLoad %int %i_1
+ %373 = OpLoad %int %j_1
OpStore %j_1 %int_0
- OpStore %j_1 %383
- %384 = OpCompositeExtract %float %197 0
- %385 = OpCompositeExtract %float %197 0
+ OpStore %j_1 %373
+ %374 = OpCompositeExtract %float %189 0
+ %375 = OpCompositeExtract %float %189 0
+ %376 = OpCompositeConstruct %v2float %374 %375
+ %377 = OpLoad %int %param_1
+ OpStore %param_1 %int_0
+ OpStore %param_1 %377
+ OpStore %param_2 %372
+ %378 = OpCompositeExtract %float %189 1
+ %379 = OpCompositeExtract %float %214 0
+ %380 = OpCompositeConstruct %v2float %378 %379
+ %381 = OpLoad %int %pivot
+ OpStore %pivot %int_0
+ OpStore %pivot %381
+ %383 = OpLoad %int %h
+ %384 = OpCompositeExtract %float %376 0
+ %385 = OpCompositeExtract %float %364 1
%386 = OpCompositeConstruct %v2float %384 %385
- %387 = OpLoad %int %param_1
- OpStore %param_1 %int_0
- OpStore %param_1 %387
- OpStore %param_2 %382
- %388 = OpCompositeExtract %float %197 1
- %389 = OpCompositeExtract %float %222 0
- %390 = OpCompositeConstruct %v2float %388 %389
- %391 = OpLoad %int %pivot
- OpStore %pivot %int_0
- OpStore %pivot %391
- %393 = OpLoad %int %h
- %394 = OpCompositeExtract %float %386 0
- %395 = OpCompositeExtract %float %374 1
- %396 = OpCompositeConstruct %v2float %394 %395
- %398 = OpLoad %int %h
+ %388 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %398
- OpStore %param_3 %393
- %401 = OpLoad %int %i_1
+ OpStore %h %388
+ OpStore %param_3 %383
+ %391 = OpLoad %int %i_1
OpStore %i_1 %int_0
- OpStore %i_1 %401
- %402 = OpCompositeExtract %float %374 1
- %403 = OpCompositeExtract %float %396 0
- %404 = OpCompositeConstruct %v2float %402 %403
- %406 = OpLoad %int %h
+ OpStore %i_1 %391
+ %392 = OpCompositeExtract %float %364 1
+ %393 = OpCompositeExtract %float %386 0
+ %394 = OpCompositeConstruct %v2float %392 %393
+ %396 = OpLoad %int %h
OpStore %h %int_0
- OpStore %h %406
- %409 = OpFunctionCall %void %swap_i1_i1_ %param_2 %param_3
- %413 = OpLoad %int %l
+ OpStore %h %396
+ %399 = OpFunctionCall %void %swap_i1_i1_ %param_2 %param_3
+ %403 = OpLoad %int %l
OpStore %l %int_0
- OpStore %l %413
- %416 = OpCompositeExtract %float %222 2
- %417 = OpCompositeExtract %float %35 1
- %418 = OpCompositeConstruct %v2float %416 %417
- %419 = OpLoad %int %param_1
+ OpStore %l %403
+ %406 = OpCompositeExtract %float %214 2
+ %407 = OpCompositeExtract %float %35 1
+ %408 = OpCompositeConstruct %v2float %406 %407
+ %409 = OpLoad %int %param_1
OpStore %param_1 %int_0
- OpStore %param_1 %419
- %420 = OpLoad %int %i_1
- %421 = OpLoad %int %param
+ OpStore %param_1 %409
+ %410 = OpLoad %int %i_1
+ %411 = OpLoad %int %param
OpStore %param %int_0
- OpStore %param %421
- %422 = OpCompositeExtract %float %197 1
- %423 = OpCompositeExtract %float %197 0
- %424 = OpCompositeConstruct %v2float %422 %423
- %425 = OpLoad %int %j_1
+ OpStore %param %411
+ %412 = OpCompositeExtract %float %189 1
+ %413 = OpCompositeExtract %float %189 0
+ %414 = OpCompositeConstruct %v2float %412 %413
+ %415 = OpLoad %int %j_1
OpStore %j_1 %int_0
- OpStore %j_1 %425
- OpReturnValue %420
+ OpStore %j_1 %415
+ OpReturnValue %410
OpFunctionEnd
- %quicksort_ = OpFunction %void None %426
- %428 = OpLabel
+ %quicksort_ = OpFunction %void None %416
+ %418 = OpLabel
%param_4 = OpVariable %_ptr_Function_int Function %28
%h_1 = OpVariable %_ptr_Function_int Function %28
%p = OpVariable %_ptr_Function_int Function %28
%l_1 = OpVariable %_ptr_Function_int Function %28
%top = OpVariable %_ptr_Function_int Function %28
- %stack = OpVariable %_ptr_Function__arr_int_uint_10 Function %436
+ %stack = OpVariable %_ptr_Function__arr_int_uint_10 Function %426
%param_5 = OpVariable %_ptr_Function_int Function %28
OpStore %l_1 %int_0
- %438 = OpLoad %int %param_5
+ %428 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %438
+ OpStore %param_5 %428
OpStore %h_1 %int_9
- %440 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %440
- %441 = OpCompositeExtract %float %35 1
- %442 = OpCompositeExtract %float %35 1
- %443 = OpCompositeConstruct %v2float %441 %442
- %444 = OpLoad %int %param_5
+ %430 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %430
+ %431 = OpCompositeExtract %float %35 1
+ %432 = OpCompositeExtract %float %35 1
+ %433 = OpCompositeConstruct %v2float %431 %432
+ %434 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %444
+ OpStore %param_5 %434
OpStore %top %int_n1
- %446 = OpLoad %int %p
+ %436 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %446
- %447 = OpLoad %int %top
- %448 = OpCompositeExtract %float %35 0
- %449 = OpCompositeExtract %float %35 0
- %450 = OpCompositeConstruct %v2float %448 %449
- %451 = OpLoad %int %p
+ OpStore %p %436
+ %437 = OpLoad %int %top
+ %438 = OpCompositeExtract %float %35 0
+ %439 = OpCompositeExtract %float %35 0
+ %440 = OpCompositeConstruct %v2float %438 %439
+ %441 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %451
- %452 = OpBitcast %int %uint_1
- %453 = OpIAdd %int %447 %452
- %454 = OpLoad %int %top
+ OpStore %p %441
+ %442 = OpBitcast %int %uint_1
+ %443 = OpIAdd %int %437 %442
+ %444 = OpLoad %int %top
OpStore %top %int_0
- OpStore %top %454
- %455 = OpCompositeExtract %float %443 1
- %456 = OpCompositeExtract %float %450 1
- %457 = OpCompositeConstruct %v2float %455 %456
- %458 = OpLoad %int %param_4
+ OpStore %top %444
+ %445 = OpCompositeExtract %float %433 1
+ %446 = OpCompositeExtract %float %440 1
+ %447 = OpCompositeConstruct %v2float %445 %446
+ %448 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %458
- OpStore %top %453
- %459 = OpLoad %int %h_1
+ OpStore %param_4 %448
+ OpStore %top %443
+ %449 = OpLoad %int %h_1
OpStore %h_1 %int_0
- OpStore %h_1 %459
- %460 = OpCompositeExtract %float %450 1
- %461 = OpCompositeExtract %float %450 0
- %462 = OpCompositeExtract %float %450 0
- %463 = OpCompositeConstruct %v3float %460 %461 %462
- %464 = OpLoad %int %param_4
+ OpStore %h_1 %449
+ %450 = OpCompositeExtract %float %440 1
+ %451 = OpCompositeExtract %float %440 0
+ %452 = OpCompositeExtract %float %440 0
+ %453 = OpCompositeConstruct %v3float %450 %451 %452
+ %454 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %464
- %465 = OpLoad %int %l_1
- %466 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %466
- %467 = OpCompositeExtract %float %463 1
- %468 = OpCompositeExtract %float %463 0
- %469 = OpCompositeExtract %float %450 0
- %470 = OpCompositeConstruct %v3float %467 %468 %469
- %472 = OpAccessChain %_ptr_Function_int %stack %453
- %473 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %473
- %474 = OpCompositeExtract %float %443 1
- %475 = OpCompositeExtract %float %443 1
- %476 = OpCompositeExtract %float %443 1
- %477 = OpCompositeConstruct %v3float %474 %475 %476
- %478 = OpLoad %int %l_1
+ OpStore %param_4 %454
+ %455 = OpLoad %int %l_1
+ %456 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %456
+ %457 = OpCompositeExtract %float %453 1
+ %458 = OpCompositeExtract %float %453 0
+ %459 = OpCompositeExtract %float %440 0
+ %460 = OpCompositeConstruct %v3float %457 %458 %459
+ %461 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %461
+ %462 = OpCompositeExtract %float %433 1
+ %463 = OpCompositeExtract %float %433 1
+ %464 = OpCompositeExtract %float %433 1
+ %465 = OpCompositeConstruct %v3float %462 %463 %464
+ %466 = OpLoad %int %l_1
OpStore %l_1 %int_0
OpStore %l_1 %int_0
- OpStore %472 %465
- %480 = OpLoad %int %param_5
+ %467 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %467 %455
+ %468 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %480
- %481 = OpLoad %int %top
- %482 = OpLoad %int %param_4
+ OpStore %param_5 %468
+ %469 = OpLoad %int %top
+ %470 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %482
- %483 = OpCompositeExtract %float %35 2
- %484 = OpCompositeExtract %float %457 1
- %485 = OpCompositeExtract %float %35 1
- %486 = OpCompositeConstruct %v3float %483 %484 %485
- %488 = OpLoad %int %472
- OpStore %472 %int_0
- OpStore %472 %488
- %491 = OpIAdd %int %481 %int_1
- %493 = OpLoad %int %472
- OpStore %472 %int_0
- OpStore %472 %493
- %496 = OpCompositeExtract %float %463 0
- %497 = OpCompositeExtract %float %463 2
- %498 = OpCompositeExtract %float %443 1
- %499 = OpCompositeConstruct %v3float %496 %497 %498
- OpStore %top %491
- %500 = OpLoad %int %param_4
+ OpStore %param_4 %470
+ %471 = OpCompositeExtract %float %35 2
+ %472 = OpCompositeExtract %float %447 1
+ %473 = OpCompositeExtract %float %35 1
+ %474 = OpCompositeConstruct %v3float %471 %472 %473
+ %475 = OpAccessChain %_ptr_Function_int %stack %443
+ %476 = OpLoad %int %475
+ %477 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %477 %int_0
+ %478 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %478 %476
+ %479 = OpIAdd %int %469 %int_1
+ %480 = OpAccessChain %_ptr_Function_int %stack %443
+ %481 = OpLoad %int %480
+ %482 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %482 %int_0
+ %483 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %483 %481
+ %484 = OpCompositeExtract %float %453 0
+ %485 = OpCompositeExtract %float %453 2
+ %486 = OpCompositeExtract %float %433 1
+ %487 = OpCompositeConstruct %v3float %484 %485 %486
+ OpStore %top %479
+ %488 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %500
- %501 = OpLoad %int %h_1
- %502 = OpLoad %int %param_4
+ OpStore %param_4 %488
+ %489 = OpLoad %int %h_1
+ %490 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %502
- %503 = OpCompositeExtract %float %457 0
- %504 = OpCompositeExtract %float %477 0
- %505 = OpCompositeExtract %float %457 1
- %506 = OpCompositeConstruct %v3float %503 %504 %505
- %507 = OpLoad %int %l_1
+ OpStore %param_4 %490
+ %491 = OpCompositeExtract %float %447 0
+ %492 = OpCompositeExtract %float %465 0
+ %493 = OpCompositeExtract %float %447 1
+ %494 = OpCompositeConstruct %v3float %491 %492 %493
+ %495 = OpLoad %int %l_1
OpStore %l_1 %int_0
- OpStore %l_1 %507
- %509 = OpAccessChain %_ptr_Function_int %stack %491
- %510 = OpLoad %int %param_5
+ OpStore %l_1 %495
+ %496 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %510
- %511 = OpCompositeExtract %float %506 2
- %512 = OpCompositeExtract %float %506 2
- %513 = OpCompositeConstruct %v2float %511 %512
- %514 = OpLoad %int %p
+ OpStore %param_5 %496
+ %497 = OpCompositeExtract %float %494 2
+ %498 = OpCompositeExtract %float %494 2
+ %499 = OpCompositeConstruct %v2float %497 %498
+ %500 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %514
- OpStore %509 %501
- OpBranch %516
- %516 = OpLabel
- OpLoopMerge %517 %518 None
- OpBranch %519
- %519 = OpLabel
- %520 = OpCompositeExtract %float %499 0
- %521 = OpCompositeExtract %float %499 0
- %522 = OpCompositeExtract %float %499 0
- %523 = OpCompositeConstruct %v3float %520 %521 %522
- %524 = OpLoad %int %h_1
+ OpStore %p %500
+ %501 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %501 %489
+ OpBranch %502
+ %502 = OpLabel
+ OpLoopMerge %503 %504 None
+ OpBranch %505
+ %505 = OpLabel
+ %506 = OpCompositeExtract %float %487 0
+ %507 = OpCompositeExtract %float %487 0
+ %508 = OpCompositeExtract %float %487 0
+ %509 = OpCompositeConstruct %v3float %506 %507 %508
+ %510 = OpLoad %int %h_1
OpStore %h_1 %int_0
- OpStore %h_1 %524
- %525 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %525
- %526 = OpLoad %int %top
- %527 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %527
- %528 = OpCompositeExtract %float %457 0
- %529 = OpCompositeExtract %float %506 2
- %530 = OpCompositeConstruct %v2float %528 %529
- %531 = OpLoad %int %param_4
+ OpStore %h_1 %510
+ %511 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %511
+ %512 = OpLoad %int %top
+ %513 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %513
+ %514 = OpCompositeExtract %float %447 0
+ %515 = OpCompositeExtract %float %494 2
+ %516 = OpCompositeConstruct %v2float %514 %515
+ %517 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %531
- %532 = OpBitcast %int %uint_0
- %533 = OpSGreaterThanEqual %bool %526 %532
- OpSelectionMerge %534 None
- OpBranchConditional %533 %535 %536
- %535 = OpLabel
- OpBranch %534
- %536 = OpLabel
- OpBranch %517
- %534 = OpLabel
- %537 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %537
- %538 = OpCompositeExtract %float %463 1
- %539 = OpCompositeExtract %float %463 0
- %540 = OpCompositeExtract %float %499 1
- %541 = OpCompositeConstruct %v3float %538 %539 %540
- %542 = OpLoad %int %param_4
+ OpStore %param_4 %517
+ %518 = OpBitcast %int %uint_0
+ %519 = OpSGreaterThanEqual %bool %512 %518
+ OpSelectionMerge %520 None
+ OpBranchConditional %519 %521 %522
+ %521 = OpLabel
+ OpBranch %520
+ %522 = OpLabel
+ OpBranch %503
+ %520 = OpLabel
+ %523 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %523
+ %524 = OpCompositeExtract %float %453 1
+ %525 = OpCompositeExtract %float %453 0
+ %526 = OpCompositeExtract %float %487 1
+ %527 = OpCompositeConstruct %v3float %524 %525 %526
+ %528 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %542
- %543 = OpLoad %int %top
- %544 = OpCompositeExtract %float %513 0
- %545 = OpCompositeExtract %float %530 1
- %546 = OpCompositeExtract %float %513 0
- %547 = OpCompositeConstruct %v3float %544 %545 %546
- %548 = OpLoad %int %h_1
+ OpStore %param_4 %528
+ %529 = OpLoad %int %top
+ %530 = OpCompositeExtract %float %499 0
+ %531 = OpCompositeExtract %float %516 1
+ %532 = OpCompositeExtract %float %499 0
+ %533 = OpCompositeConstruct %v3float %530 %531 %532
+ %534 = OpLoad %int %h_1
OpStore %h_1 %int_0
- OpStore %h_1 %548
- %549 = OpCompositeExtract %float %443 0
- %550 = OpCompositeExtract %float %443 0
- %551 = OpCompositeConstruct %v2float %549 %550
- %552 = OpLoad %int %p
+ OpStore %h_1 %534
+ %535 = OpCompositeExtract %float %433 0
+ %536 = OpCompositeExtract %float %433 0
+ %537 = OpCompositeConstruct %v2float %535 %536
+ %538 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %552
- %553 = OpBitcast %int %uint_1
- %554 = OpISub %int %543 %553
- OpStore %top %554
- %555 = OpLoad %int %p
+ OpStore %p %538
+ %539 = OpBitcast %int %uint_1
+ %540 = OpISub %int %529 %539
+ OpStore %top %540
+ %541 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %555
- %557 = OpAccessChain %_ptr_Function_int %stack %543
- %559 = OpLoad %int %472
- OpStore %472 %int_0
- OpStore %472 %559
- %563 = OpLoad %int %557
- %564 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %564
- %565 = OpCompositeExtract %float %463 1
- %566 = OpCompositeExtract %float %463 0
- %567 = OpCompositeExtract %float %506 1
- %568 = OpCompositeConstruct %v3float %565 %566 %567
- %569 = OpLoad %int %l_1
+ OpStore %p %541
+ %542 = OpAccessChain %_ptr_Function_int %stack %443
+ %543 = OpLoad %int %542
+ %544 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %544 %int_0
+ %545 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %545 %543
+ %546 = OpAccessChain %_ptr_Function_int %stack %529
+ %547 = OpLoad %int %546
+ %548 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %548
+ %549 = OpCompositeExtract %float %453 1
+ %550 = OpCompositeExtract %float %453 0
+ %551 = OpCompositeExtract %float %494 1
+ %552 = OpCompositeConstruct %v3float %549 %550 %551
+ %553 = OpLoad %int %l_1
OpStore %l_1 %int_0
- OpStore %l_1 %569
- OpStore %h_1 %563
- %570 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %570
- %571 = OpCompositeExtract %float %486 1
- %572 = OpCompositeExtract %float %477 1
- %573 = OpCompositeConstruct %v2float %571 %572
- %574 = OpLoad %int %p
+ OpStore %l_1 %553
+ OpStore %h_1 %547
+ %554 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %554
+ %555 = OpCompositeExtract %float %474 1
+ %556 = OpCompositeExtract %float %465 1
+ %557 = OpCompositeConstruct %v2float %555 %556
+ %558 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %574
- %575 = OpLoad %int %top
- %576 = OpLoad %int %param_4
+ OpStore %p %558
+ %559 = OpLoad %int %top
+ %560 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %576
- %578 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %578
- %581 = OpCompositeExtract %float %35 1
- %582 = OpCompositeExtract %float %35 2
- %583 = OpCompositeConstruct %v2float %581 %582
- %584 = OpISub %int %575 %int_1
- OpStore %top %584
- %585 = OpLoad %int %param_5
+ OpStore %param_4 %560
+ %561 = OpAccessChain %_ptr_Function_int %stack %479
+ %562 = OpLoad %int %561
+ %563 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %563 %int_0
+ %564 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %564 %562
+ %565 = OpCompositeExtract %float %35 1
+ %566 = OpCompositeExtract %float %35 2
+ %567 = OpCompositeConstruct %v2float %565 %566
+ %568 = OpISub %int %559 %int_1
+ OpStore %top %568
+ %569 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %585
- %586 = OpCompositeExtract %float %551 1
- %587 = OpCompositeExtract %float %513 0
- %588 = OpCompositeExtract %float %551 1
- %589 = OpCompositeConstruct %v3float %586 %587 %588
- %590 = OpLoad %int %h_1
+ OpStore %param_5 %569
+ %570 = OpCompositeExtract %float %537 1
+ %571 = OpCompositeExtract %float %499 0
+ %572 = OpCompositeExtract %float %537 1
+ %573 = OpCompositeConstruct %v3float %570 %571 %572
+ %574 = OpLoad %int %h_1
OpStore %h_1 %int_0
- OpStore %h_1 %590
- %592 = OpAccessChain %_ptr_Function_int %stack %575
- %593 = OpCompositeExtract %float %506 1
- %594 = OpCompositeExtract %float %506 2
- %595 = OpCompositeConstruct %v2float %593 %594
- %597 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %597
- %601 = OpLoad %int %592
- %602 = OpLoad %int %p
+ OpStore %h_1 %574
+ %575 = OpCompositeExtract %float %494 1
+ %576 = OpCompositeExtract %float %494 2
+ %577 = OpCompositeConstruct %v2float %575 %576
+ %578 = OpAccessChain %_ptr_Function_int %stack %479
+ %579 = OpLoad %int %578
+ %580 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %580 %int_0
+ %581 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %581 %579
+ %582 = OpAccessChain %_ptr_Function_int %stack %559
+ %583 = OpLoad %int %582
+ %584 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %602
- %603 = OpCompositeExtract %float %583 1
- %604 = OpCompositeExtract %float %583 1
- %605 = OpCompositeExtract %float %513 0
- %606 = OpCompositeConstruct %v3float %603 %604 %605
- %607 = OpLoad %int %param_5
+ OpStore %p %584
+ %585 = OpCompositeExtract %float %567 1
+ %586 = OpCompositeExtract %float %567 1
+ %587 = OpCompositeExtract %float %499 0
+ %588 = OpCompositeConstruct %v3float %585 %586 %587
+ %589 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %607
- OpStore %l_1 %601
- %608 = OpLoad %int %top
+ OpStore %param_5 %589
+ OpStore %l_1 %583
+ %590 = OpLoad %int %top
OpStore %top %int_0
- OpStore %top %608
- %609 = OpLoad %int %l_1
- OpStore %param_4 %609
- %611 = OpLoad %int %557
- OpStore %557 %int_0
- OpStore %557 %611
- %614 = OpCompositeExtract %float %547 1
- %615 = OpCompositeExtract %float %547 2
- %616 = OpCompositeConstruct %v2float %614 %615
- %617 = OpLoad %int %h_1
- %618 = OpCompositeExtract %float %457 0
- %619 = OpCompositeExtract %float %35 1
- %620 = OpCompositeConstruct %v2float %618 %619
- OpStore %param_5 %617
- %622 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %622
- %625 = OpFunctionCall %int %performPartition_i1_i1_ %param_4 %param_5
- %628 = OpCompositeExtract %float %530 0
- %629 = OpCompositeExtract %float %541 0
+ OpStore %top %590
+ %591 = OpLoad %int %l_1
+ OpStore %param_4 %591
+ %592 = OpAccessChain %_ptr_Function_int %stack %529
+ %593 = OpLoad %int %592
+ %594 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %594 %int_0
+ %595 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %595 %593
+ %596 = OpCompositeExtract %float %533 1
+ %597 = OpCompositeExtract %float %533 2
+ %598 = OpCompositeConstruct %v2float %596 %597
+ %599 = OpLoad %int %h_1
+ %600 = OpCompositeExtract %float %447 0
+ %601 = OpCompositeExtract %float %35 1
+ %602 = OpCompositeConstruct %v2float %600 %601
+ OpStore %param_5 %599
+ %603 = OpAccessChain %_ptr_Function_int %stack %479
+ %604 = OpLoad %int %603
+ %605 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %605 %int_0
+ %606 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %606 %604
+ %607 = OpFunctionCall %int %performPartition_i1_i1_ %param_4 %param_5
+ %610 = OpCompositeExtract %float %516 0
+ %611 = OpCompositeExtract %float %527 0
+ %612 = OpCompositeConstruct %v2float %610 %611
+ %613 = OpLoad %int %param_5
+ OpStore %param_5 %int_0
+ OpStore %param_5 %613
+ OpStore %p %607
+ %614 = OpLoad %int %param_4
+ OpStore %param_4 %int_0
+ OpStore %param_4 %614
+ %615 = OpLoad %int %p
+ %616 = OpLoad %int %h_1
+ OpStore %h_1 %int_0
+ OpStore %h_1 %616
+ %617 = OpCompositeExtract %float %527 1
+ %618 = OpCompositeExtract %float %527 1
+ %619 = OpCompositeConstruct %v2float %617 %618
+ %620 = OpLoad %int %l_1
+ OpStore %l_1 %int_0
+ OpStore %l_1 %620
+ %621 = OpLoad %int %h_1
+ OpStore %h_1 %int_0
+ OpStore %h_1 %621
+ %622 = OpLoad %int %l_1
+ %623 = OpAccessChain %_ptr_Function_int %stack %529
+ %624 = OpLoad %int %623
+ %625 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %625 %int_0
+ %626 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %626 %624
+ %627 = OpLoad %int %h_1
+ OpStore %h_1 %int_0
+ OpStore %h_1 %627
+ %628 = OpCompositeExtract %float %516 1
+ %629 = OpCompositeExtract %float %567 0
%630 = OpCompositeConstruct %v2float %628 %629
- %631 = OpLoad %int %param_5
+ %631 = OpAccessChain %_ptr_Function_int %stack %479
+ %632 = OpLoad %int %631
+ %633 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %633 %int_0
+ %634 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %634 %632
+ %635 = OpBitcast %int %uint_1
+ %636 = OpISub %int %615 %635
+ %637 = OpSGreaterThan %bool %636 %622
+ OpSelectionMerge %638 None
+ OpBranchConditional %637 %639 %638
+ %639 = OpLabel
+ %640 = OpLoad %int %param_4
+ OpStore %param_4 %int_0
+ OpStore %param_4 %640
+ %641 = OpLoad %int %top
+ %642 = OpCompositeExtract %float %552 1
+ %643 = OpCompositeExtract %float %433 1
+ %644 = OpCompositeConstruct %v2float %642 %643
+ %645 = OpAccessChain %_ptr_Function_int %stack %479
+ %646 = OpLoad %int %645
+ %647 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %647 %int_0
+ %648 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %648 %646
+ %649 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %649
+ %650 = OpCompositeExtract %float %533 2
+ %651 = OpCompositeExtract %float %533 1
+ %652 = OpCompositeConstruct %v2float %650 %651
+ %653 = OpCompositeExtract %float %619 1
+ %654 = OpCompositeExtract %float %598 0
+ %655 = OpCompositeExtract %float %598 0
+ %656 = OpCompositeConstruct %v3float %653 %654 %655
+ %657 = OpLoad %int %l_1
+ %658 = OpAccessChain %_ptr_Function_int %stack %559
+ %659 = OpLoad %int %658
+ %660 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %660 %int_0
+ %661 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %661 %659
+ %662 = OpCompositeExtract %float %494 0
+ %663 = OpCompositeExtract %float %656 0
+ %664 = OpCompositeConstruct %v2float %662 %663
+ %665 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %631
- OpStore %p %625
- %632 = OpLoad %int %param_4
- OpStore %param_4 %int_0
- OpStore %param_4 %632
- %633 = OpLoad %int %p
- %634 = OpLoad %int %h_1
- OpStore %h_1 %int_0
- OpStore %h_1 %634
- %635 = OpCompositeExtract %float %541 1
- %636 = OpCompositeExtract %float %541 1
- %637 = OpCompositeConstruct %v2float %635 %636
- %638 = OpLoad %int %l_1
- OpStore %l_1 %int_0
- OpStore %l_1 %638
- %639 = OpLoad %int %h_1
- OpStore %h_1 %int_0
- OpStore %h_1 %639
- %640 = OpLoad %int %l_1
- %642 = OpLoad %int %557
- OpStore %557 %int_0
- OpStore %557 %642
- %645 = OpLoad %int %h_1
- OpStore %h_1 %int_0
- OpStore %h_1 %645
- %646 = OpCompositeExtract %float %530 1
- %647 = OpCompositeExtract %float %583 0
- %648 = OpCompositeConstruct %v2float %646 %647
- %650 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %650
- %653 = OpBitcast %int %uint_1
- %654 = OpISub %int %633 %653
- %655 = OpSGreaterThan %bool %654 %640
- OpSelectionMerge %656 None
- OpBranchConditional %655 %657 %656
- %657 = OpLabel
- %658 = OpLoad %int %param_4
- OpStore %param_4 %int_0
- OpStore %param_4 %658
- %659 = OpLoad %int %top
- %660 = OpCompositeExtract %float %568 1
- %661 = OpCompositeExtract %float %443 1
- %662 = OpCompositeConstruct %v2float %660 %661
- %664 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %664
- %667 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %667
- %668 = OpCompositeExtract %float %547 2
- %669 = OpCompositeExtract %float %547 1
- %670 = OpCompositeConstruct %v2float %668 %669
- %671 = OpCompositeExtract %float %637 1
- %672 = OpCompositeExtract %float %616 0
- %673 = OpCompositeExtract %float %616 0
+ OpStore %param_5 %665
+ %666 = OpIAdd %int %int_1 %641
+ %667 = OpAccessChain %_ptr_Function_int %stack %529
+ %668 = OpLoad %int %667
+ %669 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %669 %int_0
+ %670 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %670 %668
+ %671 = OpCompositeExtract %float %509 1
+ %672 = OpCompositeExtract %float %509 1
+ %673 = OpCompositeExtract %float %487 0
%674 = OpCompositeConstruct %v3float %671 %672 %673
- %675 = OpLoad %int %l_1
- %677 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %677
- %680 = OpCompositeExtract %float %506 0
- %681 = OpCompositeExtract %float %674 0
- %682 = OpCompositeConstruct %v2float %680 %681
- %683 = OpLoad %int %param_5
+ %675 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %683
- %685 = OpIAdd %int %int_1 %659
- %686 = OpAccessChain %_ptr_Function_int %stack %685
- %688 = OpLoad %int %557
- OpStore %557 %int_0
- OpStore %557 %688
- %691 = OpCompositeExtract %float %523 1
- %692 = OpCompositeExtract %float %523 1
- %693 = OpCompositeExtract %float %499 0
- %694 = OpCompositeConstruct %v3float %691 %692 %693
- %695 = OpLoad %int %param_5
- OpStore %param_5 %int_0
- OpStore %param_5 %695
- OpStore %686 %675
- %697 = OpLoad %int %top
- %699 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %699
- %702 = OpCompositeExtract %float %595 1
- %703 = OpCompositeExtract %float %595 0
- %704 = OpCompositeConstruct %v2float %702 %703
- %706 = OpLoad %int %686
- OpStore %686 %int_0
- OpStore %686 %706
- %710 = OpBitcast %uint %697
- %711 = OpIAdd %uint %uint_1 %710
- %709 = OpBitcast %int %711
- %713 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %713
- %716 = OpCompositeExtract %float %606 2
- %717 = OpCompositeExtract %float %704 1
- %718 = OpCompositeExtract %float %606 2
- %719 = OpCompositeConstruct %v3float %716 %717 %718
- %720 = OpLoad %int %h_1
+ OpStore %param_5 %675
+ %676 = OpAccessChain %_ptr_Function_int %stack %666
+ OpStore %676 %657
+ %677 = OpLoad %int %top
+ %678 = OpAccessChain %_ptr_Function_int %stack %479
+ %679 = OpLoad %int %678
+ %680 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %680 %int_0
+ %681 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %681 %679
+ %682 = OpCompositeExtract %float %577 1
+ %683 = OpCompositeExtract %float %577 0
+ %684 = OpCompositeConstruct %v2float %682 %683
+ %685 = OpAccessChain %_ptr_Function_int %stack %666
+ %686 = OpLoad %int %685
+ %687 = OpAccessChain %_ptr_Function_int %stack %666
+ OpStore %687 %int_0
+ %688 = OpAccessChain %_ptr_Function_int %stack %666
+ OpStore %688 %686
+ %690 = OpBitcast %uint %677
+ %691 = OpIAdd %uint %uint_1 %690
+ %689 = OpBitcast %int %691
+ %692 = OpAccessChain %_ptr_Function_int %stack %479
+ %693 = OpLoad %int %692
+ %694 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %694 %int_0
+ %695 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %695 %693
+ %696 = OpCompositeExtract %float %588 2
+ %697 = OpCompositeExtract %float %684 1
+ %698 = OpCompositeExtract %float %588 2
+ %699 = OpCompositeConstruct %v3float %696 %697 %698
+ %700 = OpLoad %int %h_1
OpStore %h_1 %int_0
- OpStore %h_1 %720
- OpStore %top %709
- %721 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %721
- %722 = OpLoad %int %p
- %723 = OpCompositeExtract %float %606 0
- %724 = OpCompositeExtract %float %583 1
- %725 = OpCompositeConstruct %v2float %723 %724
- %727 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %727
- %731 = OpAccessChain %_ptr_Function_int %stack %709
- %733 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %733
- %737 = OpBitcast %int %uint_1
- %738 = OpISub %int %722 %737
- OpStore %731 %738
- %740 = OpLoad %int %472
- OpStore %472 %int_0
- OpStore %472 %740
- %743 = OpCompositeExtract %float %547 2
- %744 = OpCompositeExtract %float %547 1
- %745 = OpCompositeConstruct %v2float %743 %744
- %747 = OpLoad %int %731
- OpStore %731 %int_0
- OpStore %731 %747
- OpBranch %656
- %656 = OpLabel
- %751 = OpLoad %int %472
- OpStore %472 %int_0
- OpStore %472 %751
- %754 = OpCompositeExtract %float %35 0
- %755 = OpCompositeExtract %float %35 1
- %756 = OpCompositeConstruct %v2float %754 %755
- %757 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %757
- %758 = OpLoad %int %p
- %760 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %760
- %763 = OpCompositeExtract %float %568 2
- %764 = OpCompositeExtract %float %443 0
- %765 = OpCompositeExtract %float %443 1
- %766 = OpCompositeConstruct %v3float %763 %764 %765
- %767 = OpLoad %int %p
+ OpStore %h_1 %700
+ OpStore %top %689
+ %701 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %701
+ %702 = OpLoad %int %p
+ %703 = OpCompositeExtract %float %588 0
+ %704 = OpCompositeExtract %float %567 1
+ %705 = OpCompositeConstruct %v2float %703 %704
+ %706 = OpAccessChain %_ptr_Function_int %stack %559
+ %707 = OpLoad %int %706
+ %708 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %708 %int_0
+ %709 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %709 %707
+ %710 = OpAccessChain %_ptr_Function_int %stack %559
+ %711 = OpLoad %int %710
+ %712 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %712 %int_0
+ %713 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %713 %711
+ %714 = OpAccessChain %_ptr_Function_int %stack %689
+ %715 = OpBitcast %int %uint_1
+ %716 = OpISub %int %702 %715
+ OpStore %714 %716
+ %717 = OpAccessChain %_ptr_Function_int %stack %443
+ %718 = OpLoad %int %717
+ %719 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %719 %int_0
+ %720 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %720 %718
+ %721 = OpCompositeExtract %float %533 2
+ %722 = OpCompositeExtract %float %533 1
+ %723 = OpCompositeConstruct %v2float %721 %722
+ %724 = OpAccessChain %_ptr_Function_int %stack %689
+ %725 = OpLoad %int %724
+ %726 = OpAccessChain %_ptr_Function_int %stack %689
+ OpStore %726 %int_0
+ %727 = OpAccessChain %_ptr_Function_int %stack %689
+ OpStore %727 %725
+ OpBranch %638
+ %638 = OpLabel
+ %728 = OpAccessChain %_ptr_Function_int %stack %443
+ %729 = OpLoad %int %728
+ %730 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %730 %int_0
+ %731 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %731 %729
+ %732 = OpCompositeExtract %float %35 0
+ %733 = OpCompositeExtract %float %35 1
+ %734 = OpCompositeConstruct %v2float %732 %733
+ %735 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %735
+ %736 = OpLoad %int %p
+ %737 = OpAccessChain %_ptr_Function_int %stack %559
+ %738 = OpLoad %int %737
+ %739 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %739 %int_0
+ %740 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %740 %738
+ %741 = OpCompositeExtract %float %552 2
+ %742 = OpCompositeExtract %float %433 0
+ %743 = OpCompositeExtract %float %433 1
+ %744 = OpCompositeConstruct %v3float %741 %742 %743
+ %745 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %767
- %768 = OpCompositeExtract %float %499 2
- %769 = OpCompositeExtract %float %499 0
- %770 = OpCompositeExtract %float %595 0
- %771 = OpCompositeConstruct %v3float %768 %769 %770
- %773 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %773
- %776 = OpLoad %int %h_1
- %777 = OpLoad %int %top
+ OpStore %p %745
+ %746 = OpCompositeExtract %float %487 2
+ %747 = OpCompositeExtract %float %487 0
+ %748 = OpCompositeExtract %float %577 0
+ %749 = OpCompositeConstruct %v3float %746 %747 %748
+ %750 = OpAccessChain %_ptr_Function_int %stack %559
+ %751 = OpLoad %int %750
+ %752 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %752 %int_0
+ %753 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %753 %751
+ %754 = OpLoad %int %h_1
+ %755 = OpLoad %int %top
OpStore %top %int_0
- OpStore %top %777
- %778 = OpCompositeExtract %float %470 2
- %779 = OpCompositeExtract %float %541 0
- %780 = OpCompositeExtract %float %470 0
- %781 = OpCompositeConstruct %v3float %778 %779 %780
- %783 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %783
- %786 = OpLoad %int %p
+ OpStore %top %755
+ %756 = OpCompositeExtract %float %460 2
+ %757 = OpCompositeExtract %float %527 0
+ %758 = OpCompositeExtract %float %460 0
+ %759 = OpCompositeConstruct %v3float %756 %757 %758
+ %760 = OpAccessChain %_ptr_Function_int %stack %479
+ %761 = OpLoad %int %760
+ %762 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %762 %int_0
+ %763 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %763 %761
+ %764 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %786
- %788 = OpBitcast %uint %758
- %789 = OpIAdd %uint %uint_1 %788
- %787 = OpBitcast %int %789
- %790 = OpSLessThan %bool %787 %776
- OpSelectionMerge %791 None
- OpBranchConditional %790 %792 %791
- %792 = OpLabel
- %794 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %794
- %797 = OpCompositeExtract %float %756 1
- %798 = OpCompositeExtract %float %648 0
- %799 = OpCompositeConstruct %v2float %797 %798
- %800 = OpLoad %int %l_1
+ OpStore %p %764
+ %766 = OpBitcast %uint %736
+ %767 = OpIAdd %uint %uint_1 %766
+ %765 = OpBitcast %int %767
+ %768 = OpSLessThan %bool %765 %754
+ OpSelectionMerge %769 None
+ OpBranchConditional %768 %770 %769
+ %770 = OpLabel
+ %771 = OpAccessChain %_ptr_Function_int %stack %559
+ %772 = OpLoad %int %771
+ %773 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %773 %int_0
+ %774 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %774 %772
+ %775 = OpCompositeExtract %float %734 1
+ %776 = OpCompositeExtract %float %630 0
+ %777 = OpCompositeConstruct %v2float %775 %776
+ %778 = OpLoad %int %l_1
OpStore %l_1 %int_0
- OpStore %l_1 %800
- %801 = OpLoad %int %top
- %803 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %803
- %806 = OpCompositeExtract %float %486 1
- %807 = OpCompositeExtract %float %470 1
- %808 = OpCompositeExtract %float %470 1
- %809 = OpCompositeConstruct %v3float %806 %807 %808
- %810 = OpIAdd %int %801 %int_1
- %811 = OpLoad %int %param_5
+ OpStore %l_1 %778
+ %779 = OpLoad %int %top
+ %780 = OpAccessChain %_ptr_Function_int %stack %559
+ %781 = OpLoad %int %780
+ %782 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %782 %int_0
+ %783 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %783 %781
+ %784 = OpCompositeExtract %float %474 1
+ %785 = OpCompositeExtract %float %460 1
+ %786 = OpCompositeExtract %float %460 1
+ %787 = OpCompositeConstruct %v3float %784 %785 %786
+ %788 = OpIAdd %int %779 %int_1
+ %789 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %811
- OpStore %top %810
- %813 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %813
- %816 = OpLoad %int %p
- %817 = OpLoad %int %param_5
+ OpStore %param_5 %789
+ OpStore %top %788
+ %790 = OpAccessChain %_ptr_Function_int %stack %559
+ %791 = OpLoad %int %790
+ %792 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %792 %int_0
+ %793 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %793 %791
+ %794 = OpLoad %int %p
+ %795 = OpLoad %int %param_5
OpStore %param_5 %int_0
- OpStore %param_5 %817
- %818 = OpCompositeExtract %float %470 2
- %819 = OpCompositeExtract %float %470 0
- %820 = OpCompositeExtract %float %541 0
- %821 = OpCompositeConstruct %v3float %818 %819 %820
- %822 = OpLoad %int %p
+ OpStore %param_5 %795
+ %796 = OpCompositeExtract %float %460 2
+ %797 = OpCompositeExtract %float %460 0
+ %798 = OpCompositeExtract %float %527 0
+ %799 = OpCompositeConstruct %v3float %796 %797 %798
+ %800 = OpLoad %int %p
OpStore %p %int_0
- OpStore %p %822
- %823 = OpCompositeExtract %float %443 0
- %824 = OpCompositeExtract %float %637 0
- %825 = OpCompositeExtract %float %637 0
- %826 = OpCompositeConstruct %v3float %823 %824 %825
- %828 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %828
- %832 = OpAccessChain %_ptr_Function_int %stack %810
- %834 = OpLoad %int %557
- OpStore %557 %int_0
- OpStore %557 %834
- %837 = OpCompositeExtract %float %499 0
- %838 = OpCompositeExtract %float %499 1
- %839 = OpCompositeConstruct %v2float %837 %838
- %842 = OpBitcast %uint %816
- %843 = OpIAdd %uint %uint_1 %842
- %841 = OpBitcast %int %843
- OpStore %832 %841
- %844 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %844
- %845 = OpLoad %int %top
- %847 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %847
- %850 = OpCompositeExtract %float %513 1
- %851 = OpCompositeExtract %float %821 1
- %852 = OpCompositeConstruct %v2float %850 %851
- %853 = OpLoad %_arr_int_uint_10 %stack
- OpStore %stack %103
- OpStore %stack %853
- %854 = OpBitcast %int %uint_1
- %855 = OpIAdd %int %845 %854
- %857 = OpLoad %int %832
- OpStore %832 %int_0
- OpStore %832 %857
- OpStore %top %855
- %860 = OpLoad %int %param_4
+ OpStore %p %800
+ %801 = OpCompositeExtract %float %433 0
+ %802 = OpCompositeExtract %float %619 0
+ %803 = OpCompositeExtract %float %619 0
+ %804 = OpCompositeConstruct %v3float %801 %802 %803
+ %805 = OpAccessChain %_ptr_Function_int %stack %479
+ %806 = OpLoad %int %805
+ %807 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %807 %int_0
+ %808 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %808 %806
+ %809 = OpAccessChain %_ptr_Function_int %stack %529
+ %810 = OpLoad %int %809
+ %811 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %811 %int_0
+ %812 = OpAccessChain %_ptr_Function_int %stack %529
+ OpStore %812 %810
+ %813 = OpCompositeExtract %float %487 0
+ %814 = OpCompositeExtract %float %487 1
+ %815 = OpCompositeConstruct %v2float %813 %814
+ %816 = OpAccessChain %_ptr_Function_int %stack %788
+ %818 = OpBitcast %uint %794
+ %819 = OpIAdd %uint %uint_1 %818
+ %817 = OpBitcast %int %819
+ OpStore %816 %817
+ %820 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %820
+ %821 = OpLoad %int %top
+ %822 = OpAccessChain %_ptr_Function_int %stack %559
+ %823 = OpLoad %int %822
+ %824 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %824 %int_0
+ %825 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %825 %823
+ %826 = OpCompositeExtract %float %499 1
+ %827 = OpCompositeExtract %float %799 1
+ %828 = OpCompositeConstruct %v2float %826 %827
+ %829 = OpLoad %_arr_int_uint_10 %stack
+ OpStore %stack %99
+ OpStore %stack %829
+ %830 = OpBitcast %int %uint_1
+ %831 = OpIAdd %int %821 %830
+ %832 = OpAccessChain %_ptr_Function_int %stack %788
+ %833 = OpLoad %int %832
+ %834 = OpAccessChain %_ptr_Function_int %stack %788
+ OpStore %834 %int_0
+ %835 = OpAccessChain %_ptr_Function_int %stack %788
+ OpStore %835 %833
+ OpStore %top %831
+ %836 = OpLoad %int %param_4
OpStore %param_4 %int_0
- OpStore %param_4 %860
- %861 = OpLoad %int %h_1
- %863 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %863
- %867 = OpLoad %int %472
- OpStore %472 %int_0
- OpStore %472 %867
- %870 = OpAccessChain %_ptr_Function_int %stack %855
- OpStore %870 %861
- %872 = OpLoad %int %592
- OpStore %592 %int_0
- OpStore %592 %872
- %875 = OpCompositeExtract %float %541 1
- %876 = OpCompositeExtract %float %506 0
- %877 = OpCompositeExtract %float %506 0
- %878 = OpCompositeConstruct %v3float %875 %876 %877
- %879 = OpLoad %int %l_1
+ OpStore %param_4 %836
+ %837 = OpLoad %int %h_1
+ %838 = OpAccessChain %_ptr_Function_int %stack %479
+ %839 = OpLoad %int %838
+ %840 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %840 %int_0
+ %841 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %841 %839
+ %842 = OpAccessChain %_ptr_Function_int %stack %443
+ %843 = OpLoad %int %842
+ %844 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %844 %int_0
+ %845 = OpAccessChain %_ptr_Function_int %stack %443
+ OpStore %845 %843
+ %846 = OpAccessChain %_ptr_Function_int %stack %831
+ OpStore %846 %837
+ %847 = OpAccessChain %_ptr_Function_int %stack %559
+ %848 = OpLoad %int %847
+ %849 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %849 %int_0
+ %850 = OpAccessChain %_ptr_Function_int %stack %559
+ OpStore %850 %848
+ %851 = OpCompositeExtract %float %527 1
+ %852 = OpCompositeExtract %float %494 0
+ %853 = OpCompositeExtract %float %494 0
+ %854 = OpCompositeConstruct %v3float %851 %852 %853
+ %855 = OpLoad %int %l_1
OpStore %l_1 %int_0
- OpStore %l_1 %879
- OpBranch %791
- %791 = OpLabel
- %881 = OpLoad %int %509
- OpStore %509 %int_0
- OpStore %509 %881
- OpBranch %518
- %518 = OpLabel
- %884 = OpLoad %int %l_1
+ OpStore %l_1 %855
+ OpBranch %769
+ %769 = OpLabel
+ %856 = OpAccessChain %_ptr_Function_int %stack %479
+ %857 = OpLoad %int %856
+ %858 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %858 %int_0
+ %859 = OpAccessChain %_ptr_Function_int %stack %479
+ OpStore %859 %857
+ OpBranch %504
+ %504 = OpLabel
+ %860 = OpLoad %int %l_1
OpStore %l_1 %int_0
- OpStore %l_1 %884
- %885 = OpCompositeExtract %float %499 2
- %886 = OpCompositeExtract %float %506 0
- %887 = OpCompositeConstruct %v2float %885 %886
- %888 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %888
- OpBranch %516
- %517 = OpLabel
- %889 = OpLoad %int %h_1
+ OpStore %l_1 %860
+ %861 = OpCompositeExtract %float %487 2
+ %862 = OpCompositeExtract %float %494 0
+ %863 = OpCompositeConstruct %v2float %861 %862
+ %864 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %864
+ OpBranch %502
+ %503 = OpLabel
+ %865 = OpLoad %int %h_1
OpStore %h_1 %int_0
- OpStore %h_1 %889
+ OpStore %h_1 %865
OpReturn
OpFunctionEnd
- %main = OpFunction %void None %426
- %891 = OpLabel
- %color = OpVariable %_ptr_Function_v3float Function %174
+ %main = OpFunction %void None %416
+ %867 = OpLabel
+ %color = OpVariable %_ptr_Function_v3float Function %168
%i_2 = OpVariable %_ptr_Function_int Function %28
- %uv = OpVariable %_ptr_Function_v2float Function %171
- %895 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %895
+ %uv = OpVariable %_ptr_Function_v2float Function %165
+ %871 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %871
OpStore %i_2 %int_0
- %898 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %898
- OpSelectionMerge %900 None
- OpBranchConditional %true %901 %900
- %901 = OpLabel
- %902 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %902
- %903 = OpCompositeExtract %float %35 0
- %904 = OpCompositeExtract %float %35 0
+ %874 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %874
+ OpSelectionMerge %876 None
+ OpBranchConditional %true %877 %876
+ %877 = OpLabel
+ %878 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %878
+ %879 = OpCompositeExtract %float %35 0
+ %880 = OpCompositeExtract %float %35 0
+ %881 = OpCompositeConstruct %v2float %879 %880
+ %882 = OpLoad %int %i_2
+ %883 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %883
+ %884 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %884
+ %886 = OpCompositeExtract %float %881 1
+ %887 = OpCompositeExtract %float %881 1
+ %888 = OpCompositeConstruct %v2float %886 %887
+ %889 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %889
+ OpBranch %876
+ %876 = OpLabel
+ %890 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %890
+ %891 = OpCompositeExtract %float %873 0
+ %892 = OpCompositeExtract %float %873 0
+ %893 = OpCompositeConstruct %v2float %891 %892
+ %894 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %894
+ %895 = OpFunctionCall %void %quicksort_
+ %896 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %896
+ %897 = OpLoad %v4float %gl_FragCoord
+ %898 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %898
+ %899 = OpCompositeExtract %float %873 1
+ %900 = OpCompositeExtract %float %873 1
+ %901 = OpCompositeConstruct %v2float %899 %900
+ %902 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %902
+ %903 = OpCompositeExtract %float %897 0
+ %904 = OpCompositeExtract %float %897 1
%905 = OpCompositeConstruct %v2float %903 %904
- %906 = OpLoad %int %i_2
- %907 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %907
- %908 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %908
- %910 = OpCompositeExtract %float %905 1
- %911 = OpCompositeExtract %float %905 1
- %912 = OpCompositeConstruct %v2float %910 %911
- %913 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %913
- OpBranch %900
- %900 = OpLabel
- %914 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %914
- %915 = OpCompositeExtract %float %897 0
- %916 = OpCompositeExtract %float %897 0
- %917 = OpCompositeConstruct %v2float %915 %916
- %918 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %918
- %919 = OpFunctionCall %void %quicksort_
- %920 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %920
- %921 = OpLoad %v4float %gl_FragCoord
- %922 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %922
- %923 = OpCompositeExtract %float %897 1
- %924 = OpCompositeExtract %float %897 1
+ %906 = OpCompositeExtract %float %905 1
+ %907 = OpCompositeExtract %float %893 1
+ %908 = OpCompositeExtract %float %893 1
+ %909 = OpCompositeConstruct %v3float %906 %907 %908
+ %910 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %910
+ %911 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %911
+ %913 = OpAccessChain %_ptr_Uniform_v2float %x_188 %uint_0
+ %914 = OpLoad %v2float %913
+ %915 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %915
+ %916 = OpCompositeExtract %float %897 1
+ %917 = OpCompositeExtract %float %35 2
+ %918 = OpCompositeExtract %float %897 3
+ %919 = OpCompositeConstruct %v3float %916 %917 %918
+ %920 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %920
+ %921 = OpFDiv %v2float %905 %914
+ %922 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %922
+ %923 = OpCompositeExtract %float %901 0
+ %924 = OpCompositeExtract %float %905 1
%925 = OpCompositeConstruct %v2float %923 %924
- %926 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %926
- %927 = OpCompositeExtract %float %921 0
- %928 = OpCompositeExtract %float %921 1
- %929 = OpCompositeConstruct %v2float %927 %928
- %930 = OpCompositeExtract %float %929 1
- %931 = OpCompositeExtract %float %917 1
- %932 = OpCompositeExtract %float %917 1
- %933 = OpCompositeConstruct %v3float %930 %931 %932
- %934 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %934
- %935 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %935
- %937 = OpAccessChain %_ptr_Uniform_v2float %x_188 %uint_0
- %938 = OpLoad %v2float %937
- %939 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %939
- %940 = OpCompositeExtract %float %921 1
- %941 = OpCompositeExtract %float %35 2
- %942 = OpCompositeExtract %float %921 3
- %943 = OpCompositeConstruct %v3float %940 %941 %942
- %944 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %944
- %945 = OpFDiv %v2float %929 %938
- %946 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %946
- %947 = OpCompositeExtract %float %925 0
- %948 = OpCompositeExtract %float %929 1
- %949 = OpCompositeConstruct %v2float %947 %948
- %950 = OpLoad %v3float %color
- OpStore %color %909
- %951 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %951
- OpStore %color %950
- OpStore %uv %945
+ %926 = OpLoad %v3float %color
+ OpStore %color %885
+ %927 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %927
+ OpStore %color %926
+ OpStore %uv %921
OpStore %color %35
- %952 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %952
- %953 = OpCompositeExtract %float %929 0
- %954 = OpCompositeExtract %float %929 1
- %955 = OpCompositeExtract %float %917 1
- %956 = OpCompositeConstruct %v3float %953 %954 %955
- %957 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %957
- %959 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
- %961 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %961
- %965 = OpLoad %int %959
- %966 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %966
- %968 = OpAccessChain %_ptr_Function_float %color %uint_0
- %970 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %970
- %974 = OpLoad %float %968
- %976 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %976
- %979 = OpCompositeExtract %float %35 2
- %980 = OpCompositeExtract %float %35 1
- %981 = OpCompositeConstruct %v2float %979 %980
+ %928 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %928
+ %929 = OpCompositeExtract %float %905 0
+ %930 = OpCompositeExtract %float %905 1
+ %931 = OpCompositeExtract %float %893 1
+ %932 = OpCompositeConstruct %v3float %929 %930 %931
+ %933 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %933
+ %934 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %935 = OpLoad %int %934
+ %936 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %936 %int_0
+ %937 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %937 %935
+ %938 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %939 = OpLoad %int %938
+ %940 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %940
+ %941 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %942 = OpLoad %int %941
+ %943 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %943 %int_0
+ %944 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %944 %942
+ %945 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %946 = OpLoad %float %945
+ %947 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %948 = OpLoad %float %947
+ %949 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %949 %float_0
+ %950 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %950 %948
+ %951 = OpCompositeExtract %float %35 2
+ %952 = OpCompositeExtract %float %35 1
+ %953 = OpCompositeConstruct %v2float %951 %952
+ %954 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %954
+ %955 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %955
+ %956 = OpCompositeExtract %float %932 0
+ %957 = OpCompositeExtract %float %925 0
+ %958 = OpCompositeExtract %float %925 1
+ %959 = OpCompositeConstruct %v3float %956 %957 %958
+ %960 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %961 = OpConvertSToF %float %939
+ %962 = OpFAdd %float %946 %961
+ OpStore %960 %962
+ %963 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %963
+ %964 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %964
+ %965 = OpCompositeExtract %float %897 1
+ %966 = OpCompositeExtract %float %897 1
+ %967 = OpCompositeConstruct %v2float %965 %966
+ %968 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %969 = OpLoad %float %968
+ %970 = OpCompositeExtract %float %921 1
+ %971 = OpCompositeExtract %float %921 0
+ %972 = OpCompositeConstruct %v2float %970 %971
+ %973 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %974 = OpLoad %float %973
+ %975 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %975 %float_0
+ %976 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %976 %974
+ %977 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %977
+ %979 = OpFOrdGreaterThan %bool %969 %float_0_25
+ OpSelectionMerge %980 None
+ OpBranchConditional %979 %981 %980
+ %981 = OpLabel
%982 = OpLoad %int %i_2
OpStore %i_2 %int_0
OpStore %i_2 %982
- %983 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %983
- %985 = OpAccessChain %_ptr_Function_float %color %uint_0
- %986 = OpCompositeExtract %float %956 0
- %987 = OpCompositeExtract %float %949 0
- %988 = OpCompositeExtract %float %949 1
- %989 = OpCompositeConstruct %v3float %986 %987 %988
- %991 = OpConvertSToF %float %965
- %992 = OpFAdd %float %974 %991
- OpStore %985 %992
- %993 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %993
- %995 = OpAccessChain %_ptr_Function_float %uv %uint_0
- %996 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %996
- %997 = OpCompositeExtract %float %921 1
- %998 = OpCompositeExtract %float %921 1
- %999 = OpCompositeConstruct %v2float %997 %998
- %1001 = OpLoad %float %995
- %1002 = OpCompositeExtract %float %945 1
- %1003 = OpCompositeExtract %float %945 0
- %1004 = OpCompositeConstruct %v2float %1002 %1003
- %1006 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1006
- %1009 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1009
- %1011 = OpFOrdGreaterThan %bool %1001 %float_0_25
- OpSelectionMerge %1012 None
- OpBranchConditional %1011 %1013 %1012
- %1013 = OpLabel
- %1014 = OpLoad %int %i_2
+ %983 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %984 = OpLoad %int %983
+ %985 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %985 %int_0
+ %986 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %986 %984
+ %987 = OpCompositeExtract %float %873 1
+ %988 = OpCompositeExtract %float %909 1
+ %989 = OpCompositeExtract %float %909 1
+ %990 = OpCompositeConstruct %v3float %987 %988 %989
+ %991 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %992 = OpLoad %float %991
+ %993 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %993 %float_0
+ %994 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %994 %992
+ %995 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_1
+ %996 = OpLoad %int %995
+ %997 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %997
+ %998 = OpCompositeExtract %float %967 0
+ %999 = OpCompositeExtract %float %967 0
+ %1000 = OpCompositeConstruct %v2float %998 %999
+ %1001 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1001
+ %1002 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1002
+ %1003 = OpCompositeExtract %float %35 2
+ %1004 = OpCompositeExtract %float %873 1
+ %1005 = OpCompositeConstruct %v2float %1003 %1004
+ %1006 = OpLoad %int %i_2
OpStore %i_2 %int_0
- OpStore %i_2 %1014
- %1016 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %1016
- %1019 = OpCompositeExtract %float %897 1
- %1020 = OpCompositeExtract %float %933 1
- %1021 = OpCompositeExtract %float %933 1
- %1022 = OpCompositeConstruct %v3float %1019 %1020 %1021
- %1024 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1024
- %1027 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_1
- %1028 = OpLoad %int %1027
- %1029 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1029
- %1030 = OpCompositeExtract %float %999 0
- %1031 = OpCompositeExtract %float %999 0
- %1032 = OpCompositeConstruct %v2float %1030 %1031
- %1033 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1033
- %1035 = OpAccessChain %_ptr_Function_float %color %int_0
- %1036 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1036
- %1037 = OpCompositeExtract %float %35 2
- %1038 = OpCompositeExtract %float %897 1
- %1039 = OpCompositeConstruct %v2float %1037 %1038
- %1040 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %1040
- %1042 = OpLoad %float %1035
- %1044 = OpLoad %float %1035
- OpStore %1035 %float_0
- OpStore %1035 %1044
- %1047 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1047
- %1048 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1048
- %1049 = OpCompositeExtract %float %999 1
- %1050 = OpCompositeExtract %float %999 1
- %1051 = OpCompositeExtract %float %925 1
- %1052 = OpCompositeConstruct %v3float %1049 %1050 %1051
- %1054 = OpLoad %float %1035
- OpStore %1035 %float_0
- OpStore %1035 %1054
- %1057 = OpAccessChain %_ptr_Function_float %color %uint_0
- %1058 = OpConvertSToF %float %1028
- %1059 = OpFAdd %float %1058 %1042
- OpStore %1057 %1059
- %1061 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %1061
- OpBranch %1012
- %1012 = OpLabel
- %1065 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1065
- %1069 = OpAccessChain %_ptr_Function_float %uv %uint_0
- %1071 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1071
- %1075 = OpLoad %float %1069
- %1077 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1077
- %1080 = OpCompositeExtract %float %989 2
- %1081 = OpCompositeExtract %float %989 1
- %1082 = OpCompositeExtract %float %989 1
- %1083 = OpCompositeConstruct %v3float %1080 %1081 %1082
- %1084 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1084
- %1086 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1086
- %1089 = OpCompositeExtract %float %897 1
- %1090 = OpCompositeExtract %float %897 1
- %1091 = OpCompositeConstruct %v2float %1089 %1090
- %1093 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1093
- %1097 = OpFOrdGreaterThan %bool %1075 %float_0_5
- OpSelectionMerge %1098 None
- OpBranchConditional %1097 %1099 %1098
- %1099 = OpLabel
- %1101 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1101
- %1104 = OpCompositeExtract %float %917 0
- %1105 = OpCompositeExtract %float %917 0
- %1106 = OpCompositeConstruct %v2float %1104 %1105
- %1108 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1108
+ OpStore %i_2 %1006
+ %1007 = OpAccessChain %_ptr_Function_float %color %int_0
+ %1008 = OpLoad %float %1007
+ %1009 = OpAccessChain %_ptr_Function_float %color %int_0
+ %1010 = OpLoad %float %1009
+ %1011 = OpAccessChain %_ptr_Function_float %color %int_0
+ OpStore %1011 %float_0
+ %1012 = OpAccessChain %_ptr_Function_float %color %int_0
+ OpStore %1012 %1010
+ %1013 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1013
+ %1014 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1014
+ %1015 = OpCompositeExtract %float %967 1
+ %1016 = OpCompositeExtract %float %967 1
+ %1017 = OpCompositeExtract %float %901 1
+ %1018 = OpCompositeConstruct %v3float %1015 %1016 %1017
+ %1019 = OpAccessChain %_ptr_Function_float %color %int_0
+ %1020 = OpLoad %float %1019
+ %1021 = OpAccessChain %_ptr_Function_float %color %int_0
+ OpStore %1021 %float_0
+ %1022 = OpAccessChain %_ptr_Function_float %color %int_0
+ OpStore %1022 %1020
+ %1023 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1024 = OpConvertSToF %float %996
+ %1025 = OpFAdd %float %1024 %1008
+ OpStore %1023 %1025
+ %1026 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %1027 = OpLoad %int %1026
+ %1028 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1028 %int_0
+ %1029 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1029 %1027
+ OpBranch %980
+ %980 = OpLabel
+ %1030 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1031 = OpLoad %float %1030
+ %1032 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1032 %float_0
+ %1033 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1033 %1031
+ %1034 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1035 = OpLoad %float %1034
+ %1036 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1036 %float_0
+ %1037 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1037 %1035
+ %1038 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1039 = OpLoad %float %1038
+ %1040 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1041 = OpLoad %float %1040
+ %1042 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1042 %float_0
+ %1043 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1043 %1041
+ %1044 = OpCompositeExtract %float %959 2
+ %1045 = OpCompositeExtract %float %959 1
+ %1046 = OpCompositeExtract %float %959 1
+ %1047 = OpCompositeConstruct %v3float %1044 %1045 %1046
+ %1048 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1048
+ %1049 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1050 = OpLoad %float %1049
+ %1051 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1051 %float_0
+ %1052 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1052 %1050
+ %1053 = OpCompositeExtract %float %873 1
+ %1054 = OpCompositeExtract %float %873 1
+ %1055 = OpCompositeConstruct %v2float %1053 %1054
+ %1056 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1057 = OpLoad %float %1056
+ %1058 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1058 %float_0
+ %1059 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1059 %1057
+ %1061 = OpFOrdGreaterThan %bool %1039 %float_0_5
+ OpSelectionMerge %1062 None
+ OpBranchConditional %1061 %1063 %1062
+ %1063 = OpLabel
+ %1064 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1065 = OpLoad %float %1064
+ %1066 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1066 %float_0
+ %1067 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1067 %1065
+ %1068 = OpCompositeExtract %float %893 0
+ %1069 = OpCompositeExtract %float %893 0
+ %1070 = OpCompositeConstruct %v2float %1068 %1069
+ %1071 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1072 = OpLoad %float %1071
+ %1073 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1073 %float_0
+ %1074 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1074 %1072
+ %1075 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1076 = OpLoad %float %1075
+ %1077 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1077 %float_0
+ %1078 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1078 %1076
+ %1079 = OpCompositeExtract %float %959 0
+ %1080 = OpCompositeExtract %float %959 2
+ %1081 = OpCompositeExtract %float %1055 1
+ %1082 = OpCompositeConstruct %v3float %1079 %1080 %1081
+ %1083 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1084 = OpLoad %float %1083
+ %1085 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1085 %float_0
+ %1086 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1086 %1084
+ %1088 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
+ %1089 = OpLoad %int %1088
+ %1090 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1091 = OpLoad %float %1090
+ %1092 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1092 %float_0
+ %1093 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1093 %1091
+ %1094 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1095 = OpLoad %float %1094
+ %1096 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1096 %float_0
+ %1097 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1097 %1095
+ %1098 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
+ %1099 = OpLoad %int %1098
+ %1100 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
+ OpStore %1100 %int_0
+ %1101 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
+ OpStore %1101 %1099
+ %1102 = OpCompositeExtract %float %925 1
+ %1103 = OpCompositeExtract %float %914 0
+ %1104 = OpCompositeConstruct %v2float %1102 %1103
+ %1105 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1106 = OpLoad %float %1105
+ %1107 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1107 %float_0
+ %1108 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1108 %1106
+ %1109 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1110 = OpLoad %float %1109
+ %1111 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
+ %1112 = OpLoad %int %1111
%1113 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
- %1115 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1115
- %1118 = OpCompositeExtract %float %989 0
- %1119 = OpCompositeExtract %float %989 2
- %1120 = OpCompositeExtract %float %1091 1
- %1121 = OpCompositeConstruct %v3float %1118 %1119 %1120
- %1123 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1123
- %1127 = OpLoad %int %1113
- %1129 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1129
- %1133 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1133
- %1137 = OpAccessChain %_ptr_Function_float %color %uint_1
- %1139 = OpLoad %int %1113
OpStore %1113 %int_0
- OpStore %1113 %1139
- %1142 = OpCompositeExtract %float %949 1
- %1143 = OpCompositeExtract %float %938 0
- %1144 = OpCompositeConstruct %v2float %1142 %1143
- %1146 = OpLoad %float %1137
- OpStore %1137 %float_0
- OpStore %1137 %1146
- %1150 = OpLoad %float %1137
- %1152 = OpLoad %int %1113
- OpStore %1113 %int_0
- OpStore %1113 %1152
- %1155 = OpCompositeExtract %float %1121 0
- %1156 = OpCompositeExtract %float %929 0
- %1157 = OpCompositeConstruct %v2float %1155 %1156
- %1159 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1159
- %1162 = OpLoad %int %i_2
+ %1114 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2
+ OpStore %1114 %1112
+ %1115 = OpCompositeExtract %float %1082 0
+ %1116 = OpCompositeExtract %float %905 0
+ %1117 = OpCompositeConstruct %v2float %1115 %1116
+ %1118 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1119 = OpLoad %float %1118
+ %1120 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1120 %float_0
+ %1121 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1121 %1119
+ %1122 = OpLoad %int %i_2
OpStore %i_2 %int_0
- OpStore %i_2 %1162
- %1163 = OpCompositeExtract %float %1004 1
- %1164 = OpCompositeExtract %float %897 1
- %1165 = OpCompositeConstruct %v2float %1163 %1164
- %1166 = OpLoad %int %i_2
+ OpStore %i_2 %1122
+ %1123 = OpCompositeExtract %float %972 1
+ %1124 = OpCompositeExtract %float %873 1
+ %1125 = OpCompositeConstruct %v2float %1123 %1124
+ %1126 = OpLoad %int %i_2
OpStore %i_2 %int_0
- OpStore %i_2 %1166
- %1167 = OpAccessChain %_ptr_Function_float %color %uint_1
- %1168 = OpConvertSToF %float %1127
- %1169 = OpFAdd %float %1168 %1150
- OpStore %1167 %1169
- %1171 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1171
- OpBranch %1098
- %1098 = OpLabel
- %1175 = OpAccessChain %_ptr_Function_float %uv %int_0
- %1176 = OpLoad %int %i_2
+ OpStore %i_2 %1126
+ %1127 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1128 = OpConvertSToF %float %1089
+ %1129 = OpFAdd %float %1128 %1110
+ OpStore %1127 %1129
+ %1130 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1131 = OpLoad %float %1130
+ %1132 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1132 %float_0
+ %1133 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1133 %1131
+ OpBranch %1062
+ %1062 = OpLabel
+ %1134 = OpLoad %int %i_2
OpStore %i_2 %int_0
- OpStore %i_2 %1176
- %1177 = OpCompositeExtract %float %938 0
- %1178 = OpCompositeExtract %float %938 0
- %1179 = OpCompositeConstruct %v2float %1177 %1178
- %1181 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1181
- %1185 = OpLoad %float %1175
- %1186 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1186
- %1188 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1188
- %1192 = OpFOrdGreaterThan %bool %1185 %float_0_75
- OpSelectionMerge %1193 None
- OpBranchConditional %1192 %1194 %1193
- %1194 = OpLabel
- %1196 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1196
- %1200 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_3
- %1201 = OpLoad %int %1200
- %1203 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1203
- %1206 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1206
- %1207 = OpCompositeExtract %float %1179 0
- %1208 = OpCompositeExtract %float %1179 0
- %1209 = OpCompositeExtract %float %1179 0
- %1210 = OpCompositeConstruct %v3float %1207 %1208 %1209
- %1212 = OpLoad %float %1175
+ OpStore %i_2 %1134
+ %1135 = OpCompositeExtract %float %914 0
+ %1136 = OpCompositeExtract %float %914 0
+ %1137 = OpCompositeConstruct %v2float %1135 %1136
+ %1138 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1139 = OpLoad %float %1138
+ %1140 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1140 %float_0
+ %1141 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1141 %1139
+ %1142 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1143 = OpLoad %float %1142
+ %1144 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1144
+ %1145 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1146 = OpLoad %float %1145
+ %1147 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1147 %float_0
+ %1148 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1148 %1146
+ %1150 = OpFOrdGreaterThan %bool %1143 %float_0_75
+ OpSelectionMerge %1151 None
+ OpBranchConditional %1150 %1152 %1151
+ %1152 = OpLabel
+ %1153 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1154 = OpLoad %float %1153
+ %1155 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1155 %float_0
+ %1156 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1156 %1154
+ %1158 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_3
+ %1159 = OpLoad %int %1158
+ %1160 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1161 = OpLoad %float %1160
+ %1162 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1162 %float_0
+ %1163 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1163 %1161
+ %1164 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1164
+ %1165 = OpCompositeExtract %float %1137 0
+ %1166 = OpCompositeExtract %float %1137 0
+ %1167 = OpCompositeExtract %float %1137 0
+ %1168 = OpCompositeConstruct %v3float %1165 %1166 %1167
+ %1169 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1170 = OpLoad %float %1169
+ %1171 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1171 %float_0
+ %1172 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1172 %1170
+ %1173 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1174 = OpLoad %float %1173
+ %1175 = OpAccessChain %_ptr_Function_float %uv %uint_0
OpStore %1175 %float_0
- OpStore %1175 %1212
- %1216 = OpAccessChain %_ptr_Function_float %color %uint_2
- %1218 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1218
- %1222 = OpLoad %float %1216
- %1223 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1223
- %1224 = OpCompositeExtract %float %1179 0
- %1225 = OpCompositeExtract %float %938 1
- %1226 = OpCompositeExtract %float %1179 1
- %1227 = OpCompositeConstruct %v3float %1224 %1225 %1226
- %1229 = OpLoad %float %1216
- OpStore %1216 %float_0
- OpStore %1216 %1229
- %1233 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %1233
- %1236 = OpCompositeExtract %float %897 0
- %1237 = OpCompositeExtract %float %897 1
- %1238 = OpCompositeConstruct %v2float %1236 %1237
- %1240 = OpLoad %float %1216
- OpStore %1216 %float_0
- OpStore %1216 %1240
- %1243 = OpAccessChain %_ptr_Function_float %color %uint_2
- %1244 = OpConvertSToF %float %1201
- %1245 = OpFAdd %float %1222 %1244
- OpStore %1243 %1245
- %1246 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1246
- %1247 = OpCompositeExtract %float %1238 1
- %1248 = OpCompositeExtract %float %1238 1
- %1249 = OpCompositeConstruct %v2float %1247 %1248
- OpBranch %1193
- %1193 = OpLabel
- %1251 = OpLoad %float %1175
- OpStore %1175 %float_0
- OpStore %1175 %1251
- %1254 = OpCompositeExtract %float %999 0
- %1255 = OpCompositeExtract %float %999 1
- %1256 = OpCompositeExtract %float %999 1
- %1257 = OpCompositeConstruct %v3float %1254 %1255 %1256
- %1260 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
- %1262 = OpLoad %int %1260
- %1264 = OpLoad %float %1175
- OpStore %1175 %float_0
- OpStore %1175 %1264
- %1267 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1267
- %1268 = OpCompositeExtract %float %917 1
- %1269 = OpCompositeExtract %float %989 0
- %1270 = OpCompositeExtract %float %989 0
- %1271 = OpCompositeConstruct %v3float %1268 %1269 %1270
- %1273 = OpLoad %int %1260
- OpStore %1260 %int_0
- OpStore %1260 %1273
- %1277 = OpAccessChain %_ptr_Function_float %color %uint_1
- %1278 = OpCompositeExtract %float %938 0
- %1279 = OpCompositeExtract %float %921 2
- %1280 = OpCompositeConstruct %v2float %1278 %1279
- %1282 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1282
- %1286 = OpLoad %float %1277
- %1288 = OpLoad %float %1277
+ %1176 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1176 %1174
+ %1177 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1178 = OpLoad %float %1177
+ %1179 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1179
+ %1180 = OpCompositeExtract %float %1137 0
+ %1181 = OpCompositeExtract %float %914 1
+ %1182 = OpCompositeExtract %float %1137 1
+ %1183 = OpCompositeConstruct %v3float %1180 %1181 %1182
+ %1184 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1185 = OpLoad %float %1184
+ %1186 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1186 %float_0
+ %1187 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1187 %1185
+ %1188 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %1189 = OpLoad %int %1188
+ %1190 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1190 %int_0
+ %1191 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1191 %1189
+ %1192 = OpCompositeExtract %float %873 0
+ %1193 = OpCompositeExtract %float %873 1
+ %1194 = OpCompositeConstruct %v2float %1192 %1193
+ %1195 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1196 = OpLoad %float %1195
+ %1197 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1197 %float_0
+ %1198 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1198 %1196
+ %1199 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1200 = OpConvertSToF %float %1159
+ %1201 = OpFAdd %float %1178 %1200
+ OpStore %1199 %1201
+ %1202 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1202
+ %1203 = OpCompositeExtract %float %1194 1
+ %1204 = OpCompositeExtract %float %1194 1
+ %1205 = OpCompositeConstruct %v2float %1203 %1204
+ OpBranch %1151
+ %1151 = OpLabel
+ %1206 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1207 = OpLoad %float %1206
+ %1208 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1208 %float_0
+ %1209 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1209 %1207
+ %1210 = OpCompositeExtract %float %967 0
+ %1211 = OpCompositeExtract %float %967 1
+ %1212 = OpCompositeExtract %float %967 1
+ %1213 = OpCompositeConstruct %v3float %1210 %1211 %1212
+ %1215 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1216 = OpLoad %int %1215
+ %1217 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1218 = OpLoad %float %1217
+ %1219 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1219 %float_0
+ %1220 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1220 %1218
+ %1221 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1221
+ %1222 = OpCompositeExtract %float %893 1
+ %1223 = OpCompositeExtract %float %959 0
+ %1224 = OpCompositeExtract %float %959 0
+ %1225 = OpCompositeConstruct %v3float %1222 %1223 %1224
+ %1226 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1227 = OpLoad %int %1226
+ %1228 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1228 %int_0
+ %1229 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1229 %1227
+ %1230 = OpCompositeExtract %float %914 0
+ %1231 = OpCompositeExtract %float %897 2
+ %1232 = OpCompositeConstruct %v2float %1230 %1231
+ %1233 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1234 = OpLoad %float %1233
+ %1235 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1235 %float_0
+ %1236 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1236 %1234
+ %1237 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1238 = OpLoad %float %1237
+ %1239 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1240 = OpLoad %float %1239
+ %1241 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1241 %float_0
+ %1242 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1242 %1240
+ %1243 = OpCompositeExtract %float %1137 0
+ %1244 = OpCompositeExtract %float %925 0
+ %1245 = OpCompositeConstruct %v2float %1243 %1244
+ %1246 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1247 = OpLoad %float %1246
+ %1248 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1248 %float_0
+ %1249 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1249 %1247
+ %1250 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1251 = OpLoad %float %1250
+ %1252 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1252 %float_0
+ %1253 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1253 %1251
+ %1254 = OpCompositeExtract %float %932 2
+ %1255 = OpCompositeExtract %float %1047 1
+ %1256 = OpCompositeConstruct %v2float %1254 %1255
+ %1257 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1258 = OpConvertSToF %float %1216
+ %1259 = OpFAdd %float %1238 %1258
+ OpStore %1257 %1259
+ %1260 = OpCompositeExtract %float %873 0
+ %1261 = OpCompositeExtract %float %1213 0
+ %1262 = OpCompositeExtract %float %873 1
+ %1263 = OpCompositeConstruct %v3float %1260 %1261 %1262
+ %1264 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1265 = OpLoad %float %1264
+ %1266 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1266 %float_0
+ %1267 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1267 %1265
+ %1268 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1269 = OpLoad %float %1268
+ %1270 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1270 %float_0
+ %1271 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1271 %1269
+ %1272 = OpCompositeExtract %float %1213 0
+ %1273 = OpCompositeExtract %float %1213 1
+ %1274 = OpCompositeConstruct %v2float %1272 %1273
+ %1275 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1276 = OpLoad %float %1275
+ %1277 = OpAccessChain %_ptr_Function_float %uv %uint_1
OpStore %1277 %float_0
- OpStore %1277 %1288
- %1291 = OpCompositeExtract %float %1179 0
- %1292 = OpCompositeExtract %float %949 0
- %1293 = OpCompositeConstruct %v2float %1291 %1292
- %1295 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1295
- %1299 = OpAccessChain %_ptr_Function_float %color %uint_1
- %1301 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1301
- %1304 = OpCompositeExtract %float %956 2
- %1305 = OpCompositeExtract %float %1083 1
- %1306 = OpCompositeConstruct %v2float %1304 %1305
- %1308 = OpConvertSToF %float %1262
- %1309 = OpFAdd %float %1286 %1308
- OpStore %1299 %1309
- %1310 = OpCompositeExtract %float %897 0
- %1311 = OpCompositeExtract %float %1257 0
- %1312 = OpCompositeExtract %float %897 1
- %1313 = OpCompositeConstruct %v3float %1310 %1311 %1312
- %1315 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1315
- %1319 = OpAccessChain %_ptr_Function_float %uv %uint_1
- %1321 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1321
- %1324 = OpCompositeExtract %float %1257 0
- %1325 = OpCompositeExtract %float %1257 1
- %1326 = OpCompositeConstruct %v2float %1324 %1325
- %1328 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1328
- %1332 = OpLoad %float %1319
+ %1278 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1278 %1276
+ %1279 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1280 = OpLoad %float %1279
+ %1281 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %1281
+ %1282 = OpCompositeExtract %float %873 1
+ %1283 = OpCompositeExtract %float %967 1
+ %1284 = OpCompositeExtract %float %873 0
+ %1285 = OpCompositeConstruct %v3float %1282 %1283 %1284
+ %1286 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %1287 = OpLoad %int %1286
+ %1288 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1288 %int_0
+ %1289 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1289 %1287
+ %1290 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1291 = OpLoad %float %1290
+ %1292 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1292 %float_0
+ %1293 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1293 %1291
+ %1294 = OpCompositeExtract %float %893 0
+ %1295 = OpCompositeExtract %float %893 0
+ %1296 = OpCompositeExtract %float %873 1
+ %1297 = OpCompositeConstruct %v3float %1294 %1295 %1296
+ %1298 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1299 = OpLoad %float %1298
+ %1300 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1300 %float_0
+ %1301 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1301 %1299
+ %1302 = OpFOrdGreaterThan %bool %1280 %float_0_25
+ OpSelectionMerge %1303 None
+ OpBranchConditional %1302 %1304 %1303
+ %1304 = OpLabel
+ %1305 = OpCompositeExtract %float %901 0
+ %1306 = OpCompositeExtract %float %1297 2
+ %1307 = OpCompositeConstruct %v2float %1305 %1306
+ %1308 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1308
+ %1310 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_5
+ %1311 = OpLoad %int %1310
+ %1312 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1313 = OpLoad %float %1312
+ %1314 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1314 %float_0
+ %1315 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1315 %1313
+ %1316 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %1316
+ %1317 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %1317
+ %1318 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1319 = OpLoad %float %1318
+ %1320 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1321 = OpLoad %float %1320
+ %1322 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1322 %float_0
+ %1323 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1323 %1321
+ %1324 = OpCompositeExtract %float %972 0
+ %1325 = OpCompositeExtract %float %1245 1
+ %1326 = OpCompositeExtract %float %972 1
+ %1327 = OpCompositeConstruct %v3float %1324 %1325 %1326
+ %1328 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1328
+ %1329 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1330 = OpLoad %float %1329
+ %1331 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1331 %float_0
+ %1332 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1332 %1330
%1333 = OpLoad %int %i_2
OpStore %i_2 %int_0
OpStore %i_2 %1333
- %1334 = OpCompositeExtract %float %897 1
- %1335 = OpCompositeExtract %float %999 1
- %1336 = OpCompositeExtract %float %897 0
+ %1334 = OpCompositeExtract %float %897 3
+ %1335 = OpCompositeExtract %float %897 3
+ %1336 = OpCompositeExtract %float %921 0
%1337 = OpCompositeConstruct %v3float %1334 %1335 %1336
- %1339 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %1339
- %1343 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1343
- %1346 = OpCompositeExtract %float %917 0
- %1347 = OpCompositeExtract %float %917 0
- %1348 = OpCompositeExtract %float %897 1
- %1349 = OpCompositeConstruct %v3float %1346 %1347 %1348
- %1351 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1351
- %1354 = OpFOrdGreaterThan %bool %1332 %float_0_25
- OpSelectionMerge %1355 None
- OpBranchConditional %1354 %1356 %1355
- %1356 = OpLabel
- %1357 = OpCompositeExtract %float %925 0
- %1358 = OpCompositeExtract %float %1349 2
- %1359 = OpCompositeConstruct %v2float %1357 %1358
- %1360 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1360
- %1362 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_5
- %1363 = OpLoad %int %1362
- %1365 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1365
- %1368 = OpLoad %int %i_2
+ %1338 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1339 = OpLoad %float %1338
+ %1340 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1340 %float_0
+ %1341 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1341 %1339
+ %1342 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1343 = OpConvertSToF %float %1311
+ %1344 = OpFAdd %float %1343 %1319
+ OpStore %1342 %1344
+ %1345 = OpCompositeExtract %float %967 1
+ %1346 = OpCompositeExtract %float %925 0
+ %1347 = OpCompositeExtract %float %967 1
+ %1348 = OpCompositeConstruct %v3float %1345 %1346 %1347
+ %1349 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1350 = OpLoad %float %1349
+ %1351 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1351 %float_0
+ %1352 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1352 %1350
+ OpBranch %1303
+ %1303 = OpLabel
+ %1353 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1354 = OpLoad %float %1353
+ %1355 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1355 %float_0
+ %1356 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1356 %1354
+ %1357 = OpCompositeExtract %float %1137 0
+ %1358 = OpCompositeExtract %float %925 1
+ %1359 = OpCompositeExtract %float %925 0
+ %1360 = OpCompositeConstruct %v3float %1357 %1358 %1359
+ %1361 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1362 = OpLoad %float %1361
+ %1363 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1363 %float_0
+ %1364 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1364 %1362
+ %1365 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1366 = OpLoad %int %1365
+ %1367 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1367 %int_0
+ %1368 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1368 %1366
+ %1369 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1370 = OpLoad %float %1369
+ %1371 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %1372 = OpLoad %int %1371
+ %1373 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1373 %int_0
+ %1374 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1374 %1372
+ %1375 = OpFOrdGreaterThan %bool %1370 %float_0_5
+ OpSelectionMerge %1376 None
+ OpBranchConditional %1375 %1377 %1376
+ %1377 = OpLabel
+ %1378 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1379 = OpLoad %float %1378
+ %1380 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1380 %float_0
+ %1381 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1381 %1379
+ %1382 = OpCompositeExtract %float %1297 1
+ %1383 = OpCompositeExtract %float %972 1
+ %1384 = OpCompositeConstruct %v2float %1382 %1383
+ %1385 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1386 = OpLoad %float %1385
+ %1387 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1387 %float_0
+ %1388 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1388 %1386
+ %1389 = OpCompositeExtract %float %919 2
+ %1390 = OpCompositeExtract %float %919 1
+ %1391 = OpCompositeConstruct %v2float %1389 %1390
+ %1392 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1393 = OpLoad %float %1392
+ %1394 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1394 %float_0
+ %1395 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1395 %1393
+ %1397 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ %1398 = OpLoad %int %1397
+ %1399 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1400 = OpLoad %float %1399
+ %1401 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1401 %float_0
+ %1402 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1402 %1400
+ %1403 = OpLoad %int %i_2
OpStore %i_2 %int_0
- OpStore %i_2 %1368
- %1369 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %1369
- %1370 = OpAccessChain %_ptr_Function_float %color %uint_0
- %1371 = OpLoad %float %1370
- %1373 = OpLoad %float %1175
- OpStore %1175 %float_0
- OpStore %1175 %1373
- %1376 = OpCompositeExtract %float %1004 0
- %1377 = OpCompositeExtract %float %1293 1
- %1378 = OpCompositeExtract %float %1004 1
- %1379 = OpCompositeConstruct %v3float %1376 %1377 %1378
- %1380 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1380
- %1382 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1382
- %1385 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %1385
- %1386 = OpCompositeExtract %float %921 3
- %1387 = OpCompositeExtract %float %921 3
- %1388 = OpCompositeExtract %float %945 0
- %1389 = OpCompositeConstruct %v3float %1386 %1387 %1388
- %1391 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1391
- %1394 = OpAccessChain %_ptr_Function_float %color %uint_0
- %1395 = OpConvertSToF %float %1363
- %1396 = OpFAdd %float %1395 %1371
- OpStore %1394 %1396
- %1397 = OpCompositeExtract %float %999 1
- %1398 = OpCompositeExtract %float %949 0
- %1399 = OpCompositeExtract %float %999 1
- %1400 = OpCompositeConstruct %v3float %1397 %1398 %1399
- %1402 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1402
- OpBranch %1355
- %1355 = OpLabel
- %1406 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1406
- %1409 = OpCompositeExtract %float %1179 0
- %1410 = OpCompositeExtract %float %949 1
- %1411 = OpCompositeExtract %float %949 0
- %1412 = OpCompositeConstruct %v3float %1409 %1410 %1411
- %1414 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1414
- %1418 = OpAccessChain %_ptr_Function_float %uv %uint_1
- %1420 = OpLoad %int %1260
- OpStore %1260 %int_0
- OpStore %1260 %1420
- %1424 = OpLoad %float %1418
- %1426 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %1426
- %1429 = OpFOrdGreaterThan %bool %1424 %float_0_5
- OpSelectionMerge %1430 None
- OpBranchConditional %1429 %1431 %1430
- %1431 = OpLabel
- %1433 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1433
- %1436 = OpCompositeExtract %float %1349 1
- %1437 = OpCompositeExtract %float %1004 1
- %1438 = OpCompositeConstruct %v2float %1436 %1437
- %1441 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
- %1443 = OpLoad %float %1277
- OpStore %1277 %float_0
- OpStore %1277 %1443
- %1446 = OpCompositeExtract %float %943 2
- %1447 = OpCompositeExtract %float %943 1
- %1448 = OpCompositeConstruct %v2float %1446 %1447
- %1450 = OpLoad %float %1418
- OpStore %1418 %float_0
- OpStore %1418 %1450
- %1454 = OpLoad %int %1441
- %1456 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1456
- %1459 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %1459
- %1461 = OpLoad %int %1260
- OpStore %1260 %int_0
- OpStore %1260 %1461
- %1464 = OpCompositeExtract %float %1271 2
- %1465 = OpCompositeExtract %float %1271 1
- %1466 = OpCompositeConstruct %v2float %1464 %1465
+ OpStore %i_2 %1403
+ %1404 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1405 = OpLoad %int %1404
+ %1406 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1406 %int_0
+ %1407 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1407 %1405
+ %1408 = OpCompositeExtract %float %1225 2
+ %1409 = OpCompositeExtract %float %1225 1
+ %1410 = OpCompositeConstruct %v2float %1408 %1409
+ %1411 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1412 = OpLoad %float %1411
+ %1413 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1413
+ %1414 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1415 = OpLoad %float %1414
+ %1416 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1416 %float_0
+ %1417 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1417 %1415
+ %1418 = OpCompositeExtract %float %1245 1
+ %1419 = OpCompositeExtract %float %1245 0
+ %1420 = OpCompositeConstruct %v2float %1418 %1419
+ %1421 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ %1422 = OpLoad %int %1421
+ %1423 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ OpStore %1423 %int_0
+ %1424 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ OpStore %1424 %1422
+ %1425 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ %1426 = OpLoad %int %1425
+ %1427 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ OpStore %1427 %int_0
+ %1428 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6
+ OpStore %1428 %1426
+ %1429 = OpCompositeExtract %float %1297 2
+ %1430 = OpCompositeExtract %float %1297 2
+ %1431 = OpCompositeConstruct %v2float %1429 %1430
+ %1432 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1432
+ %1433 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1434 = OpConvertSToF %float %1398
+ %1435 = OpFAdd %float %1434 %1412
+ OpStore %1433 %1435
+ %1436 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1437 = OpLoad %float %1436
+ %1438 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1438 %float_0
+ %1439 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1439 %1437
+ %1440 = OpCompositeExtract %float %35 1
+ %1441 = OpCompositeExtract %float %967 0
+ %1442 = OpCompositeConstruct %v2float %1440 %1441
+ %1443 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1444 = OpLoad %float %1443
+ %1445 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1445 %float_0
+ %1446 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1446 %1444
+ OpBranch %1376
+ %1376 = OpLabel
+ %1447 = OpCompositeExtract %float %972 1
+ %1448 = OpCompositeExtract %float %972 1
+ %1449 = OpCompositeConstruct %v2float %1447 %1448
+ %1450 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1451 = OpLoad %float %1450
+ %1452 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1452 %float_0
+ %1453 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1453 %1451
+ %1454 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1455 = OpLoad %float %1454
+ %1456 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1456
+ %1457 = OpCompositeExtract %float %1245 0
+ %1458 = OpCompositeExtract %float %1245 1
+ %1459 = OpCompositeConstruct %v2float %1457 %1458
+ %1460 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1461 = OpLoad %float %1460
+ %1462 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1462 %float_0
+ %1463 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1463 %1461
+ %1464 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1465 = OpLoad %float %1464
+ %1466 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1466 %float_0
%1467 = OpAccessChain %_ptr_Function_float %color %uint_1
- %1468 = OpLoad %float %1467
- %1469 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1469
- %1471 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1471
- %1474 = OpCompositeExtract %float %1293 1
- %1475 = OpCompositeExtract %float %1293 0
- %1476 = OpCompositeConstruct %v2float %1474 %1475
- %1478 = OpLoad %int %1441
- OpStore %1441 %int_0
- OpStore %1441 %1478
- %1482 = OpLoad %int %1441
- OpStore %1441 %int_0
- OpStore %1441 %1482
- %1485 = OpCompositeExtract %float %1349 2
- %1486 = OpCompositeExtract %float %1349 2
- %1487 = OpCompositeConstruct %v2float %1485 %1486
- %1488 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1488
- %1489 = OpAccessChain %_ptr_Function_float %color %uint_1
- %1490 = OpConvertSToF %float %1454
- %1491 = OpFAdd %float %1490 %1468
- OpStore %1489 %1491
- %1493 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1493
- %1496 = OpCompositeExtract %float %35 1
- %1497 = OpCompositeExtract %float %999 0
- %1498 = OpCompositeConstruct %v2float %1496 %1497
- %1500 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1500
- OpBranch %1430
- %1430 = OpLabel
- %1503 = OpCompositeExtract %float %1004 1
- %1504 = OpCompositeExtract %float %1004 1
- %1505 = OpCompositeConstruct %v2float %1503 %1504
- %1507 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1507
- %1511 = OpAccessChain %_ptr_Function_float %uv %uint_1
- %1513 = OpLoad %float %1511
- %1514 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1514
- %1515 = OpCompositeExtract %float %1293 0
- %1516 = OpCompositeExtract %float %1293 1
- %1517 = OpCompositeConstruct %v2float %1515 %1516
- %1519 = OpLoad %float %1175
- OpStore %1175 %float_0
- OpStore %1175 %1519
- %1523 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1523
- %1526 = OpCompositeExtract %float %938 0
- %1527 = OpCompositeExtract %float %938 1
- %1528 = OpCompositeExtract %float %938 1
- %1529 = OpCompositeConstruct %v3float %1526 %1527 %1528
- %1531 = OpLoad %int %1260
- OpStore %1260 %int_0
- OpStore %1260 %1531
- %1534 = OpFOrdGreaterThan %bool %1513 %float_0_75
- OpSelectionMerge %1535 None
- OpBranchConditional %1534 %1536 %1535
- %1536 = OpLabel
- %1537 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1537
- %1539 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1539
- %1542 = OpCompositeExtract %float %945 1
- %1543 = OpCompositeExtract %float %945 0
- %1544 = OpCompositeExtract %float %945 1
- %1545 = OpCompositeConstruct %v3float %1542 %1543 %1544
- %1546 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1546
- %1548 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_7
- %1549 = OpLoad %int %1548
- %1551 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1551
- %1554 = OpCompositeExtract %float %1293 0
- %1555 = OpCompositeExtract %float %1179 1
- %1556 = OpCompositeExtract %float %1179 0
- %1557 = OpCompositeConstruct %v3float %1554 %1555 %1556
- %1559 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1559
- %1562 = OpCompositeExtract %float %1313 0
- %1563 = OpCompositeExtract %float %1091 1
- %1564 = OpCompositeConstruct %v2float %1562 %1563
- %1566 = OpLoad %int %959
- OpStore %959 %int_0
- OpStore %959 %1566
- %1570 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1570
- %1573 = OpCompositeExtract %float %1326 0
- %1574 = OpCompositeExtract %float %1326 1
- %1575 = OpCompositeExtract %float %1326 0
- %1576 = OpCompositeConstruct %v3float %1573 %1574 %1575
- %1578 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1578
- %1581 = OpAccessChain %_ptr_Function_float %color %uint_2
- %1582 = OpLoad %float %1581
- %1584 = OpLoad %float %1418
- OpStore %1418 %float_0
- OpStore %1418 %1584
- %1587 = OpCompositeExtract %float %921 0
- %1588 = OpCompositeExtract %float %921 1
- %1589 = OpCompositeConstruct %v2float %1587 %1588
- %1591 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1591
- %1595 = OpLoad %float %1511
- OpStore %1511 %float_0
- OpStore %1511 %1595
+ OpStore %1467 %1465
+ %1468 = OpCompositeExtract %float %914 0
+ %1469 = OpCompositeExtract %float %914 1
+ %1470 = OpCompositeExtract %float %914 1
+ %1471 = OpCompositeConstruct %v3float %1468 %1469 %1470
+ %1472 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1473 = OpLoad %int %1472
+ %1474 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1474 %int_0
+ %1475 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1475 %1473
+ %1476 = OpFOrdGreaterThan %bool %1455 %float_0_75
+ OpSelectionMerge %1477 None
+ OpBranchConditional %1476 %1478 %1477
+ %1478 = OpLabel
+ %1479 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1479
+ %1480 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1481 = OpLoad %float %1480
+ %1482 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1482 %float_0
+ %1483 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1483 %1481
+ %1484 = OpCompositeExtract %float %921 1
+ %1485 = OpCompositeExtract %float %921 0
+ %1486 = OpCompositeExtract %float %921 1
+ %1487 = OpCompositeConstruct %v3float %1484 %1485 %1486
+ %1488 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1488
+ %1490 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_7
+ %1491 = OpLoad %int %1490
+ %1492 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1493 = OpLoad %float %1492
+ %1494 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1494 %float_0
+ %1495 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1495 %1493
+ %1496 = OpCompositeExtract %float %1245 0
+ %1497 = OpCompositeExtract %float %1137 1
+ %1498 = OpCompositeExtract %float %1137 0
+ %1499 = OpCompositeConstruct %v3float %1496 %1497 %1498
+ %1500 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1501 = OpLoad %float %1500
+ %1502 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1502 %float_0
+ %1503 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1503 %1501
+ %1504 = OpCompositeExtract %float %1263 0
+ %1505 = OpCompositeExtract %float %1055 1
+ %1506 = OpCompositeConstruct %v2float %1504 %1505
+ %1507 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ %1508 = OpLoad %int %1507
+ %1509 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1509 %int_0
+ %1510 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0
+ OpStore %1510 %1508
+ %1511 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1512 = OpLoad %float %1511
+ %1513 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1513 %float_0
+ %1514 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1514 %1512
+ %1515 = OpCompositeExtract %float %1274 0
+ %1516 = OpCompositeExtract %float %1274 1
+ %1517 = OpCompositeExtract %float %1274 0
+ %1518 = OpCompositeConstruct %v3float %1515 %1516 %1517
+ %1519 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1520 = OpLoad %float %1519
+ %1521 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1521 %float_0
+ %1522 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1522 %1520
+ %1523 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1524 = OpLoad %float %1523
+ %1525 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1526 = OpLoad %float %1525
+ %1527 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1527 %float_0
+ %1528 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1528 %1526
+ %1529 = OpCompositeExtract %float %897 0
+ %1530 = OpCompositeExtract %float %897 1
+ %1531 = OpCompositeConstruct %v2float %1529 %1530
+ %1532 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1533 = OpLoad %float %1532
+ %1534 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1534 %float_0
+ %1535 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1535 %1533
+ %1536 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1537 = OpLoad %float %1536
+ %1538 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1538 %float_0
+ %1539 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1539 %1537
+ %1540 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1541 = OpLoad %float %1540
+ %1542 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1542 %float_0
+ %1543 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1543 %1541
+ %1544 = OpCompositeExtract %float %1531 1
+ %1545 = OpCompositeExtract %float %1531 1
+ %1546 = OpCompositeExtract %float %1471 2
+ %1547 = OpCompositeConstruct %v3float %1544 %1545 %1546
+ %1548 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1549 = OpLoad %float %1548
+ %1550 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1550 %float_0
+ %1551 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1551 %1549
+ %1552 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1553 = OpConvertSToF %float %1491
+ %1554 = OpFAdd %float %1553 %1524
+ OpStore %1552 %1554
+ %1555 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1556 = OpLoad %float %1555
+ %1557 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1557 %float_0
+ %1558 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1558 %1556
+ %1559 = OpCompositeExtract %float %959 0
+ %1560 = OpCompositeExtract %float %959 2
+ %1561 = OpCompositeConstruct %v2float %1559 %1560
+ %1562 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1563 = OpLoad %float %1562
+ %1564 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1564 %float_0
+ %1565 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1565 %1563
+ OpBranch %1477
+ %1477 = OpLabel
+ %1566 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %1566
+ %1567 = OpCompositeExtract %float %932 1
+ %1568 = OpCompositeExtract %float %921 1
+ %1569 = OpCompositeConstruct %v2float %1567 %1568
+ %1570 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1570
+ %1572 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ %1573 = OpLoad %int %1572
+ %1574 = OpLoad %int %i_2
+ OpStore %i_2 %int_0
+ OpStore %i_2 %1574
+ %1575 = OpCompositeExtract %float %905 0
+ %1576 = OpCompositeExtract %float %932 2
+ %1577 = OpCompositeConstruct %v2float %1575 %1576
+ %1578 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ %1579 = OpLoad %int %1578
+ %1580 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ OpStore %1580 %int_0
+ %1581 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ OpStore %1581 %1579
+ %1582 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1583 = OpLoad %float %1582
+ %1584 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1584 %float_0
+ %1585 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1585 %1583
+ %1586 = OpCompositeExtract %float %959 1
+ %1587 = OpCompositeExtract %float %873 0
+ %1588 = OpCompositeConstruct %v2float %1586 %1587
+ %1589 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1590 = OpLoad %float %1589
+ %1591 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1591 %float_0
+ %1592 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1592 %1590
+ %1593 = OpCompositeExtract %float %1588 0
+ %1594 = OpCompositeExtract %float %1588 1
+ %1595 = OpCompositeExtract %float %1588 0
+ %1596 = OpCompositeConstruct %v3float %1593 %1594 %1595
+ %1597 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1598 = OpLoad %float %1597
%1599 = OpAccessChain %_ptr_Function_float %color %uint_2
- %1601 = OpLoad %float %1418
- OpStore %1418 %float_0
- OpStore %1418 %1601
- %1604 = OpCompositeExtract %float %1589 1
- %1605 = OpCompositeExtract %float %1589 1
- %1606 = OpCompositeExtract %float %1529 2
- %1607 = OpCompositeConstruct %v3float %1604 %1605 %1606
- %1609 = OpLoad %float %1599
OpStore %1599 %float_0
- OpStore %1599 %1609
- %1613 = OpConvertSToF %float %1549
- %1614 = OpFAdd %float %1613 %1582
- OpStore %1599 %1614
- %1616 = OpLoad %float %1277
- OpStore %1277 %float_0
- OpStore %1277 %1616
- %1619 = OpCompositeExtract %float %989 0
- %1620 = OpCompositeExtract %float %989 2
- %1621 = OpCompositeConstruct %v2float %1619 %1620
- %1623 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1623
- OpBranch %1535
- %1535 = OpLabel
- %1626 = OpLoad %int %i_2
+ %1600 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1600 %1598
+ %1601 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1602 = OpLoad %float %1601
+ %1603 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1604 = OpLoad %float %1603
+ %1605 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1605 %float_0
+ %1606 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1606 %1604
+ %1607 = OpCompositeExtract %float %1459 0
+ %1608 = OpCompositeExtract %float %1449 0
+ %1609 = OpCompositeConstruct %v2float %1607 %1608
+ %1610 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1611 = OpLoad %int %1610
+ %1612 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1612 %int_0
+ %1613 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1613 %1611
+ %1614 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1615 = OpLoad %float %1614
+ %1616 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1616 %float_0
+ %1617 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1617 %1615
+ %1618 = OpCompositeExtract %float %1055 0
+ %1619 = OpCompositeExtract %float %901 0
+ %1620 = OpCompositeConstruct %v2float %1618 %1619
+ %1621 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1622 = OpLoad %float %1621
+ %1623 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1623 %float_0
+ %1624 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1624 %1622
+ %1625 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1626 = OpConvertSToF %float %1573
+ %1627 = OpFAdd %float %1602 %1626
+ OpStore %1625 %1627
+ %1628 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1628
+ %1629 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1630 = OpLoad %float %1629
+ %1631 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1631 %float_0
+ %1632 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1632 %1630
+ %1633 = OpCompositeExtract %float %1055 1
+ %1634 = OpCompositeExtract %float %1055 0
+ %1635 = OpCompositeExtract %float %1609 1
+ %1636 = OpCompositeConstruct %v3float %1633 %1634 %1635
+ %1637 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1638 = OpLoad %float %1637
+ %1639 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1639 %float_0
+ %1640 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1640 %1638
+ %1641 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1642 = OpLoad %float %1641
+ %1643 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1644 = OpLoad %float %1643
+ %1645 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1645 %float_0
+ %1646 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1646 %1644
+ %1647 = OpCompositeExtract %float %1577 1
+ %1648 = OpCompositeExtract %float %1577 0
+ %1649 = OpCompositeExtract %float %909 2
+ %1650 = OpCompositeConstruct %v3float %1647 %1648 %1649
+ %1651 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1652 = OpLoad %float %1651
+ %1653 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1653 %float_0
+ %1654 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1654 %1652
+ %1655 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1656 = OpLoad %float %1655
+ %1657 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1658 = OpLoad %float %1657
+ %1659 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1659 %float_0
+ %1660 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1660 %1658
+ %1661 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1662 = OpLoad %float %1661
+ %1663 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1663 %float_0
+ %1664 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1664 %1662
+ %1665 = OpCompositeExtract %float %35 1
+ %1666 = OpCompositeExtract %float %1360 1
+ %1667 = OpCompositeExtract %float %1360 2
+ %1668 = OpCompositeConstruct %v3float %1665 %1666 %1667
+ %1669 = OpAccessChain %_ptr_Function_float %color %uint_2
+ %1670 = OpLoad %float %1669
+ %1671 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1671 %float_0
+ %1672 = OpAccessChain %_ptr_Function_float %color %uint_2
+ OpStore %1672 %1670
+ %1673 = OpLoad %int %i_2
OpStore %i_2 %int_0
- OpStore %i_2 %1626
- %1627 = OpCompositeExtract %float %956 1
- %1628 = OpCompositeExtract %float %945 1
- %1629 = OpCompositeConstruct %v2float %1627 %1628
- %1630 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1630
- %1633 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
- %1635 = OpLoad %int %1633
- %1636 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %1636
- %1637 = OpCompositeExtract %float %929 0
- %1638 = OpCompositeExtract %float %956 2
- %1639 = OpCompositeConstruct %v2float %1637 %1638
- %1641 = OpLoad %int %1633
- OpStore %1633 %int_0
- OpStore %1633 %1641
- %1645 = OpLoad %float %1277
- OpStore %1277 %float_0
- OpStore %1277 %1645
- %1648 = OpCompositeExtract %float %989 1
- %1649 = OpCompositeExtract %float %897 0
- %1650 = OpCompositeConstruct %v2float %1648 %1649
- %1652 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1652
- %1656 = OpAccessChain %_ptr_Function_float %color %uint_2
- %1657 = OpCompositeExtract %float %1650 0
- %1658 = OpCompositeExtract %float %1650 1
- %1659 = OpCompositeExtract %float %1650 0
- %1660 = OpCompositeConstruct %v3float %1657 %1658 %1659
- %1662 = OpLoad %float %1656
- OpStore %1656 %float_0
- OpStore %1656 %1662
- %1666 = OpLoad %float %1656
- %1668 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1668
- %1671 = OpCompositeExtract %float %1517 0
- %1672 = OpCompositeExtract %float %1505 0
- %1673 = OpCompositeConstruct %v2float %1671 %1672
- %1675 = OpLoad %int %1260
- OpStore %1260 %int_0
- OpStore %1260 %1675
- %1679 = OpLoad %float %1511
- OpStore %1511 %float_0
- OpStore %1511 %1679
- %1682 = OpCompositeExtract %float %1091 0
- %1683 = OpCompositeExtract %float %925 0
- %1684 = OpCompositeConstruct %v2float %1682 %1683
- %1686 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1686
- %1690 = OpAccessChain %_ptr_Function_float %color %uint_2
- %1692 = OpConvertSToF %float %1635
- %1693 = OpFAdd %float %1666 %1692
- OpStore %1690 %1693
- %1694 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1694
- %1696 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1696
- %1699 = OpCompositeExtract %float %1091 1
- %1700 = OpCompositeExtract %float %1091 0
- %1701 = OpCompositeExtract %float %1673 1
- %1702 = OpCompositeConstruct %v3float %1699 %1700 %1701
- %1704 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1704
- %1707 = OpAccessChain %_ptr_Function_float %uv %uint_0
- %1708 = OpLoad %float %1707
- %1710 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1710
- %1714 = OpAccessChain %_ptr_Function_float %uv %uint_1
- %1715 = OpCompositeExtract %float %1639 1
- %1716 = OpCompositeExtract %float %1639 0
- %1717 = OpCompositeExtract %float %933 2
- %1718 = OpCompositeConstruct %v3float %1715 %1716 %1717
- %1720 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1720
- %1724 = OpLoad %float %1714
- %1726 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1726
- %1730 = OpLoad %float %1690
- OpStore %1690 %float_0
- OpStore %1690 %1730
- %1733 = OpCompositeExtract %float %35 1
- %1734 = OpCompositeExtract %float %1412 1
- %1735 = OpCompositeExtract %float %1412 2
- %1736 = OpCompositeConstruct %v3float %1733 %1734 %1735
- %1738 = OpLoad %float %1690
- OpStore %1690 %float_0
- OpStore %1690 %1738
- %1741 = OpLoad %int %i_2
- OpStore %i_2 %int_0
- OpStore %i_2 %1741
- %1742 = OpCompositeExtract %float %1412 2
- %1743 = OpCompositeExtract %float %1412 1
- %1744 = OpCompositeConstruct %v2float %1742 %1743
- %1745 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1745
- %1747 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1747
- %1750 = OpCompositeExtract %float %1004 1
- %1751 = OpCompositeExtract %float %1004 1
- %1752 = OpCompositeExtract %float %1004 1
- %1753 = OpCompositeConstruct %v3float %1750 %1751 %1752
- %1755 = OpLoad %int %1260
- OpStore %1260 %int_0
- OpStore %1260 %1755
- %1760 = OpFSub %float %1708 %1724
- %1758 = OpExtInst %float %1759 FAbs %1760
- %1761 = OpFOrdLessThan %bool %1758 %float_0_25
- OpSelectionMerge %1762 None
- OpBranchConditional %1761 %1763 %1762
- %1763 = OpLabel
- %1765 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1765
- %1768 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1768
- %1769 = OpCompositeExtract %float %1660 2
- %1770 = OpCompositeExtract %float %1660 0
- %1771 = OpCompositeExtract %float %933 0
- %1772 = OpCompositeConstruct %v3float %1769 %1770 %1771
- %1774 = OpLoad %int %1633
- OpStore %1633 %int_0
- OpStore %1633 %1774
- %1778 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_9
- %1779 = OpLoad %int %1778
- %1780 = OpCompositeExtract %float %1280 1
- %1781 = OpCompositeExtract %float %1280 1
- %1782 = OpCompositeExtract %float %1280 1
- %1783 = OpCompositeConstruct %v3float %1780 %1781 %1782
- %1785 = OpLoad %float %1319
- OpStore %1319 %float_0
- OpStore %1319 %1785
- %1788 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %i_2 %1673
+ %1674 = OpCompositeExtract %float %1360 2
+ %1675 = OpCompositeExtract %float %1360 1
+ %1676 = OpCompositeConstruct %v2float %1674 %1675
+ %1677 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1677
+ %1678 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1679 = OpLoad %float %1678
+ %1680 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1680 %float_0
+ %1681 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1681 %1679
+ %1682 = OpCompositeExtract %float %972 1
+ %1683 = OpCompositeExtract %float %972 1
+ %1684 = OpCompositeExtract %float %972 1
+ %1685 = OpCompositeConstruct %v3float %1682 %1683 %1684
+ %1686 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ %1687 = OpLoad %int %1686
+ %1688 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1688 %int_0
+ %1689 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4
+ OpStore %1689 %1687
+ %1692 = OpFSub %float %1642 %1656
+ %1690 = OpExtInst %float %1691 FAbs %1692
+ %1693 = OpFOrdLessThan %bool %1690 %float_0_25
+ OpSelectionMerge %1694 None
+ OpBranchConditional %1693 %1695 %1694
+ %1695 = OpLabel
+ %1696 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1697 = OpLoad %float %1696
+ %1698 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1698 %float_0
+ %1699 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1699 %1697
+ %1700 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1700
+ %1701 = OpCompositeExtract %float %1596 2
+ %1702 = OpCompositeExtract %float %1596 0
+ %1703 = OpCompositeExtract %float %909 0
+ %1704 = OpCompositeConstruct %v3float %1701 %1702 %1703
+ %1705 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ %1706 = OpLoad %int %1705
+ %1707 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ OpStore %1707 %int_0
+ %1708 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8
+ OpStore %1708 %1706
+ %1710 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_9
+ %1711 = OpLoad %int %1710
+ %1712 = OpCompositeExtract %float %1232 1
+ %1713 = OpCompositeExtract %float %1232 1
+ %1714 = OpCompositeExtract %float %1232 1
+ %1715 = OpCompositeConstruct %v3float %1712 %1713 %1714
+ %1716 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1717 = OpLoad %float %1716
+ %1718 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1718 %float_0
+ %1719 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1719 %1717
+ %1720 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1721 = OpLoad %float %1720
+ %1722 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1723 = OpLoad %float %1722
+ %1724 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1724 %float_0
+ %1725 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1725 %1723
+ %1726 = OpCompositeExtract %float %1569 0
+ %1727 = OpCompositeExtract %float %1569 1
+ %1728 = OpCompositeConstruct %v2float %1726 %1727
+ %1729 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1730 = OpLoad %float %1729
+ %1731 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1731 %float_0
+ %1732 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1732 %1730
+ %1733 = OpLoad %v3float %color
+ OpStore %color %885
+ OpStore %color %1733
+ %1734 = OpCompositeExtract %float %953 0
+ %1735 = OpCompositeExtract %float %953 0
+ %1736 = OpCompositeConstruct %v2float %1734 %1735
+ %1737 = OpLoad %v2float %uv
+ OpStore %uv %873
+ OpStore %uv %1737
+ %1738 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1739 = OpLoad %float %1738
+ %1740 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1740 %float_0
+ %1741 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1741 %1739
+ %1742 = OpCompositeExtract %float %873 0
+ %1743 = OpCompositeExtract %float %873 0
+ %1744 = OpCompositeExtract %float %873 1
+ %1745 = OpCompositeConstruct %v3float %1742 %1743 %1744
+ %1746 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1747 = OpConvertSToF %float %1711
+ %1748 = OpFAdd %float %1747 %1721
+ OpStore %1746 %1748
+ %1749 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1750 = OpLoad %float %1749
+ %1751 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1751 %float_0
+ %1752 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1752 %1750
+ %1753 = OpCompositeExtract %float %1297 1
+ %1754 = OpCompositeExtract %float %1636 0
+ %1755 = OpCompositeExtract %float %1297 0
+ %1756 = OpCompositeConstruct %v3float %1753 %1754 %1755
+ %1757 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1758 = OpLoad %float %1757
+ %1759 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1759 %float_0
+ %1760 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1760 %1758
+ OpBranch %1694
+ %1694 = OpLabel
+ %1761 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1762 = OpLoad %float %1761
+ %1763 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1763 %float_0
+ %1764 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1764 %1762
+ %1765 = OpLoad %v3float %color
+ %1766 = OpAccessChain %_ptr_Function_float %uv %int_0
+ %1767 = OpLoad %float %1766
+ %1768 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1768 %float_0
+ %1769 = OpAccessChain %_ptr_Function_float %uv %int_0
+ OpStore %1769 %1767
+ %1770 = OpCompositeExtract %float %901 0
+ %1771 = OpCompositeExtract %float %893 0
+ %1772 = OpCompositeExtract %float %893 1
+ %1773 = OpCompositeConstruct %v3float %1770 %1771 %1772
+ %1774 = OpExtInst %v3float %1691 Normalize %1765
+ %1775 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1776 = OpLoad %float %1775
+ %1777 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1777 %float_0
+ %1778 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1778 %1776
+ %1779 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1779
+ %1780 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1780
+ %1781 = OpAccessChain %_ptr_Function_float %color %uint_1
+ %1782 = OpLoad %float %1781
+ %1783 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1783 %float_0
+ %1784 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1784 %1782
+ %1785 = OpCompositeExtract %float %1609 1
+ %1786 = OpCompositeExtract %float %1773 1
+ %1787 = OpCompositeConstruct %v2float %1785 %1786
+ %1788 = OpAccessChain %_ptr_Function_float %color %uint_1
%1789 = OpLoad %float %1788
- %1791 = OpLoad %float %1511
- OpStore %1511 %float_0
- OpStore %1511 %1791
- %1794 = OpCompositeExtract %float %1629 0
- %1795 = OpCompositeExtract %float %1629 1
- %1796 = OpCompositeConstruct %v2float %1794 %1795
- %1798 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1798
- %1801 = OpLoad %v3float %color
- OpStore %color %909
- OpStore %color %1801
- %1802 = OpCompositeExtract %float %981 0
- %1803 = OpCompositeExtract %float %981 0
- %1804 = OpCompositeConstruct %v2float %1802 %1803
- %1805 = OpLoad %v2float %uv
- OpStore %uv %897
- OpStore %uv %1805
- %1807 = OpAccessChain %_ptr_Function_float %color %uint_0
- %1809 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1809
- %1812 = OpCompositeExtract %float %897 0
- %1813 = OpCompositeExtract %float %897 0
- %1814 = OpCompositeExtract %float %897 1
- %1815 = OpCompositeConstruct %v3float %1812 %1813 %1814
- %1817 = OpConvertSToF %float %1779
- %1818 = OpFAdd %float %1817 %1789
- OpStore %1807 %1818
- %1820 = OpLoad %float %1807
- OpStore %1807 %float_0
- OpStore %1807 %1820
- %1823 = OpCompositeExtract %float %1349 1
- %1824 = OpCompositeExtract %float %1702 0
- %1825 = OpCompositeExtract %float %1349 0
- %1826 = OpCompositeConstruct %v3float %1823 %1824 %1825
- %1828 = OpLoad %float %968
- OpStore %968 %float_0
- OpStore %968 %1828
- OpBranch %1762
- %1762 = OpLabel
- %1832 = OpLoad %float %1714
- OpStore %1714 %float_0
- OpStore %1714 %1832
- %1835 = OpLoad %v3float %color
- %1837 = OpLoad %float %1175
- OpStore %1175 %float_0
- OpStore %1175 %1837
- %1840 = OpCompositeExtract %float %925 0
- %1841 = OpCompositeExtract %float %917 0
- %1842 = OpCompositeExtract %float %917 1
- %1843 = OpCompositeConstruct %v3float %1840 %1841 %1842
- %1844 = OpExtInst %v3float %1759 Normalize %1835
- %1846 = OpLoad %float %995
- OpStore %995 %float_0
- OpStore %995 %1846
- %1849 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1849
- %1850 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1850
- %1852 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1852
- %1855 = OpCompositeExtract %float %1673 1
- %1856 = OpCompositeExtract %float %1843 1
- %1857 = OpCompositeConstruct %v2float %1855 %1856
- %1859 = OpLoad %float %1299
- OpStore %1299 %float_0
- OpStore %1299 %1859
- %1862 = OpCompositeExtract %float %1844 0
- %1863 = OpCompositeExtract %float %1844 1
- %1864 = OpCompositeExtract %float %1844 2
- %1865 = OpCompositeConstruct %v4float %1862 %1863 %1864 %float_1
- %1867 = OpLoad %float %1714
- OpStore %1714 %float_0
- OpStore %1714 %1867
- %1870 = OpCompositeExtract %float %35 1
- %1871 = OpCompositeExtract %float %35 1
- %1872 = OpCompositeExtract %float %1857 1
- %1873 = OpCompositeConstruct %v3float %1870 %1871 %1872
- %1875 = OpLoad %float %1069
- OpStore %1069 %float_0
- OpStore %1069 %1875
- OpStore %x_GLF_color %1865
- %1878 = OpLoad %QuicksortObject %obj
- OpStore %obj %104
- OpStore %obj %1878
- %1879 = OpCompositeExtract %float %1865 3
- %1880 = OpCompositeExtract %float %1865 1
- %1881 = OpCompositeExtract %float %1517 0
- %1882 = OpCompositeConstruct %v3float %1879 %1880 %1881
- %1884 = OpLoad %float %985
- OpStore %985 %float_0
- OpStore %985 %1884
+ %1790 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1790 %float_0
+ %1791 = OpAccessChain %_ptr_Function_float %color %uint_1
+ OpStore %1791 %1789
+ %1792 = OpCompositeExtract %float %1774 0
+ %1793 = OpCompositeExtract %float %1774 1
+ %1794 = OpCompositeExtract %float %1774 2
+ %1795 = OpCompositeConstruct %v4float %1792 %1793 %1794 %float_1
+ %1796 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ %1797 = OpLoad %float %1796
+ %1798 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1798 %float_0
+ %1799 = OpAccessChain %_ptr_Function_float %uv %uint_1
+ OpStore %1799 %1797
+ %1800 = OpCompositeExtract %float %35 1
+ %1801 = OpCompositeExtract %float %35 1
+ %1802 = OpCompositeExtract %float %1787 1
+ %1803 = OpCompositeConstruct %v3float %1800 %1801 %1802
+ %1804 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ %1805 = OpLoad %float %1804
+ %1806 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1806 %float_0
+ %1807 = OpAccessChain %_ptr_Function_float %uv %uint_0
+ OpStore %1807 %1805
+ OpStore %x_GLF_color %1795
+ %1808 = OpLoad %QuicksortObject %obj
+ OpStore %obj %100
+ OpStore %obj %1808
+ %1809 = OpCompositeExtract %float %1795 3
+ %1810 = OpCompositeExtract %float %1795 1
+ %1811 = OpCompositeExtract %float %1459 0
+ %1812 = OpCompositeConstruct %v3float %1809 %1810 %1811
+ %1813 = OpAccessChain %_ptr_Function_float %color %uint_0
+ %1814 = OpLoad %float %1813
+ %1815 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1815 %float_0
+ %1816 = OpAccessChain %_ptr_Function_float %color %uint_0
+ OpStore %1816 %1814
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/access/matrix.wgsl.expected.spvasm b/test/ptr_ref/access/matrix.wgsl.expected.spvasm
index f29e412..1912a91 100644
--- a/test/ptr_ref/access/matrix.wgsl.expected.spvasm
+++ b/test/ptr_ref/access/matrix.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 31
+; Bound: 29
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -32,12 +32,12 @@
%int = OpTypeInt 32 1
%int_1 = OpConstant %int 1
%_ptr_Function_v3float = OpTypePointer Function %v3float
- %30 = OpConstantComposite %v3float %float_5 %float_5 %float_5
+ %28 = OpConstantComposite %v3float %float_5 %float_5 %float_5
%main = OpFunction %void None %1
%4 = OpLabel
%m = OpVariable %_ptr_Function_mat3v3float Function %23
OpStore %m %20
- %28 = OpAccessChain %_ptr_Function_v3float %m %int_1
- OpStore %28 %30
+ %27 = OpAccessChain %_ptr_Function_v3float %m %int_1
+ OpStore %27 %28
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/access/vector.wgsl.expected.spvasm b/test/ptr_ref/access/vector.wgsl.expected.spvasm
index deada33..453396b 100644
--- a/test/ptr_ref/access/vector.wgsl.expected.spvasm
+++ b/test/ptr_ref/access/vector.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 21
+; Bound: 19
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -27,7 +27,7 @@
%4 = OpLabel
%v = OpVariable %_ptr_Function_v3float Function %13
OpStore %v %10
- %18 = OpAccessChain %_ptr_Function_float %v %uint_1
- OpStore %18 %float_5
+ %17 = OpAccessChain %_ptr_Function_float %v %uint_1
+ OpStore %17 %float_5
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm b/test/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm
index eeebd89..2ced51c 100644
--- a/test/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm
+++ b/test/ptr_ref/copy/ptr_copy.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
diff --git a/test/ptr_ref/load/local/ptr_function.wgsl.expected.spvasm b/test/ptr_ref/load/local/ptr_function.wgsl.expected.spvasm
index 3cb667b..c44fdd0 100644
--- a/test/ptr_ref/load/local/ptr_function.wgsl.expected.spvasm
+++ b/test/ptr_ref/load/local/ptr_function.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 15
+; Bound: 13
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -20,7 +20,7 @@
%4 = OpLabel
%i = OpVariable %_ptr_Function_int Function %9
OpStore %i %int_123
- %12 = OpLoad %int %i
- %14 = OpIAdd %int %12 %int_1
+ %10 = OpLoad %int %i
+ %12 = OpIAdd %int %10 %int_1
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/load/local/ptr_private.wgsl.expected.spvasm b/test/ptr_ref/load/local/ptr_private.wgsl.expected.spvasm
index 7bf6bf9..a1fec42 100644
--- a/test/ptr_ref/load/local/ptr_private.wgsl.expected.spvasm
+++ b/test/ptr_ref/load/local/ptr_private.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 14
+; Bound: 12
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -18,7 +18,7 @@
%int_1 = OpConstant %int 1
%main = OpFunction %void None %5
%8 = OpLabel
- %11 = OpLoad %int %i
- %13 = OpIAdd %int %11 %int_1
+ %9 = OpLoad %int %i
+ %11 = OpIAdd %int %9 %int_1
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/load/local/ptr_storage.wgsl.expected.spvasm b/test/ptr_ref/load/local/ptr_storage.wgsl.expected.spvasm
index e0e29bc..33ce2fb 100644
--- a/test/ptr_ref/load/local/ptr_storage.wgsl.expected.spvasm
+++ b/test/ptr_ref/load/local/ptr_storage.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 18
+; Bound: 16
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -27,8 +27,8 @@
%int_1 = OpConstant %int 1
%main = OpFunction %void None %5
%8 = OpLabel
- %13 = OpAccessChain %_ptr_StorageBuffer_int %v %uint_0
- %15 = OpLoad %int %13
- %17 = OpIAdd %int %15 %int_1
+ %12 = OpAccessChain %_ptr_StorageBuffer_int %v %uint_0
+ %13 = OpLoad %int %12
+ %15 = OpIAdd %int %13 %int_1
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.spvasm b/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.spvasm
index fdcdbaf..9b67704 100644
--- a/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.spvasm
+++ b/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 18
+; Bound: 16
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -28,8 +28,8 @@
%int_1 = OpConstant %int 1
%main = OpFunction %void None %5
%8 = OpLabel
- %13 = OpAccessChain %_ptr_Uniform_int %v %uint_0
- %15 = OpLoad %int %13
- %17 = OpIAdd %int %15 %int_1
+ %12 = OpAccessChain %_ptr_Uniform_int %v %uint_0
+ %13 = OpLoad %int %12
+ %15 = OpIAdd %int %13 %int_1
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.spvasm b/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.spvasm
index 1cda015..6cfbdd4 100644
--- a/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.spvasm
+++ b/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 14
+; Bound: 12
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -19,7 +19,7 @@
%main = OpFunction %void None %4
%7 = OpLabel
OpStore %i %int_123
- %11 = OpLoad %int %i
- %13 = OpIAdd %int %11 %int_1
+ %9 = OpLoad %int %i
+ %11 = OpIAdd %int %9 %int_1
OpReturn
OpFunctionEnd
diff --git a/test/ptr_ref/store/local/i32.wgsl.expected.spvasm b/test/ptr_ref/store/local/i32.wgsl.expected.spvasm
index 30df9e1..d4738a2 100644
--- a/test/ptr_ref/store/local/i32.wgsl.expected.spvasm
+++ b/test/ptr_ref/store/local/i32.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 18
+; Bound: 15
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
@@ -23,8 +23,8 @@
%i = OpVariable %_ptr_Function_int Function %9
OpStore %i %int_123
OpStore %i %int_123
- %15 = OpIAdd %int %int_100 %int_20
- %17 = OpIAdd %int %15 %int_3
- OpStore %i %17
+ %12 = OpIAdd %int %int_100 %int_20
+ %14 = OpIAdd %int %12 %int_3
+ OpStore %i %14
OpReturn
OpFunctionEnd
diff --git a/test/types/function_scope_declarations.wgsl.expected.spvasm b/test/types/function_scope_declarations.wgsl.expected.spvasm
index d5fa434..d9556cb 100644
--- a/test/types/function_scope_declarations.wgsl.expected.spvasm
+++ b/test/types/function_scope_declarations.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
-; Bound: 52
+; Bound: 49
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450