Generate separate stores for partially swizzled memory stores
[platform/upstream/glslang.git] / Test / baseResults / hlsl.wavebroadcast.comp.out
index 573195d..01bc953 100644 (file)
@@ -2299,7 +2299,7 @@ local_size = (32, 16, 1)
 
 // Module Version 10300
 // Generated by (magic number): 8000a
-// Id's are bound by 359
+// Id's are bound by 393
 
                               Capability Shader
                               Capability Float64
@@ -2308,7 +2308,7 @@ local_size = (32, 16, 1)
                               Capability GroupNonUniformShuffle
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint GLCompute 4  "CSMain" 354
+                              EntryPoint GLCompute 4  "CSMain" 388
                               ExecutionMode 4 LocalSize 32 16 1
                               Source HLSL 500
                               Name 4  "CSMain"
@@ -2322,9 +2322,9 @@ local_size = (32, 16, 1)
                               Name 22  "data"
                               MemberName 22(data) 0  "@data"
                               Name 24  "data"
-                              Name 352  "dti"
-                              Name 354  "dti"
-                              Name 356  "param"
+                              Name 386  "dti"
+                              Name 388  "dti"
+                              Name 390  "param"
                               MemberDecorate 20(Types) 0 Offset 0
                               MemberDecorate 20(Types) 1 Offset 16
                               MemberDecorate 20(Types) 2 Offset 32
@@ -2334,7 +2334,7 @@ local_size = (32, 16, 1)
                               Decorate 22(data) BufferBlock
                               Decorate 24(data) DescriptorSet 0
                               Decorate 24(data) Binding 0
-                              Decorate 354(dti) BuiltIn GlobalInvocationId
+                              Decorate 388(dti) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -2361,32 +2361,34 @@ local_size = (32, 16, 1)
               36:      6(int) Constant 3
               43:             TypePointer Uniform 6(int)
               52:             TypeVector 6(int) 2
-              73:     14(int) Constant 1
-              76:             TypePointer Uniform 15(ivec4)
-              85:             TypePointer Uniform 14(int)
-              94:             TypeVector 14(int) 2
-             106:             TypeVector 14(int) 3
-             116:     14(int) Constant 2
-             119:             TypePointer Uniform 17(fvec4)
-             128:             TypePointer Uniform 16(float)
-             137:             TypeVector 16(float) 2
-             149:             TypeVector 16(float) 3
-             159:     14(int) Constant 3
-             162:             TypePointer Uniform 19(f64vec4)
-             171:             TypePointer Uniform 18(float64_t)
-             180:             TypeVector 18(float64_t) 2
-             192:             TypeVector 18(float64_t) 3
-             353:             TypePointer Input 7(ivec3)
-        354(dti):    353(ptr) Variable Input
+              59:      6(int) Constant 1
+              74:      6(int) Constant 2
+              79:     14(int) Constant 1
+              82:             TypePointer Uniform 15(ivec4)
+              91:             TypePointer Uniform 14(int)
+             100:             TypeVector 14(int) 2
+             113:             TypeVector 14(int) 3
+             126:     14(int) Constant 2
+             129:             TypePointer Uniform 17(fvec4)
+             138:             TypePointer Uniform 16(float)
+             147:             TypeVector 16(float) 2
+             160:             TypeVector 16(float) 3
+             173:     14(int) Constant 3
+             176:             TypePointer Uniform 19(f64vec4)
+             185:             TypePointer Uniform 18(float64_t)
+             194:             TypeVector 18(float64_t) 2
+             207:             TypeVector 18(float64_t) 3
+             387:             TypePointer Input 7(ivec3)
+        388(dti):    387(ptr) Variable Input
        4(CSMain):           2 Function None 3
                5:             Label
-        352(dti):      8(ptr) Variable Function
-      356(param):      8(ptr) Variable Function
-             355:    7(ivec3) Load 354(dti)
-                              Store 352(dti) 355
-             357:    7(ivec3) Load 352(dti)
-                              Store 356(param) 357
-             358:           2 FunctionCall 11(@CSMain(vu3;) 356(param)
+        386(dti):      8(ptr) Variable Function
+      390(param):      8(ptr) Variable Function
+             389:    7(ivec3) Load 388(dti)
+                              Store 386(dti) 389
+             391:    7(ivec3) Load 386(dti)
+                              Store 390(param) 391
+             392:           2 FunctionCall 11(@CSMain(vu3;) 390(param)
                               Return
                               FunctionEnd
 11(@CSMain(vu3;):           2 Function None 9
@@ -2418,315 +2420,371 @@ local_size = (32, 16, 1)
               54:   13(ivec4) Load 53
               55:   52(ivec2) VectorShuffle 54 54 0 1
               56:   52(ivec2) GroupNonUniformShuffle 36 55 35
-              57:     32(ptr) AccessChain 24(data) 25 49 25
-              58:   13(ivec4) Load 57
-              59:   13(ivec4) VectorShuffle 58 56 4 5 2 3
-                              Store 57 59
-              60:     27(ptr) AccessChain 10(dti) 26
-              61:      6(int) Load 60
+              57:     43(ptr) AccessChain 24(data) 25 49 25 26
+              58:      6(int) CompositeExtract 56 0
+                              Store 57 58
+              60:     43(ptr) AccessChain 24(data) 25 49 25 59
+              61:      6(int) CompositeExtract 56 1
+                              Store 60 61
               62:     27(ptr) AccessChain 10(dti) 26
               63:      6(int) Load 62
-              64:     32(ptr) AccessChain 24(data) 25 63 25
-              65:   13(ivec4) Load 64
-              66:    7(ivec3) VectorShuffle 65 65 0 1 2
-              67:    7(ivec3) GroupNonUniformShuffle 36 66 35
-              68:     32(ptr) AccessChain 24(data) 25 61 25
-              69:   13(ivec4) Load 68
-              70:   13(ivec4) VectorShuffle 69 67 4 5 6 3
-                              Store 68 70
-              71:     27(ptr) AccessChain 10(dti) 26
-              72:      6(int) Load 71
-              74:     27(ptr) AccessChain 10(dti) 26
-              75:      6(int) Load 74
-              77:     76(ptr) AccessChain 24(data) 25 75 73
-              78:   15(ivec4) Load 77
-              79:   15(ivec4) GroupNonUniformShuffle 36 78 35
-              80:     76(ptr) AccessChain 24(data) 25 72 73
-                              Store 80 79
-              81:     27(ptr) AccessChain 10(dti) 26
-              82:      6(int) Load 81
-              83:     27(ptr) AccessChain 10(dti) 26
-              84:      6(int) Load 83
-              86:     85(ptr) AccessChain 24(data) 25 84 73 26
-              87:     14(int) Load 86
-              88:     14(int) GroupNonUniformShuffle 36 87 35
-              89:     85(ptr) AccessChain 24(data) 25 82 73 26
-                              Store 89 88
-              90:     27(ptr) AccessChain 10(dti) 26
-              91:      6(int) Load 90
-              92:     27(ptr) AccessChain 10(dti) 26
-              93:      6(int) Load 92
-              95:     76(ptr) AccessChain 24(data) 25 93 73
-              96:   15(ivec4) Load 95
-              97:   94(ivec2) VectorShuffle 96 96 0 1
-              98:   94(ivec2) GroupNonUniformShuffle 36 97 35
-              99:     76(ptr) AccessChain 24(data) 25 91 73
-             100:   15(ivec4) Load 99
-             101:   15(ivec4) VectorShuffle 100 98 4 5 2 3
-                              Store 99 101
-             102:     27(ptr) AccessChain 10(dti) 26
-             103:      6(int) Load 102
-             104:     27(ptr) AccessChain 10(dti) 26
-             105:      6(int) Load 104
-             107:     76(ptr) AccessChain 24(data) 25 105 73
-             108:   15(ivec4) Load 107
-             109:  106(ivec3) VectorShuffle 108 108 0 1 2
-             110:  106(ivec3) GroupNonUniformShuffle 36 109 35
-             111:     76(ptr) AccessChain 24(data) 25 103 73
-             112:   15(ivec4) Load 111
-             113:   15(ivec4) VectorShuffle 112 110 4 5 6 3
-                              Store 111 113
-             114:     27(ptr) AccessChain 10(dti) 26
-             115:      6(int) Load 114
-             117:     27(ptr) AccessChain 10(dti) 26
-             118:      6(int) Load 117
-             120:    119(ptr) AccessChain 24(data) 25 118 116
-             121:   17(fvec4) Load 120
-             122:   17(fvec4) GroupNonUniformShuffle 36 121 35
-             123:    119(ptr) AccessChain 24(data) 25 115 116
-                              Store 123 122
+              64:     27(ptr) AccessChain 10(dti) 26
+              65:      6(int) Load 64
+              66:     32(ptr) AccessChain 24(data) 25 65 25
+              67:   13(ivec4) Load 66
+              68:    7(ivec3) VectorShuffle 67 67 0 1 2
+              69:    7(ivec3) GroupNonUniformShuffle 36 68 35
+              70:     43(ptr) AccessChain 24(data) 25 63 25 26
+              71:      6(int) CompositeExtract 69 0
+                              Store 70 71
+              72:     43(ptr) AccessChain 24(data) 25 63 25 59
+              73:      6(int) CompositeExtract 69 1
+                              Store 72 73
+              75:     43(ptr) AccessChain 24(data) 25 63 25 74
+              76:      6(int) CompositeExtract 69 2
+                              Store 75 76
+              77:     27(ptr) AccessChain 10(dti) 26
+              78:      6(int) Load 77
+              80:     27(ptr) AccessChain 10(dti) 26
+              81:      6(int) Load 80
+              83:     82(ptr) AccessChain 24(data) 25 81 79
+              84:   15(ivec4) Load 83
+              85:   15(ivec4) GroupNonUniformShuffle 36 84 35
+              86:     82(ptr) AccessChain 24(data) 25 78 79
+                              Store 86 85
+              87:     27(ptr) AccessChain 10(dti) 26
+              88:      6(int) Load 87
+              89:     27(ptr) AccessChain 10(dti) 26
+              90:      6(int) Load 89
+              92:     91(ptr) AccessChain 24(data) 25 90 79 26
+              93:     14(int) Load 92
+              94:     14(int) GroupNonUniformShuffle 36 93 35
+              95:     91(ptr) AccessChain 24(data) 25 88 79 26
+                              Store 95 94
+              96:     27(ptr) AccessChain 10(dti) 26
+              97:      6(int) Load 96
+              98:     27(ptr) AccessChain 10(dti) 26
+              99:      6(int) Load 98
+             101:     82(ptr) AccessChain 24(data) 25 99 79
+             102:   15(ivec4) Load 101
+             103:  100(ivec2) VectorShuffle 102 102 0 1
+             104:  100(ivec2) GroupNonUniformShuffle 36 103 35
+             105:     91(ptr) AccessChain 24(data) 25 97 79 26
+             106:     14(int) CompositeExtract 104 0
+                              Store 105 106
+             107:     91(ptr) AccessChain 24(data) 25 97 79 59
+             108:     14(int) CompositeExtract 104 1
+                              Store 107 108
+             109:     27(ptr) AccessChain 10(dti) 26
+             110:      6(int) Load 109
+             111:     27(ptr) AccessChain 10(dti) 26
+             112:      6(int) Load 111
+             114:     82(ptr) AccessChain 24(data) 25 112 79
+             115:   15(ivec4) Load 114
+             116:  113(ivec3) VectorShuffle 115 115 0 1 2
+             117:  113(ivec3) GroupNonUniformShuffle 36 116 35
+             118:     91(ptr) AccessChain 24(data) 25 110 79 26
+             119:     14(int) CompositeExtract 117 0
+                              Store 118 119
+             120:     91(ptr) AccessChain 24(data) 25 110 79 59
+             121:     14(int) CompositeExtract 117 1
+                              Store 120 121
+             122:     91(ptr) AccessChain 24(data) 25 110 79 74
+             123:     14(int) CompositeExtract 117 2
+                              Store 122 123
              124:     27(ptr) AccessChain 10(dti) 26
              125:      6(int) Load 124
-             126:     27(ptr) AccessChain 10(dti) 26
-             127:      6(int) Load 126
-             129:    128(ptr) AccessChain 24(data) 25 127 116 26
-             130:   16(float) Load 129
-             131:   16(float) GroupNonUniformShuffle 36 130 35
-             132:    128(ptr) AccessChain 24(data) 25 125 116 26
-                              Store 132 131
-             133:     27(ptr) AccessChain 10(dti) 26
-             134:      6(int) Load 133
-             135:     27(ptr) AccessChain 10(dti) 26
-             136:      6(int) Load 135
-             138:    119(ptr) AccessChain 24(data) 25 136 116
-             139:   17(fvec4) Load 138
-             140:  137(fvec2) VectorShuffle 139 139 0 1
-             141:  137(fvec2) GroupNonUniformShuffle 36 140 35
-             142:    119(ptr) AccessChain 24(data) 25 134 116
-             143:   17(fvec4) Load 142
-             144:   17(fvec4) VectorShuffle 143 141 4 5 2 3
-                              Store 142 144
+             127:     27(ptr) AccessChain 10(dti) 26
+             128:      6(int) Load 127
+             130:    129(ptr) AccessChain 24(data) 25 128 126
+             131:   17(fvec4) Load 130
+             132:   17(fvec4) GroupNonUniformShuffle 36 131 35
+             133:    129(ptr) AccessChain 24(data) 25 125 126
+                              Store 133 132
+             134:     27(ptr) AccessChain 10(dti) 26
+             135:      6(int) Load 134
+             136:     27(ptr) AccessChain 10(dti) 26
+             137:      6(int) Load 136
+             139:    138(ptr) AccessChain 24(data) 25 137 126 26
+             140:   16(float) Load 139
+             141:   16(float) GroupNonUniformShuffle 36 140 35
+             142:    138(ptr) AccessChain 24(data) 25 135 126 26
+                              Store 142 141
+             143:     27(ptr) AccessChain 10(dti) 26
+             144:      6(int) Load 143
              145:     27(ptr) AccessChain 10(dti) 26
              146:      6(int) Load 145
-             147:     27(ptr) AccessChain 10(dti) 26
-             148:      6(int) Load 147
-             150:    119(ptr) AccessChain 24(data) 25 148 116
-             151:   17(fvec4) Load 150
-             152:  149(fvec3) VectorShuffle 151 151 0 1 2
-             153:  149(fvec3) GroupNonUniformShuffle 36 152 35
-             154:    119(ptr) AccessChain 24(data) 25 146 116
-             155:   17(fvec4) Load 154
-             156:   17(fvec4) VectorShuffle 155 153 4 5 6 3
-                              Store 154 156
-             157:     27(ptr) AccessChain 10(dti) 26
-             158:      6(int) Load 157
-             160:     27(ptr) AccessChain 10(dti) 26
-             161:      6(int) Load 160
-             163:    162(ptr) AccessChain 24(data) 25 161 159
-             164: 19(f64vec4) Load 163
-             165: 19(f64vec4) GroupNonUniformBroadcastFirst 36 164
-             166:    162(ptr) AccessChain 24(data) 25 158 159
-                              Store 166 165
-             167:     27(ptr) AccessChain 10(dti) 26
-             168:      6(int) Load 167
-             169:     27(ptr) AccessChain 10(dti) 26
-             170:      6(int) Load 169
-             172:    171(ptr) AccessChain 24(data) 25 170 159 26
-             173:18(float64_t) Load 172
-             174:18(float64_t) GroupNonUniformBroadcastFirst 36 173
-             175:    171(ptr) AccessChain 24(data) 25 168 159 26
-                              Store 175 174
-             176:     27(ptr) AccessChain 10(dti) 26
-             177:      6(int) Load 176
-             178:     27(ptr) AccessChain 10(dti) 26
-             179:      6(int) Load 178
-             181:    162(ptr) AccessChain 24(data) 25 179 159
-             182: 19(f64vec4) Load 181
-             183:180(f64vec2) VectorShuffle 182 182 0 1
-             184:180(f64vec2) GroupNonUniformBroadcastFirst 36 183
-             185:    162(ptr) AccessChain 24(data) 25 177 159
-             186: 19(f64vec4) Load 185
-             187: 19(f64vec4) VectorShuffle 186 184 4 5 2 3
-                              Store 185 187
-             188:     27(ptr) AccessChain 10(dti) 26
-             189:      6(int) Load 188
+             148:    129(ptr) AccessChain 24(data) 25 146 126
+             149:   17(fvec4) Load 148
+             150:  147(fvec2) VectorShuffle 149 149 0 1
+             151:  147(fvec2) GroupNonUniformShuffle 36 150 35
+             152:    138(ptr) AccessChain 24(data) 25 144 126 26
+             153:   16(float) CompositeExtract 151 0
+                              Store 152 153
+             154:    138(ptr) AccessChain 24(data) 25 144 126 59
+             155:   16(float) CompositeExtract 151 1
+                              Store 154 155
+             156:     27(ptr) AccessChain 10(dti) 26
+             157:      6(int) Load 156
+             158:     27(ptr) AccessChain 10(dti) 26
+             159:      6(int) Load 158
+             161:    129(ptr) AccessChain 24(data) 25 159 126
+             162:   17(fvec4) Load 161
+             163:  160(fvec3) VectorShuffle 162 162 0 1 2
+             164:  160(fvec3) GroupNonUniformShuffle 36 163 35
+             165:    138(ptr) AccessChain 24(data) 25 157 126 26
+             166:   16(float) CompositeExtract 164 0
+                              Store 165 166
+             167:    138(ptr) AccessChain 24(data) 25 157 126 59
+             168:   16(float) CompositeExtract 164 1
+                              Store 167 168
+             169:    138(ptr) AccessChain 24(data) 25 157 126 74
+             170:   16(float) CompositeExtract 164 2
+                              Store 169 170
+             171:     27(ptr) AccessChain 10(dti) 26
+             172:      6(int) Load 171
+             174:     27(ptr) AccessChain 10(dti) 26
+             175:      6(int) Load 174
+             177:    176(ptr) AccessChain 24(data) 25 175 173
+             178: 19(f64vec4) Load 177
+             179: 19(f64vec4) GroupNonUniformBroadcastFirst 36 178
+             180:    176(ptr) AccessChain 24(data) 25 172 173
+                              Store 180 179
+             181:     27(ptr) AccessChain 10(dti) 26
+             182:      6(int) Load 181
+             183:     27(ptr) AccessChain 10(dti) 26
+             184:      6(int) Load 183
+             186:    185(ptr) AccessChain 24(data) 25 184 173 26
+             187:18(float64_t) Load 186
+             188:18(float64_t) GroupNonUniformBroadcastFirst 36 187
+             189:    185(ptr) AccessChain 24(data) 25 182 173 26
+                              Store 189 188
              190:     27(ptr) AccessChain 10(dti) 26
              191:      6(int) Load 190
-             193:    162(ptr) AccessChain 24(data) 25 191 159
-             194: 19(f64vec4) Load 193
-             195:192(f64vec3) VectorShuffle 194 194 0 1 2
-             196:192(f64vec3) GroupNonUniformBroadcastFirst 36 195
-             197:    162(ptr) AccessChain 24(data) 25 189 159
-             198: 19(f64vec4) Load 197
-             199: 19(f64vec4) VectorShuffle 198 196 4 5 6 3
-                              Store 197 199
-             200:     27(ptr) AccessChain 10(dti) 26
-             201:      6(int) Load 200
-             202:     27(ptr) AccessChain 10(dti) 26
-             203:      6(int) Load 202
-             204:     32(ptr) AccessChain 24(data) 25 203 25
-             205:   13(ivec4) Load 204
-             206:   13(ivec4) GroupNonUniformBroadcastFirst 36 205
-             207:     32(ptr) AccessChain 24(data) 25 201 25
-                              Store 207 206
-             208:     27(ptr) AccessChain 10(dti) 26
-             209:      6(int) Load 208
-             210:     27(ptr) AccessChain 10(dti) 26
-             211:      6(int) Load 210
-             212:     43(ptr) AccessChain 24(data) 25 211 25 26
-             213:      6(int) Load 212
-             214:      6(int) GroupNonUniformBroadcastFirst 36 213
-             215:     43(ptr) AccessChain 24(data) 25 209 25 26
-                              Store 215 214
-             216:     27(ptr) AccessChain 10(dti) 26
-             217:      6(int) Load 216
+             192:     27(ptr) AccessChain 10(dti) 26
+             193:      6(int) Load 192
+             195:    176(ptr) AccessChain 24(data) 25 193 173
+             196: 19(f64vec4) Load 195
+             197:194(f64vec2) VectorShuffle 196 196 0 1
+             198:194(f64vec2) GroupNonUniformBroadcastFirst 36 197
+             199:    185(ptr) AccessChain 24(data) 25 191 173 26
+             200:18(float64_t) CompositeExtract 198 0
+                              Store 199 200
+             201:    185(ptr) AccessChain 24(data) 25 191 173 59
+             202:18(float64_t) CompositeExtract 198 1
+                              Store 201 202
+             203:     27(ptr) AccessChain 10(dti) 26
+             204:      6(int) Load 203
+             205:     27(ptr) AccessChain 10(dti) 26
+             206:      6(int) Load 205
+             208:    176(ptr) AccessChain 24(data) 25 206 173
+             209: 19(f64vec4) Load 208
+             210:207(f64vec3) VectorShuffle 209 209 0 1 2
+             211:207(f64vec3) GroupNonUniformBroadcastFirst 36 210
+             212:    185(ptr) AccessChain 24(data) 25 204 173 26
+             213:18(float64_t) CompositeExtract 211 0
+                              Store 212 213
+             214:    185(ptr) AccessChain 24(data) 25 204 173 59
+             215:18(float64_t) CompositeExtract 211 1
+                              Store 214 215
+             216:    185(ptr) AccessChain 24(data) 25 204 173 74
+             217:18(float64_t) CompositeExtract 211 2
+                              Store 216 217
              218:     27(ptr) AccessChain 10(dti) 26
              219:      6(int) Load 218
-             220:     32(ptr) AccessChain 24(data) 25 219 25
-             221:   13(ivec4) Load 220
-             222:   52(ivec2) VectorShuffle 221 221 0 1
-             223:   52(ivec2) GroupNonUniformBroadcastFirst 36 222
-             224:     32(ptr) AccessChain 24(data) 25 217 25
-             225:   13(ivec4) Load 224
-             226:   13(ivec4) VectorShuffle 225 223 4 5 2 3
-                              Store 224 226
-             227:     27(ptr) AccessChain 10(dti) 26
-             228:      6(int) Load 227
-             229:     27(ptr) AccessChain 10(dti) 26
-             230:      6(int) Load 229
-             231:     32(ptr) AccessChain 24(data) 25 230 25
-             232:   13(ivec4) Load 231
-             233:    7(ivec3) VectorShuffle 232 232 0 1 2
-             234:    7(ivec3) GroupNonUniformBroadcastFirst 36 233
-             235:     32(ptr) AccessChain 24(data) 25 228 25
-             236:   13(ivec4) Load 235
-             237:   13(ivec4) VectorShuffle 236 234 4 5 6 3
-                              Store 235 237
-             238:     27(ptr) AccessChain 10(dti) 26
-             239:      6(int) Load 238
-             240:     27(ptr) AccessChain 10(dti) 26
-             241:      6(int) Load 240
-             242:     76(ptr) AccessChain 24(data) 25 241 73
-             243:   15(ivec4) Load 242
-             244:   15(ivec4) GroupNonUniformBroadcastFirst 36 243
-             245:     76(ptr) AccessChain 24(data) 25 239 73
-                              Store 245 244
+             220:     27(ptr) AccessChain 10(dti) 26
+             221:      6(int) Load 220
+             222:     32(ptr) AccessChain 24(data) 25 221 25
+             223:   13(ivec4) Load 222
+             224:   13(ivec4) GroupNonUniformBroadcastFirst 36 223
+             225:     32(ptr) AccessChain 24(data) 25 219 25
+                              Store 225 224
+             226:     27(ptr) AccessChain 10(dti) 26
+             227:      6(int) Load 226
+             228:     27(ptr) AccessChain 10(dti) 26
+             229:      6(int) Load 228
+             230:     43(ptr) AccessChain 24(data) 25 229 25 26
+             231:      6(int) Load 230
+             232:      6(int) GroupNonUniformBroadcastFirst 36 231
+             233:     43(ptr) AccessChain 24(data) 25 227 25 26
+                              Store 233 232
+             234:     27(ptr) AccessChain 10(dti) 26
+             235:      6(int) Load 234
+             236:     27(ptr) AccessChain 10(dti) 26
+             237:      6(int) Load 236
+             238:     32(ptr) AccessChain 24(data) 25 237 25
+             239:   13(ivec4) Load 238
+             240:   52(ivec2) VectorShuffle 239 239 0 1
+             241:   52(ivec2) GroupNonUniformBroadcastFirst 36 240
+             242:     43(ptr) AccessChain 24(data) 25 235 25 26
+             243:      6(int) CompositeExtract 241 0
+                              Store 242 243
+             244:     43(ptr) AccessChain 24(data) 25 235 25 59
+             245:      6(int) CompositeExtract 241 1
+                              Store 244 245
              246:     27(ptr) AccessChain 10(dti) 26
              247:      6(int) Load 246
              248:     27(ptr) AccessChain 10(dti) 26
              249:      6(int) Load 248
-             250:     85(ptr) AccessChain 24(data) 25 249 73 26
-             251:     14(int) Load 250
-             252:     14(int) GroupNonUniformBroadcastFirst 36 251
-             253:     85(ptr) AccessChain 24(data) 25 247 73 26
-                              Store 253 252
-             254:     27(ptr) AccessChain 10(dti) 26
-             255:      6(int) Load 254
-             256:     27(ptr) AccessChain 10(dti) 26
-             257:      6(int) Load 256
-             258:     76(ptr) AccessChain 24(data) 25 257 73
-             259:   15(ivec4) Load 258
-             260:   94(ivec2) VectorShuffle 259 259 0 1
-             261:   94(ivec2) GroupNonUniformBroadcastFirst 36 260
-             262:     76(ptr) AccessChain 24(data) 25 255 73
-             263:   15(ivec4) Load 262
-             264:   15(ivec4) VectorShuffle 263 261 4 5 2 3
-                              Store 262 264
-             265:     27(ptr) AccessChain 10(dti) 26
-             266:      6(int) Load 265
-             267:     27(ptr) AccessChain 10(dti) 26
-             268:      6(int) Load 267
-             269:     76(ptr) AccessChain 24(data) 25 268 73
-             270:   15(ivec4) Load 269
-             271:  106(ivec3) VectorShuffle 270 270 0 1 2
-             272:  106(ivec3) GroupNonUniformBroadcastFirst 36 271
-             273:     76(ptr) AccessChain 24(data) 25 266 73
-             274:   15(ivec4) Load 273
-             275:   15(ivec4) VectorShuffle 274 272 4 5 6 3
-                              Store 273 275
+             250:     32(ptr) AccessChain 24(data) 25 249 25
+             251:   13(ivec4) Load 250
+             252:    7(ivec3) VectorShuffle 251 251 0 1 2
+             253:    7(ivec3) GroupNonUniformBroadcastFirst 36 252
+             254:     43(ptr) AccessChain 24(data) 25 247 25 26
+             255:      6(int) CompositeExtract 253 0
+                              Store 254 255
+             256:     43(ptr) AccessChain 24(data) 25 247 25 59
+             257:      6(int) CompositeExtract 253 1
+                              Store 256 257
+             258:     43(ptr) AccessChain 24(data) 25 247 25 74
+             259:      6(int) CompositeExtract 253 2
+                              Store 258 259
+             260:     27(ptr) AccessChain 10(dti) 26
+             261:      6(int) Load 260
+             262:     27(ptr) AccessChain 10(dti) 26
+             263:      6(int) Load 262
+             264:     82(ptr) AccessChain 24(data) 25 263 79
+             265:   15(ivec4) Load 264
+             266:   15(ivec4) GroupNonUniformBroadcastFirst 36 265
+             267:     82(ptr) AccessChain 24(data) 25 261 79
+                              Store 267 266
+             268:     27(ptr) AccessChain 10(dti) 26
+             269:      6(int) Load 268
+             270:     27(ptr) AccessChain 10(dti) 26
+             271:      6(int) Load 270
+             272:     91(ptr) AccessChain 24(data) 25 271 79 26
+             273:     14(int) Load 272
+             274:     14(int) GroupNonUniformBroadcastFirst 36 273
+             275:     91(ptr) AccessChain 24(data) 25 269 79 26
+                              Store 275 274
              276:     27(ptr) AccessChain 10(dti) 26
              277:      6(int) Load 276
              278:     27(ptr) AccessChain 10(dti) 26
              279:      6(int) Load 278
-             280:    119(ptr) AccessChain 24(data) 25 279 116
-             281:   17(fvec4) Load 280
-             282:   17(fvec4) GroupNonUniformBroadcastFirst 36 281
-             283:    119(ptr) AccessChain 24(data) 25 277 116
-                              Store 283 282
-             284:     27(ptr) AccessChain 10(dti) 26
-             285:      6(int) Load 284
-             286:     27(ptr) AccessChain 10(dti) 26
-             287:      6(int) Load 286
-             288:    128(ptr) AccessChain 24(data) 25 287 116 26
-             289:   16(float) Load 288
-             290:   16(float) GroupNonUniformBroadcastFirst 36 289
-             291:    128(ptr) AccessChain 24(data) 25 285 116 26
-                              Store 291 290
-             292:     27(ptr) AccessChain 10(dti) 26
-             293:      6(int) Load 292
-             294:     27(ptr) AccessChain 10(dti) 26
-             295:      6(int) Load 294
-             296:    119(ptr) AccessChain 24(data) 25 295 116
-             297:   17(fvec4) Load 296
-             298:  137(fvec2) VectorShuffle 297 297 0 1
-             299:  137(fvec2) GroupNonUniformBroadcastFirst 36 298
-             300:    119(ptr) AccessChain 24(data) 25 293 116
-             301:   17(fvec4) Load 300
-             302:   17(fvec4) VectorShuffle 301 299 4 5 2 3
-                              Store 300 302
-             303:     27(ptr) AccessChain 10(dti) 26
-             304:      6(int) Load 303
-             305:     27(ptr) AccessChain 10(dti) 26
-             306:      6(int) Load 305
-             307:    119(ptr) AccessChain 24(data) 25 306 116
-             308:   17(fvec4) Load 307
-             309:  149(fvec3) VectorShuffle 308 308 0 1 2
-             310:  149(fvec3) GroupNonUniformBroadcastFirst 36 309
-             311:    119(ptr) AccessChain 24(data) 25 304 116
-             312:   17(fvec4) Load 311
-             313:   17(fvec4) VectorShuffle 312 310 4 5 6 3
-                              Store 311 313
-             314:     27(ptr) AccessChain 10(dti) 26
-             315:      6(int) Load 314
-             316:     27(ptr) AccessChain 10(dti) 26
-             317:      6(int) Load 316
-             318:    162(ptr) AccessChain 24(data) 25 317 159
-             319: 19(f64vec4) Load 318
-             320: 19(f64vec4) GroupNonUniformBroadcastFirst 36 319
-             321:    162(ptr) AccessChain 24(data) 25 315 159
-                              Store 321 320
-             322:     27(ptr) AccessChain 10(dti) 26
-             323:      6(int) Load 322
-             324:     27(ptr) AccessChain 10(dti) 26
-             325:      6(int) Load 324
-             326:    171(ptr) AccessChain 24(data) 25 325 159 26
-             327:18(float64_t) Load 326
-             328:18(float64_t) GroupNonUniformBroadcastFirst 36 327
-             329:    171(ptr) AccessChain 24(data) 25 323 159 26
-                              Store 329 328
+             280:     82(ptr) AccessChain 24(data) 25 279 79
+             281:   15(ivec4) Load 280
+             282:  100(ivec2) VectorShuffle 281 281 0 1
+             283:  100(ivec2) GroupNonUniformBroadcastFirst 36 282
+             284:     91(ptr) AccessChain 24(data) 25 277 79 26
+             285:     14(int) CompositeExtract 283 0
+                              Store 284 285
+             286:     91(ptr) AccessChain 24(data) 25 277 79 59
+             287:     14(int) CompositeExtract 283 1
+                              Store 286 287
+             288:     27(ptr) AccessChain 10(dti) 26
+             289:      6(int) Load 288
+             290:     27(ptr) AccessChain 10(dti) 26
+             291:      6(int) Load 290
+             292:     82(ptr) AccessChain 24(data) 25 291 79
+             293:   15(ivec4) Load 292
+             294:  113(ivec3) VectorShuffle 293 293 0 1 2
+             295:  113(ivec3) GroupNonUniformBroadcastFirst 36 294
+             296:     91(ptr) AccessChain 24(data) 25 289 79 26
+             297:     14(int) CompositeExtract 295 0
+                              Store 296 297
+             298:     91(ptr) AccessChain 24(data) 25 289 79 59
+             299:     14(int) CompositeExtract 295 1
+                              Store 298 299
+             300:     91(ptr) AccessChain 24(data) 25 289 79 74
+             301:     14(int) CompositeExtract 295 2
+                              Store 300 301
+             302:     27(ptr) AccessChain 10(dti) 26
+             303:      6(int) Load 302
+             304:     27(ptr) AccessChain 10(dti) 26
+             305:      6(int) Load 304
+             306:    129(ptr) AccessChain 24(data) 25 305 126
+             307:   17(fvec4) Load 306
+             308:   17(fvec4) GroupNonUniformBroadcastFirst 36 307
+             309:    129(ptr) AccessChain 24(data) 25 303 126
+                              Store 309 308
+             310:     27(ptr) AccessChain 10(dti) 26
+             311:      6(int) Load 310
+             312:     27(ptr) AccessChain 10(dti) 26
+             313:      6(int) Load 312
+             314:    138(ptr) AccessChain 24(data) 25 313 126 26
+             315:   16(float) Load 314
+             316:   16(float) GroupNonUniformBroadcastFirst 36 315
+             317:    138(ptr) AccessChain 24(data) 25 311 126 26
+                              Store 317 316
+             318:     27(ptr) AccessChain 10(dti) 26
+             319:      6(int) Load 318
+             320:     27(ptr) AccessChain 10(dti) 26
+             321:      6(int) Load 320
+             322:    129(ptr) AccessChain 24(data) 25 321 126
+             323:   17(fvec4) Load 322
+             324:  147(fvec2) VectorShuffle 323 323 0 1
+             325:  147(fvec2) GroupNonUniformBroadcastFirst 36 324
+             326:    138(ptr) AccessChain 24(data) 25 319 126 26
+             327:   16(float) CompositeExtract 325 0
+                              Store 326 327
+             328:    138(ptr) AccessChain 24(data) 25 319 126 59
+             329:   16(float) CompositeExtract 325 1
+                              Store 328 329
              330:     27(ptr) AccessChain 10(dti) 26
              331:      6(int) Load 330
              332:     27(ptr) AccessChain 10(dti) 26
              333:      6(int) Load 332
-             334:    162(ptr) AccessChain 24(data) 25 333 159
-             335: 19(f64vec4) Load 334
-             336:180(f64vec2) VectorShuffle 335 335 0 1
-             337:180(f64vec2) GroupNonUniformBroadcastFirst 36 336
-             338:    162(ptr) AccessChain 24(data) 25 331 159
-             339: 19(f64vec4) Load 338
-             340: 19(f64vec4) VectorShuffle 339 337 4 5 2 3
-                              Store 338 340
-             341:     27(ptr) AccessChain 10(dti) 26
-             342:      6(int) Load 341
-             343:     27(ptr) AccessChain 10(dti) 26
-             344:      6(int) Load 343
-             345:    162(ptr) AccessChain 24(data) 25 344 159
-             346: 19(f64vec4) Load 345
-             347:192(f64vec3) VectorShuffle 346 346 0 1 2
-             348:192(f64vec3) GroupNonUniformBroadcastFirst 36 347
-             349:    162(ptr) AccessChain 24(data) 25 342 159
-             350: 19(f64vec4) Load 349
-             351: 19(f64vec4) VectorShuffle 350 348 4 5 6 3
-                              Store 349 351
+             334:    129(ptr) AccessChain 24(data) 25 333 126
+             335:   17(fvec4) Load 334
+             336:  160(fvec3) VectorShuffle 335 335 0 1 2
+             337:  160(fvec3) GroupNonUniformBroadcastFirst 36 336
+             338:    138(ptr) AccessChain 24(data) 25 331 126 26
+             339:   16(float) CompositeExtract 337 0
+                              Store 338 339
+             340:    138(ptr) AccessChain 24(data) 25 331 126 59
+             341:   16(float) CompositeExtract 337 1
+                              Store 340 341
+             342:    138(ptr) AccessChain 24(data) 25 331 126 74
+             343:   16(float) CompositeExtract 337 2
+                              Store 342 343
+             344:     27(ptr) AccessChain 10(dti) 26
+             345:      6(int) Load 344
+             346:     27(ptr) AccessChain 10(dti) 26
+             347:      6(int) Load 346
+             348:    176(ptr) AccessChain 24(data) 25 347 173
+             349: 19(f64vec4) Load 348
+             350: 19(f64vec4) GroupNonUniformBroadcastFirst 36 349
+             351:    176(ptr) AccessChain 24(data) 25 345 173
+                              Store 351 350
+             352:     27(ptr) AccessChain 10(dti) 26
+             353:      6(int) Load 352
+             354:     27(ptr) AccessChain 10(dti) 26
+             355:      6(int) Load 354
+             356:    185(ptr) AccessChain 24(data) 25 355 173 26
+             357:18(float64_t) Load 356
+             358:18(float64_t) GroupNonUniformBroadcastFirst 36 357
+             359:    185(ptr) AccessChain 24(data) 25 353 173 26
+                              Store 359 358
+             360:     27(ptr) AccessChain 10(dti) 26
+             361:      6(int) Load 360
+             362:     27(ptr) AccessChain 10(dti) 26
+             363:      6(int) Load 362
+             364:    176(ptr) AccessChain 24(data) 25 363 173
+             365: 19(f64vec4) Load 364
+             366:194(f64vec2) VectorShuffle 365 365 0 1
+             367:194(f64vec2) GroupNonUniformBroadcastFirst 36 366
+             368:    185(ptr) AccessChain 24(data) 25 361 173 26
+             369:18(float64_t) CompositeExtract 367 0
+                              Store 368 369
+             370:    185(ptr) AccessChain 24(data) 25 361 173 59
+             371:18(float64_t) CompositeExtract 367 1
+                              Store 370 371
+             372:     27(ptr) AccessChain 10(dti) 26
+             373:      6(int) Load 372
+             374:     27(ptr) AccessChain 10(dti) 26
+             375:      6(int) Load 374
+             376:    176(ptr) AccessChain 24(data) 25 375 173
+             377: 19(f64vec4) Load 376
+             378:207(f64vec3) VectorShuffle 377 377 0 1 2
+             379:207(f64vec3) GroupNonUniformBroadcastFirst 36 378
+             380:    185(ptr) AccessChain 24(data) 25 373 173 26
+             381:18(float64_t) CompositeExtract 379 0
+                              Store 380 381
+             382:    185(ptr) AccessChain 24(data) 25 373 173 59
+             383:18(float64_t) CompositeExtract 379 1
+                              Store 382 383
+             384:    185(ptr) AccessChain 24(data) 25 373 173 74
+             385:18(float64_t) CompositeExtract 379 2
+                              Store 384 385
                               Return
                               FunctionEnd