Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save bbrezillon/ad371efe5874dba280bcb6018cb0f5ce to your computer and use it in GitHub Desktop.

Select an option

Save bbrezillon/ad371efe5874dba280bcb6018cb0f5ce to your computer and use it in GitHub Desktop.
shader: MESA_SHADER_KERNEL
local-size: 0, 0, 0 (variable)
shared-size: 0
inputs: 2
outputs: 0
uniforms: 0
shared: 0
decl_var ubo INTERP_MODE_NONE struct.s[2] main_test.base (~0, 0, 0) = { { { 0x12 }, { 0x123456789abcdef }, { 0x1234 } }, { { 0x11 }, { 0x123456789abcdee }, {
0x1233 } } }
decl_var shader_in INTERP_MODE_NONE uint64_t @0 (0.x, 0, 0)
decl_var shader_in INTERP_MODE_NONE struct.s @1 (1, 8, 0)
decl_var system INTERP_MODE_NONE u64vec3 __spirv_BuiltInGlobalInvocationId
decl_function __wrapped_main_test (0 params) (entrypoint)
impl __wrapped_main_test {
decl_var INTERP_MODE_NONE struct.s copy_in
block block_0:
/* preds: */
vec1 64 ssa_0 = deref_var &@0 (shader_in uint64_t)
vec1 64 ssa_1 = intrinsic load_deref (ssa_0) (0, 0, 0) /* access=0 */ /* align_mul=0 */ /* align_offset=0 */
vec1 64 ssa_2 = deref_var &@1 (shader_in struct.s)
vec1 64 ssa_3 = deref_var &copy_in (function_temp struct.s)
vec1 64 ssa_62 = deref_struct &ssa_2->field0 (shader_in uint8_t) /* &@1.field0 */
vec1 64 ssa_63 = deref_struct &ssa_3->field0 (function_temp uint8_t) /* &copy_in.field0 */
vec1 8 ssa_68 = intrinsic load_deref (ssa_62) (0, 8, 0) /* access=0 */ /* align_mul=8 */ /* align_offset=0 */
intrinsic store_deref (ssa_63, ssa_68) (1, 0, 8, 0) /* wrmask=x */ /* access=0 */ /* align_mul=8 */ /* align_offset=0 */
vec1 64 ssa_64 = deref_struct &ssa_2->field1 (shader_in uint64_t) /* &@1.field1 */
vec1 64 ssa_65 = deref_struct &ssa_3->field1 (function_temp uint64_t) /* &copy_in.field1 */
vec1 64 ssa_71 = deref_cast (int8_t *)ssa_64 (shader_in int8_t) /* ptr_stride=1 */
vec1 64 ssa_72 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_73 = deref_ptr_as_array &(*ssa_71)[0] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[0] */
vec1 8 ssa_74 = intrinsic load_deref (ssa_73) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_75 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_76 = deref_ptr_as_array &(*ssa_71)[1] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[1] */
vec1 8 ssa_77 = intrinsic load_deref (ssa_76) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_78 = load_const (0x 2 /* 0.000000 */)
vec1 64 ssa_79 = deref_ptr_as_array &(*ssa_71)[2] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[2] */
vec1 8 ssa_80 = intrinsic load_deref (ssa_79) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_81 = load_const (0x 3 /* 0.000000 */)
vec1 64 ssa_82 = deref_ptr_as_array &(*ssa_71)[3] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[3] */
vec1 8 ssa_83 = intrinsic load_deref (ssa_82) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_84 = load_const (0x 4 /* 0.000000 */)
vec1 64 ssa_85 = deref_ptr_as_array &(*ssa_71)[4] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[4] */
vec1 8 ssa_86 = intrinsic load_deref (ssa_85) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_87 = load_const (0x 5 /* 0.000000 */)
vec1 64 ssa_88 = deref_ptr_as_array &(*ssa_71)[5] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[5] */
vec1 8 ssa_89 = intrinsic load_deref (ssa_88) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_90 = load_const (0x 6 /* 0.000000 */)
vec1 64 ssa_91 = deref_ptr_as_array &(*ssa_71)[6] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[6] */
vec1 8 ssa_92 = intrinsic load_deref (ssa_91) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_93 = load_const (0x 7 /* 0.000000 */)
vec1 64 ssa_94 = deref_ptr_as_array &(*ssa_71)[7] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[7] */
vec1 8 ssa_95 = intrinsic load_deref (ssa_94) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec8 8 ssa_96 = vec8 ssa_74, ssa_77, ssa_80, ssa_83, ssa_86, ssa_89, ssa_92, ssa_95
vec1 64 ssa_97 = load_const (0x 0 /* 0.000000 */)
vec1 8 ssa_98 = mov ssa_96.a
vec1 64 ssa_99 = u2u64 ssa_98
vec1 32 ssa_100 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_101 = ishl ssa_99, ssa_100
vec1 64 ssa_102 = ior ssa_97, ssa_101
vec1 8 ssa_103 = mov ssa_96.b
vec1 64 ssa_104 = u2u64 ssa_103
vec1 32 ssa_105 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_106 = ishl ssa_104, ssa_105
vec1 64 ssa_107 = ior ssa_102, ssa_106
vec1 8 ssa_108 = mov ssa_96.c
vec1 64 ssa_109 = u2u64 ssa_108
vec1 32 ssa_110 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_111 = ishl ssa_109, ssa_110
vec1 64 ssa_112 = ior ssa_107, ssa_111
vec1 8 ssa_113 = mov ssa_96.d
vec1 64 ssa_114 = u2u64 ssa_113
vec1 32 ssa_115 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_116 = ishl ssa_114, ssa_115
vec1 64 ssa_117 = ior ssa_112, ssa_116
vec1 8 ssa_118 = mov ssa_96.e
vec1 64 ssa_119 = u2u64 ssa_118
vec1 32 ssa_120 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_121 = ishl ssa_119, ssa_120
vec1 64 ssa_122 = ior ssa_117, ssa_121
vec1 8 ssa_123 = mov ssa_96.f
vec1 64 ssa_124 = u2u64 ssa_123
vec1 32 ssa_125 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_126 = ishl ssa_124, ssa_125
vec1 64 ssa_127 = ior ssa_122, ssa_126
vec1 8 ssa_128 = mov ssa_96.g
vec1 64 ssa_129 = u2u64 ssa_128
vec1 32 ssa_130 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_131 = ishl ssa_129, ssa_130
vec1 64 ssa_132 = ior ssa_127, ssa_131
vec1 8 ssa_133 = mov ssa_96.h
vec1 64 ssa_134 = u2u64 ssa_133
vec1 32 ssa_135 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_136 = ishl ssa_134, ssa_135
vec1 64 ssa_137 = ior ssa_132, ssa_136
vec1 64 ssa_138 = mov ssa_137
vec1 64 ssa_139 = deref_cast (int8_t *)ssa_65 (function_temp int8_t) /* ptr_stride=1 */
vec1 32 ssa_140 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_141 = ushr ssa_138, ssa_140
vec1 8 ssa_142 = u2u8 ssa_141
vec1 32 ssa_143 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_144 = ushr ssa_138, ssa_143
vec1 8 ssa_145 = u2u8 ssa_144
vec1 32 ssa_146 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_147 = ushr ssa_138, ssa_146
vec1 8 ssa_148 = u2u8 ssa_147
vec1 32 ssa_149 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_150 = ushr ssa_138, ssa_149
vec1 8 ssa_151 = u2u8 ssa_150
vec1 32 ssa_152 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_153 = ushr ssa_138, ssa_152
vec1 8 ssa_154 = u2u8 ssa_153
vec1 32 ssa_155 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_156 = ushr ssa_138, ssa_155
vec1 8 ssa_157 = u2u8 ssa_156
vec1 32 ssa_158 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_159 = ushr ssa_138, ssa_158
vec1 8 ssa_160 = u2u8 ssa_159
vec1 32 ssa_161 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_162 = ushr ssa_138, ssa_161
vec1 8 ssa_163 = u2u8 ssa_162
vec8 8 ssa_164 = vec8 ssa_142, ssa_145, ssa_148, ssa_151, ssa_154, ssa_157, ssa_160, ssa_163
vec1 8 ssa_165 = mov ssa_164.a
vec1 8 ssa_166 = mov ssa_165
vec1 64 ssa_167 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_168 = deref_ptr_as_array &(*ssa_139)[0] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[0] */
intrinsic store_deref (ssa_168, ssa_166) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_169 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_170 = ushr ssa_138, ssa_169
vec1 8 ssa_171 = u2u8 ssa_170
vec1 32 ssa_172 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_173 = ushr ssa_138, ssa_172
vec1 8 ssa_174 = u2u8 ssa_173
vec1 32 ssa_175 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_176 = ushr ssa_138, ssa_175
vec1 8 ssa_177 = u2u8 ssa_176
vec1 32 ssa_178 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_179 = ushr ssa_138, ssa_178
vec1 8 ssa_180 = u2u8 ssa_179
vec1 32 ssa_181 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_182 = ushr ssa_138, ssa_181
vec1 8 ssa_183 = u2u8 ssa_182
vec1 32 ssa_184 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_185 = ushr ssa_138, ssa_184
vec1 8 ssa_186 = u2u8 ssa_185
vec1 32 ssa_187 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_188 = ushr ssa_138, ssa_187
vec1 8 ssa_189 = u2u8 ssa_188
vec1 32 ssa_190 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_191 = ushr ssa_138, ssa_190
vec1 8 ssa_192 = u2u8 ssa_191
vec8 8 ssa_193 = vec8 ssa_171, ssa_174, ssa_177, ssa_180, ssa_183, ssa_186, ssa_189, ssa_192
vec1 8 ssa_194 = mov ssa_193.b
vec1 8 ssa_195 = mov ssa_194
vec1 64 ssa_196 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_197 = deref_ptr_as_array &(*ssa_139)[1] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[1] */
intrinsic store_deref (ssa_197, ssa_195) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_198 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_199 = ushr ssa_138, ssa_198
vec1 8 ssa_200 = u2u8 ssa_199
vec1 32 ssa_201 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_202 = ushr ssa_138, ssa_201
vec1 8 ssa_203 = u2u8 ssa_202
vec1 32 ssa_204 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_205 = ushr ssa_138, ssa_204
vec1 8 ssa_206 = u2u8 ssa_205
vec1 32 ssa_207 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_208 = ushr ssa_138, ssa_207
vec1 8 ssa_209 = u2u8 ssa_208
vec1 32 ssa_210 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_211 = ushr ssa_138, ssa_210
vec1 8 ssa_212 = u2u8 ssa_211
vec1 32 ssa_213 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_214 = ushr ssa_138, ssa_213
vec1 8 ssa_215 = u2u8 ssa_214
vec1 32 ssa_216 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_217 = ushr ssa_138, ssa_216
vec1 8 ssa_218 = u2u8 ssa_217
vec1 32 ssa_219 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_220 = ushr ssa_138, ssa_219
vec1 8 ssa_221 = u2u8 ssa_220
vec8 8 ssa_222 = vec8 ssa_200, ssa_203, ssa_206, ssa_209, ssa_212, ssa_215, ssa_218, ssa_221
vec1 8 ssa_223 = mov ssa_222.c
vec1 8 ssa_224 = mov ssa_223
vec1 64 ssa_225 = load_const (0x 2 /* 0.000000 */)
vec1 64 ssa_226 = deref_ptr_as_array &(*ssa_139)[2] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[2] */
intrinsic store_deref (ssa_226, ssa_224) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_227 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_228 = ushr ssa_138, ssa_227
vec1 8 ssa_229 = u2u8 ssa_228
vec1 32 ssa_230 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_231 = ushr ssa_138, ssa_230
vec1 8 ssa_232 = u2u8 ssa_231
vec1 32 ssa_233 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_234 = ushr ssa_138, ssa_233
vec1 8 ssa_235 = u2u8 ssa_234
vec1 32 ssa_236 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_237 = ushr ssa_138, ssa_236
vec1 8 ssa_238 = u2u8 ssa_237
vec1 32 ssa_239 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_240 = ushr ssa_138, ssa_239
vec1 8 ssa_241 = u2u8 ssa_240
vec1 32 ssa_242 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_243 = ushr ssa_138, ssa_242
vec1 8 ssa_244 = u2u8 ssa_243
vec1 32 ssa_245 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_246 = ushr ssa_138, ssa_245
vec1 8 ssa_247 = u2u8 ssa_246
vec1 32 ssa_248 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_249 = ushr ssa_138, ssa_248
vec1 8 ssa_250 = u2u8 ssa_249
vec8 8 ssa_251 = vec8 ssa_229, ssa_232, ssa_235, ssa_238, ssa_241, ssa_244, ssa_247, ssa_250
vec1 8 ssa_252 = mov ssa_251.d
vec1 8 ssa_253 = mov ssa_252
vec1 64 ssa_254 = load_const (0x 3 /* 0.000000 */)
vec1 64 ssa_255 = deref_ptr_as_array &(*ssa_139)[3] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[3] */
intrinsic store_deref (ssa_255, ssa_253) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_256 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_257 = ushr ssa_138, ssa_256
vec1 8 ssa_258 = u2u8 ssa_257
vec1 32 ssa_259 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_260 = ushr ssa_138, ssa_259
vec1 8 ssa_261 = u2u8 ssa_260
vec1 32 ssa_262 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_263 = ushr ssa_138, ssa_262
vec1 8 ssa_264 = u2u8 ssa_263
vec1 32 ssa_265 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_266 = ushr ssa_138, ssa_265
vec1 8 ssa_267 = u2u8 ssa_266
vec1 32 ssa_268 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_269 = ushr ssa_138, ssa_268
vec1 8 ssa_270 = u2u8 ssa_269
vec1 32 ssa_271 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_272 = ushr ssa_138, ssa_271
vec1 8 ssa_273 = u2u8 ssa_272
vec1 32 ssa_274 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_275 = ushr ssa_138, ssa_274
vec1 8 ssa_276 = u2u8 ssa_275
vec1 32 ssa_277 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_278 = ushr ssa_138, ssa_277
vec1 8 ssa_279 = u2u8 ssa_278
vec8 8 ssa_280 = vec8 ssa_258, ssa_261, ssa_264, ssa_267, ssa_270, ssa_273, ssa_276, ssa_279
vec1 8 ssa_281 = mov ssa_280.e
vec1 8 ssa_282 = mov ssa_281
vec1 64 ssa_283 = load_const (0x 4 /* 0.000000 */)
vec1 64 ssa_284 = deref_ptr_as_array &(*ssa_139)[4] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[4] */
intrinsic store_deref (ssa_284, ssa_282) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_285 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_286 = ushr ssa_138, ssa_285
vec1 8 ssa_287 = u2u8 ssa_286
vec1 32 ssa_288 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_289 = ushr ssa_138, ssa_288
vec1 8 ssa_290 = u2u8 ssa_289
vec1 32 ssa_291 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_292 = ushr ssa_138, ssa_291
vec1 8 ssa_293 = u2u8 ssa_292
vec1 32 ssa_294 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_295 = ushr ssa_138, ssa_294
vec1 8 ssa_296 = u2u8 ssa_295
vec1 32 ssa_297 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_298 = ushr ssa_138, ssa_297
vec1 8 ssa_299 = u2u8 ssa_298
vec1 32 ssa_300 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_301 = ushr ssa_138, ssa_300
vec1 8 ssa_302 = u2u8 ssa_301
vec1 32 ssa_303 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_304 = ushr ssa_138, ssa_303
vec1 8 ssa_305 = u2u8 ssa_304
vec1 32 ssa_306 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_307 = ushr ssa_138, ssa_306
vec1 8 ssa_308 = u2u8 ssa_307
vec8 8 ssa_309 = vec8 ssa_287, ssa_290, ssa_293, ssa_296, ssa_299, ssa_302, ssa_305, ssa_308
vec1 8 ssa_310 = mov ssa_309.f
vec1 8 ssa_311 = mov ssa_310
vec1 64 ssa_312 = load_const (0x 5 /* 0.000000 */)
vec1 64 ssa_313 = deref_ptr_as_array &(*ssa_139)[5] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[5] */
intrinsic store_deref (ssa_313, ssa_311) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_314 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_315 = ushr ssa_138, ssa_314
vec1 8 ssa_316 = u2u8 ssa_315
vec1 32 ssa_317 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_318 = ushr ssa_138, ssa_317
vec1 8 ssa_319 = u2u8 ssa_318
vec1 32 ssa_320 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_321 = ushr ssa_138, ssa_320
vec1 8 ssa_322 = u2u8 ssa_321
vec1 32 ssa_323 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_324 = ushr ssa_138, ssa_323
vec1 8 ssa_325 = u2u8 ssa_324
vec1 32 ssa_326 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_327 = ushr ssa_138, ssa_326
vec1 8 ssa_328 = u2u8 ssa_327
vec1 32 ssa_329 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_330 = ushr ssa_138, ssa_329
vec1 8 ssa_331 = u2u8 ssa_330
vec1 32 ssa_332 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_333 = ushr ssa_138, ssa_332
vec1 8 ssa_334 = u2u8 ssa_333
vec1 32 ssa_335 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_336 = ushr ssa_138, ssa_335
vec1 8 ssa_337 = u2u8 ssa_336
vec8 8 ssa_338 = vec8 ssa_316, ssa_319, ssa_322, ssa_325, ssa_328, ssa_331, ssa_334, ssa_337
vec1 8 ssa_339 = mov ssa_338.g
vec1 8 ssa_340 = mov ssa_339
vec1 64 ssa_341 = load_const (0x 6 /* 0.000000 */)
vec1 64 ssa_342 = deref_ptr_as_array &(*ssa_139)[6] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[6] */
intrinsic store_deref (ssa_342, ssa_340) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_343 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_344 = ushr ssa_138, ssa_343
vec1 8 ssa_345 = u2u8 ssa_344
vec1 32 ssa_346 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_347 = ushr ssa_138, ssa_346
vec1 8 ssa_348 = u2u8 ssa_347
vec1 32 ssa_349 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_350 = ushr ssa_138, ssa_349
vec1 8 ssa_351 = u2u8 ssa_350
vec1 32 ssa_352 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_353 = ushr ssa_138, ssa_352
vec1 8 ssa_354 = u2u8 ssa_353
vec1 32 ssa_355 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_356 = ushr ssa_138, ssa_355
vec1 8 ssa_357 = u2u8 ssa_356
vec1 32 ssa_358 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_359 = ushr ssa_138, ssa_358
vec1 8 ssa_360 = u2u8 ssa_359
vec1 32 ssa_361 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_362 = ushr ssa_138, ssa_361
vec1 8 ssa_363 = u2u8 ssa_362
vec1 32 ssa_364 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_365 = ushr ssa_138, ssa_364
vec1 8 ssa_366 = u2u8 ssa_365
vec8 8 ssa_367 = vec8 ssa_345, ssa_348, ssa_351, ssa_354, ssa_357, ssa_360, ssa_363, ssa_366
vec1 8 ssa_368 = mov ssa_367.h
vec1 8 ssa_369 = mov ssa_368
vec1 64 ssa_370 = load_const (0x 7 /* 0.000000 */)
vec1 64 ssa_371 = deref_ptr_as_array &(*ssa_139)[7] (function_temp int8_t) /* &(*(int8_t *)ssa_65)[7] */
intrinsic store_deref (ssa_371, ssa_369) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_66 = deref_struct &ssa_2->field2 (shader_in uint16_t) /* &@1.field2 */
vec1 64 ssa_67 = deref_struct &ssa_3->field2 (function_temp uint16_t) /* &copy_in.field2 */
vec1 16 ssa_70 = intrinsic load_deref (ssa_66) (0, 2, 0) /* access=0 */ /* align_mul=2 */ /* align_offset=0 */
intrinsic store_deref (ssa_67, ssa_70) (1, 0, 2, 0) /* wrmask=x */ /* access=0 */ /* align_mul=2 */ /* align_offset=0 */
vec1 64 ssa_5 = load_const (0x ffffffff /* 0.000000 */)
vec1 64 ssa_6 = load_const (0x 1 /* 0.000000 */)
vec1 32 ssa_9 = deref_var &__spirv_BuiltInGlobalInvocationId (system u64vec3)
vec3 64 ssa_10 = intrinsic load_deref (ssa_9) (0, 0, 0) /* access=0 */ /* align_mul=0 */ /* align_offset=0 */
vec1 64 ssa_11 = mov ssa_10.x
vec1 8 ssa_16 = intrinsic load_deref (ssa_62) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_17 = iand ssa_11, ssa_6
vec1 64 ssa_18 = deref_var &main_test.base (ubo struct.s[2])
vec1 64 ssa_22 = deref_array &(*ssa_18)[ssa_17] (ubo struct.s) /* &main_test.base[ssa_17] */
vec1 64 ssa_23 = deref_struct &ssa_22->field0 (ubo uint8_t) /* &main_test.base[ssa_17].field0 */
vec1 8 ssa_24 = intrinsic load_deref (ssa_23) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 8 ssa_25 = iadd ssa_24, ssa_16
vec1 64 ssa_26 = iand ssa_11, ssa_5
vec1 64 ssa_27 = deref_cast (struct.s *)ssa_1 (global struct.s) /* ptr_stride=11 */
vec1 64 ssa_28 = deref_ptr_as_array &(*ssa_27)[ssa_26] (global struct.s) /* &(*(struct.s *)ssa_1)[ssa_26] */
vec1 64 ssa_29 = deref_struct &ssa_28->field0 (global uint8_t) /* &(*(struct.s *)ssa_1)[ssa_26].field0 */
intrinsic store_deref (ssa_29, ssa_25) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_372 = deref_cast (int8_t *)ssa_64 (shader_in int8_t) /* ptr_stride=1 */
vec1 64 ssa_373 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_374 = deref_ptr_as_array &(*ssa_372)[0] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[0] */
vec1 8 ssa_375 = intrinsic load_deref (ssa_374) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_376 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_377 = deref_ptr_as_array &(*ssa_372)[1] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[1] */
vec1 8 ssa_378 = intrinsic load_deref (ssa_377) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_379 = load_const (0x 2 /* 0.000000 */)
vec1 64 ssa_380 = deref_ptr_as_array &(*ssa_372)[2] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[2] */
vec1 8 ssa_381 = intrinsic load_deref (ssa_380) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_382 = load_const (0x 3 /* 0.000000 */)
vec1 64 ssa_383 = deref_ptr_as_array &(*ssa_372)[3] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[3] */
vec1 8 ssa_384 = intrinsic load_deref (ssa_383) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_385 = load_const (0x 4 /* 0.000000 */)
vec1 64 ssa_386 = deref_ptr_as_array &(*ssa_372)[4] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[4] */
vec1 8 ssa_387 = intrinsic load_deref (ssa_386) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_388 = load_const (0x 5 /* 0.000000 */)
vec1 64 ssa_389 = deref_ptr_as_array &(*ssa_372)[5] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[5] */
vec1 8 ssa_390 = intrinsic load_deref (ssa_389) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_391 = load_const (0x 6 /* 0.000000 */)
vec1 64 ssa_392 = deref_ptr_as_array &(*ssa_372)[6] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[6] */
vec1 8 ssa_393 = intrinsic load_deref (ssa_392) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_394 = load_const (0x 7 /* 0.000000 */)
vec1 64 ssa_395 = deref_ptr_as_array &(*ssa_372)[7] (shader_in int8_t) /* &(*(int8_t *)ssa_64)[7] */
vec1 8 ssa_396 = intrinsic load_deref (ssa_395) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec8 8 ssa_397 = vec8 ssa_375, ssa_378, ssa_381, ssa_384, ssa_387, ssa_390, ssa_393, ssa_396
vec1 64 ssa_398 = load_const (0x 0 /* 0.000000 */)
vec1 8 ssa_399 = mov ssa_397.a
vec1 64 ssa_400 = u2u64 ssa_399
vec1 32 ssa_401 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_402 = ishl ssa_400, ssa_401
vec1 64 ssa_403 = ior ssa_398, ssa_402
vec1 8 ssa_404 = mov ssa_397.b
vec1 64 ssa_405 = u2u64 ssa_404
vec1 32 ssa_406 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_407 = ishl ssa_405, ssa_406
vec1 64 ssa_408 = ior ssa_403, ssa_407
vec1 8 ssa_409 = mov ssa_397.c
vec1 64 ssa_410 = u2u64 ssa_409
vec1 32 ssa_411 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_412 = ishl ssa_410, ssa_411
vec1 64 ssa_413 = ior ssa_408, ssa_412
vec1 8 ssa_414 = mov ssa_397.d
vec1 64 ssa_415 = u2u64 ssa_414
vec1 32 ssa_416 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_417 = ishl ssa_415, ssa_416
vec1 64 ssa_418 = ior ssa_413, ssa_417
vec1 8 ssa_419 = mov ssa_397.e
vec1 64 ssa_420 = u2u64 ssa_419
vec1 32 ssa_421 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_422 = ishl ssa_420, ssa_421
vec1 64 ssa_423 = ior ssa_418, ssa_422
vec1 8 ssa_424 = mov ssa_397.f
vec1 64 ssa_425 = u2u64 ssa_424
vec1 32 ssa_426 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_427 = ishl ssa_425, ssa_426
vec1 64 ssa_428 = ior ssa_423, ssa_427
vec1 8 ssa_429 = mov ssa_397.g
vec1 64 ssa_430 = u2u64 ssa_429
vec1 32 ssa_431 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_432 = ishl ssa_430, ssa_431
vec1 64 ssa_433 = ior ssa_428, ssa_432
vec1 8 ssa_434 = mov ssa_397.h
vec1 64 ssa_435 = u2u64 ssa_434
vec1 32 ssa_436 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_437 = ishl ssa_435, ssa_436
vec1 64 ssa_438 = ior ssa_433, ssa_437
vec1 64 ssa_439 = mov ssa_438
vec1 64 ssa_35 = deref_var &main_test.base (ubo struct.s[2])
vec1 64 ssa_39 = deref_array &(*ssa_35)[ssa_17] (ubo struct.s) /* &main_test.base[ssa_17] */
vec1 64 ssa_40 = deref_struct &ssa_39->field1 (ubo uint64_t) /* &main_test.base[ssa_17].field1 */
vec1 64 ssa_440 = deref_cast (int8_t *)ssa_40 (ubo int8_t) /* ptr_stride=1 */
vec1 64 ssa_441 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_442 = deref_ptr_as_array &(*ssa_440)[0] (ubo int8_t) /* &(*(int8_t *)ssa_40)[0] */
vec1 8 ssa_443 = intrinsic load_deref (ssa_442) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_444 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_445 = deref_ptr_as_array &(*ssa_440)[1] (ubo int8_t) /* &(*(int8_t *)ssa_40)[1] */
vec1 8 ssa_446 = intrinsic load_deref (ssa_445) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_447 = load_const (0x 2 /* 0.000000 */)
vec1 64 ssa_448 = deref_ptr_as_array &(*ssa_440)[2] (ubo int8_t) /* &(*(int8_t *)ssa_40)[2] */
vec1 8 ssa_449 = intrinsic load_deref (ssa_448) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_450 = load_const (0x 3 /* 0.000000 */)
vec1 64 ssa_451 = deref_ptr_as_array &(*ssa_440)[3] (ubo int8_t) /* &(*(int8_t *)ssa_40)[3] */
vec1 8 ssa_452 = intrinsic load_deref (ssa_451) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_453 = load_const (0x 4 /* 0.000000 */)
vec1 64 ssa_454 = deref_ptr_as_array &(*ssa_440)[4] (ubo int8_t) /* &(*(int8_t *)ssa_40)[4] */
vec1 8 ssa_455 = intrinsic load_deref (ssa_454) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_456 = load_const (0x 5 /* 0.000000 */)
vec1 64 ssa_457 = deref_ptr_as_array &(*ssa_440)[5] (ubo int8_t) /* &(*(int8_t *)ssa_40)[5] */
vec1 8 ssa_458 = intrinsic load_deref (ssa_457) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_459 = load_const (0x 6 /* 0.000000 */)
vec1 64 ssa_460 = deref_ptr_as_array &(*ssa_440)[6] (ubo int8_t) /* &(*(int8_t *)ssa_40)[6] */
vec1 8 ssa_461 = intrinsic load_deref (ssa_460) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_462 = load_const (0x 7 /* 0.000000 */)
vec1 64 ssa_463 = deref_ptr_as_array &(*ssa_440)[7] (ubo int8_t) /* &(*(int8_t *)ssa_40)[7] */
vec1 8 ssa_464 = intrinsic load_deref (ssa_463) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec8 8 ssa_465 = vec8 ssa_443, ssa_446, ssa_449, ssa_452, ssa_455, ssa_458, ssa_461, ssa_464
vec1 64 ssa_466 = load_const (0x 0 /* 0.000000 */)
vec1 8 ssa_467 = mov ssa_465.a
vec1 64 ssa_468 = u2u64 ssa_467
vec1 32 ssa_469 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_470 = ishl ssa_468, ssa_469
vec1 64 ssa_471 = ior ssa_466, ssa_470
vec1 8 ssa_472 = mov ssa_465.b
vec1 64 ssa_473 = u2u64 ssa_472
vec1 32 ssa_474 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_475 = ishl ssa_473, ssa_474
vec1 64 ssa_476 = ior ssa_471, ssa_475
vec1 8 ssa_477 = mov ssa_465.c
vec1 64 ssa_478 = u2u64 ssa_477
vec1 32 ssa_479 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_480 = ishl ssa_478, ssa_479
vec1 64 ssa_481 = ior ssa_476, ssa_480
vec1 8 ssa_482 = mov ssa_465.d
vec1 64 ssa_483 = u2u64 ssa_482
vec1 32 ssa_484 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_485 = ishl ssa_483, ssa_484
vec1 64 ssa_486 = ior ssa_481, ssa_485
vec1 8 ssa_487 = mov ssa_465.e
vec1 64 ssa_488 = u2u64 ssa_487
vec1 32 ssa_489 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_490 = ishl ssa_488, ssa_489
vec1 64 ssa_491 = ior ssa_486, ssa_490
vec1 8 ssa_492 = mov ssa_465.f
vec1 64 ssa_493 = u2u64 ssa_492
vec1 32 ssa_494 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_495 = ishl ssa_493, ssa_494
vec1 64 ssa_496 = ior ssa_491, ssa_495
vec1 8 ssa_497 = mov ssa_465.g
vec1 64 ssa_498 = u2u64 ssa_497
vec1 32 ssa_499 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_500 = ishl ssa_498, ssa_499
vec1 64 ssa_501 = ior ssa_496, ssa_500
vec1 8 ssa_502 = mov ssa_465.h
vec1 64 ssa_503 = u2u64 ssa_502
vec1 32 ssa_504 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_505 = ishl ssa_503, ssa_504
vec1 64 ssa_506 = ior ssa_501, ssa_505
vec1 64 ssa_507 = mov ssa_506
vec1 64 ssa_42 = iadd ssa_507, ssa_439
vec1 64 ssa_43 = deref_cast (struct.s *)ssa_1 (global struct.s) /* ptr_stride=11 */
vec1 64 ssa_44 = deref_ptr_as_array &(*ssa_43)[ssa_26] (global struct.s) /* &(*(struct.s *)ssa_1)[ssa_26] */
vec1 64 ssa_45 = deref_struct &ssa_44->field1 (global uint64_t) /* &(*(struct.s *)ssa_1)[ssa_26].field1 */
vec1 64 ssa_508 = deref_cast (int8_t *)ssa_45 (global int8_t) /* ptr_stride=1 */
vec1 32 ssa_509 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_510 = ushr ssa_42, ssa_509
vec1 8 ssa_511 = u2u8 ssa_510
vec1 32 ssa_512 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_513 = ushr ssa_42, ssa_512
vec1 8 ssa_514 = u2u8 ssa_513
vec1 32 ssa_515 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_516 = ushr ssa_42, ssa_515
vec1 8 ssa_517 = u2u8 ssa_516
vec1 32 ssa_518 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_519 = ushr ssa_42, ssa_518
vec1 8 ssa_520 = u2u8 ssa_519
vec1 32 ssa_521 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_522 = ushr ssa_42, ssa_521
vec1 8 ssa_523 = u2u8 ssa_522
vec1 32 ssa_524 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_525 = ushr ssa_42, ssa_524
vec1 8 ssa_526 = u2u8 ssa_525
vec1 32 ssa_527 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_528 = ushr ssa_42, ssa_527
vec1 8 ssa_529 = u2u8 ssa_528
vec1 32 ssa_530 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_531 = ushr ssa_42, ssa_530
vec1 8 ssa_532 = u2u8 ssa_531
vec8 8 ssa_533 = vec8 ssa_511, ssa_514, ssa_517, ssa_520, ssa_523, ssa_526, ssa_529, ssa_532
vec1 8 ssa_534 = mov ssa_533.a
vec1 8 ssa_535 = mov ssa_534
vec1 64 ssa_536 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_537 = deref_ptr_as_array &(*ssa_508)[0] (global int8_t) /* &(*(int8_t *)ssa_45)[0] */
intrinsic store_deref (ssa_537, ssa_535) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_538 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_539 = ushr ssa_42, ssa_538
vec1 8 ssa_540 = u2u8 ssa_539
vec1 32 ssa_541 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_542 = ushr ssa_42, ssa_541
vec1 8 ssa_543 = u2u8 ssa_542
vec1 32 ssa_544 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_545 = ushr ssa_42, ssa_544
vec1 8 ssa_546 = u2u8 ssa_545
vec1 32 ssa_547 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_548 = ushr ssa_42, ssa_547
vec1 8 ssa_549 = u2u8 ssa_548
vec1 32 ssa_550 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_551 = ushr ssa_42, ssa_550
vec1 8 ssa_552 = u2u8 ssa_551
vec1 32 ssa_553 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_554 = ushr ssa_42, ssa_553
vec1 8 ssa_555 = u2u8 ssa_554
vec1 32 ssa_556 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_557 = ushr ssa_42, ssa_556
vec1 8 ssa_558 = u2u8 ssa_557
vec1 32 ssa_559 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_560 = ushr ssa_42, ssa_559
vec1 8 ssa_561 = u2u8 ssa_560
vec8 8 ssa_562 = vec8 ssa_540, ssa_543, ssa_546, ssa_549, ssa_552, ssa_555, ssa_558, ssa_561
vec1 8 ssa_563 = mov ssa_562.b
vec1 8 ssa_564 = mov ssa_563
vec1 64 ssa_565 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_566 = deref_ptr_as_array &(*ssa_508)[1] (global int8_t) /* &(*(int8_t *)ssa_45)[1] */
intrinsic store_deref (ssa_566, ssa_564) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_567 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_568 = ushr ssa_42, ssa_567
vec1 8 ssa_569 = u2u8 ssa_568
vec1 32 ssa_570 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_571 = ushr ssa_42, ssa_570
vec1 8 ssa_572 = u2u8 ssa_571
vec1 32 ssa_573 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_574 = ushr ssa_42, ssa_573
vec1 8 ssa_575 = u2u8 ssa_574
vec1 32 ssa_576 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_577 = ushr ssa_42, ssa_576
vec1 8 ssa_578 = u2u8 ssa_577
vec1 32 ssa_579 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_580 = ushr ssa_42, ssa_579
vec1 8 ssa_581 = u2u8 ssa_580
vec1 32 ssa_582 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_583 = ushr ssa_42, ssa_582
vec1 8 ssa_584 = u2u8 ssa_583
vec1 32 ssa_585 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_586 = ushr ssa_42, ssa_585
vec1 8 ssa_587 = u2u8 ssa_586
vec1 32 ssa_588 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_589 = ushr ssa_42, ssa_588
vec1 8 ssa_590 = u2u8 ssa_589
vec8 8 ssa_591 = vec8 ssa_569, ssa_572, ssa_575, ssa_578, ssa_581, ssa_584, ssa_587, ssa_590
vec1 8 ssa_592 = mov ssa_591.c
vec1 8 ssa_593 = mov ssa_592
vec1 64 ssa_594 = load_const (0x 2 /* 0.000000 */)
vec1 64 ssa_595 = deref_ptr_as_array &(*ssa_508)[2] (global int8_t) /* &(*(int8_t *)ssa_45)[2] */
intrinsic store_deref (ssa_595, ssa_593) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_596 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_597 = ushr ssa_42, ssa_596
vec1 8 ssa_598 = u2u8 ssa_597
vec1 32 ssa_599 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_600 = ushr ssa_42, ssa_599
vec1 8 ssa_601 = u2u8 ssa_600
vec1 32 ssa_602 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_603 = ushr ssa_42, ssa_602
vec1 8 ssa_604 = u2u8 ssa_603
vec1 32 ssa_605 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_606 = ushr ssa_42, ssa_605
vec1 8 ssa_607 = u2u8 ssa_606
vec1 32 ssa_608 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_609 = ushr ssa_42, ssa_608
vec1 8 ssa_610 = u2u8 ssa_609
vec1 32 ssa_611 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_612 = ushr ssa_42, ssa_611
vec1 8 ssa_613 = u2u8 ssa_612
vec1 32 ssa_614 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_615 = ushr ssa_42, ssa_614
vec1 8 ssa_616 = u2u8 ssa_615
vec1 32 ssa_617 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_618 = ushr ssa_42, ssa_617
vec1 8 ssa_619 = u2u8 ssa_618
vec8 8 ssa_620 = vec8 ssa_598, ssa_601, ssa_604, ssa_607, ssa_610, ssa_613, ssa_616, ssa_619
vec1 8 ssa_621 = mov ssa_620.d
vec1 8 ssa_622 = mov ssa_621
vec1 64 ssa_623 = load_const (0x 3 /* 0.000000 */)
vec1 64 ssa_624 = deref_ptr_as_array &(*ssa_508)[3] (global int8_t) /* &(*(int8_t *)ssa_45)[3] */
intrinsic store_deref (ssa_624, ssa_622) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_625 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_626 = ushr ssa_42, ssa_625
vec1 8 ssa_627 = u2u8 ssa_626
vec1 32 ssa_628 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_629 = ushr ssa_42, ssa_628
vec1 8 ssa_630 = u2u8 ssa_629
vec1 32 ssa_631 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_632 = ushr ssa_42, ssa_631
vec1 8 ssa_633 = u2u8 ssa_632
vec1 32 ssa_634 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_635 = ushr ssa_42, ssa_634
vec1 8 ssa_636 = u2u8 ssa_635
vec1 32 ssa_637 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_638 = ushr ssa_42, ssa_637
vec1 8 ssa_639 = u2u8 ssa_638
vec1 32 ssa_640 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_641 = ushr ssa_42, ssa_640
vec1 8 ssa_642 = u2u8 ssa_641
vec1 32 ssa_643 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_644 = ushr ssa_42, ssa_643
vec1 8 ssa_645 = u2u8 ssa_644
vec1 32 ssa_646 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_647 = ushr ssa_42, ssa_646
vec1 8 ssa_648 = u2u8 ssa_647
vec8 8 ssa_649 = vec8 ssa_627, ssa_630, ssa_633, ssa_636, ssa_639, ssa_642, ssa_645, ssa_648
vec1 8 ssa_650 = mov ssa_649.e
vec1 8 ssa_651 = mov ssa_650
vec1 64 ssa_652 = load_const (0x 4 /* 0.000000 */)
vec1 64 ssa_653 = deref_ptr_as_array &(*ssa_508)[4] (global int8_t) /* &(*(int8_t *)ssa_45)[4] */
intrinsic store_deref (ssa_653, ssa_651) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_654 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_655 = ushr ssa_42, ssa_654
vec1 8 ssa_656 = u2u8 ssa_655
vec1 32 ssa_657 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_658 = ushr ssa_42, ssa_657
vec1 8 ssa_659 = u2u8 ssa_658
vec1 32 ssa_660 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_661 = ushr ssa_42, ssa_660
vec1 8 ssa_662 = u2u8 ssa_661
vec1 32 ssa_663 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_664 = ushr ssa_42, ssa_663
vec1 8 ssa_665 = u2u8 ssa_664
vec1 32 ssa_666 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_667 = ushr ssa_42, ssa_666
vec1 8 ssa_668 = u2u8 ssa_667
vec1 32 ssa_669 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_670 = ushr ssa_42, ssa_669
vec1 8 ssa_671 = u2u8 ssa_670
vec1 32 ssa_672 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_673 = ushr ssa_42, ssa_672
vec1 8 ssa_674 = u2u8 ssa_673
vec1 32 ssa_675 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_676 = ushr ssa_42, ssa_675
vec1 8 ssa_677 = u2u8 ssa_676
vec8 8 ssa_678 = vec8 ssa_656, ssa_659, ssa_662, ssa_665, ssa_668, ssa_671, ssa_674, ssa_677
vec1 8 ssa_679 = mov ssa_678.f
vec1 8 ssa_680 = mov ssa_679
vec1 64 ssa_681 = load_const (0x 5 /* 0.000000 */)
vec1 64 ssa_682 = deref_ptr_as_array &(*ssa_508)[5] (global int8_t) /* &(*(int8_t *)ssa_45)[5] */
intrinsic store_deref (ssa_682, ssa_680) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_683 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_684 = ushr ssa_42, ssa_683
vec1 8 ssa_685 = u2u8 ssa_684
vec1 32 ssa_686 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_687 = ushr ssa_42, ssa_686
vec1 8 ssa_688 = u2u8 ssa_687
vec1 32 ssa_689 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_690 = ushr ssa_42, ssa_689
vec1 8 ssa_691 = u2u8 ssa_690
vec1 32 ssa_692 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_693 = ushr ssa_42, ssa_692
vec1 8 ssa_694 = u2u8 ssa_693
vec1 32 ssa_695 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_696 = ushr ssa_42, ssa_695
vec1 8 ssa_697 = u2u8 ssa_696
vec1 32 ssa_698 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_699 = ushr ssa_42, ssa_698
vec1 8 ssa_700 = u2u8 ssa_699
vec1 32 ssa_701 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_702 = ushr ssa_42, ssa_701
vec1 8 ssa_703 = u2u8 ssa_702
vec1 32 ssa_704 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_705 = ushr ssa_42, ssa_704
vec1 8 ssa_706 = u2u8 ssa_705
vec8 8 ssa_707 = vec8 ssa_685, ssa_688, ssa_691, ssa_694, ssa_697, ssa_700, ssa_703, ssa_706
vec1 8 ssa_708 = mov ssa_707.g
vec1 8 ssa_709 = mov ssa_708
vec1 64 ssa_710 = load_const (0x 6 /* 0.000000 */)
vec1 64 ssa_711 = deref_ptr_as_array &(*ssa_508)[6] (global int8_t) /* &(*(int8_t *)ssa_45)[6] */
intrinsic store_deref (ssa_711, ssa_709) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_712 = load_const (0x00000000 /* 0.000000 */)
vec1 64 ssa_713 = ushr ssa_42, ssa_712
vec1 8 ssa_714 = u2u8 ssa_713
vec1 32 ssa_715 = load_const (0x00000008 /* 0.000000 */)
vec1 64 ssa_716 = ushr ssa_42, ssa_715
vec1 8 ssa_717 = u2u8 ssa_716
vec1 32 ssa_718 = load_const (0x00000010 /* 0.000000 */)
vec1 64 ssa_719 = ushr ssa_42, ssa_718
vec1 8 ssa_720 = u2u8 ssa_719
vec1 32 ssa_721 = load_const (0x00000018 /* 0.000000 */)
vec1 64 ssa_722 = ushr ssa_42, ssa_721
vec1 8 ssa_723 = u2u8 ssa_722
vec1 32 ssa_724 = load_const (0x00000020 /* 0.000000 */)
vec1 64 ssa_725 = ushr ssa_42, ssa_724
vec1 8 ssa_726 = u2u8 ssa_725
vec1 32 ssa_727 = load_const (0x00000028 /* 0.000000 */)
vec1 64 ssa_728 = ushr ssa_42, ssa_727
vec1 8 ssa_729 = u2u8 ssa_728
vec1 32 ssa_730 = load_const (0x00000030 /* 0.000000 */)
vec1 64 ssa_731 = ushr ssa_42, ssa_730
vec1 8 ssa_732 = u2u8 ssa_731
vec1 32 ssa_733 = load_const (0x00000038 /* 0.000000 */)
vec1 64 ssa_734 = ushr ssa_42, ssa_733
vec1 8 ssa_735 = u2u8 ssa_734
vec8 8 ssa_736 = vec8 ssa_714, ssa_717, ssa_720, ssa_723, ssa_726, ssa_729, ssa_732, ssa_735
vec1 8 ssa_737 = mov ssa_736.h
vec1 8 ssa_738 = mov ssa_737
vec1 64 ssa_739 = load_const (0x 7 /* 0.000000 */)
vec1 64 ssa_740 = deref_ptr_as_array &(*ssa_508)[7] (global int8_t) /* &(*(int8_t *)ssa_45)[7] */
intrinsic store_deref (ssa_740, ssa_738) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_741 = deref_cast (int8_t *)ssa_66 (shader_in int8_t) /* ptr_stride=1 */
vec1 64 ssa_742 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_743 = deref_ptr_as_array &(*ssa_741)[0] (shader_in int8_t) /* &(*(int8_t *)ssa_66)[0] */
vec1 8 ssa_744 = intrinsic load_deref (ssa_743) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_745 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_746 = deref_ptr_as_array &(*ssa_741)[1] (shader_in int8_t) /* &(*(int8_t *)ssa_66)[1] */
vec1 8 ssa_747 = intrinsic load_deref (ssa_746) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec2 8 ssa_748 = vec2 ssa_744, ssa_747
vec1 16 ssa_749 = load_const (0x0000 /* 0.000000 */)
vec1 8 ssa_750 = mov ssa_748.x
vec1 16 ssa_751 = u2u16 ssa_750
vec1 32 ssa_752 = load_const (0x00000000 /* 0.000000 */)
vec1 16 ssa_753 = ishl ssa_751, ssa_752
vec1 16 ssa_754 = ior ssa_749, ssa_753
vec1 8 ssa_755 = mov ssa_748.y
vec1 16 ssa_756 = u2u16 ssa_755
vec1 32 ssa_757 = load_const (0x00000008 /* 0.000000 */)
vec1 16 ssa_758 = ishl ssa_756, ssa_757
vec1 16 ssa_759 = ior ssa_754, ssa_758
vec1 16 ssa_760 = mov ssa_759
vec1 64 ssa_51 = deref_var &main_test.base (ubo struct.s[2])
vec1 64 ssa_55 = deref_array &(*ssa_51)[ssa_17] (ubo struct.s) /* &main_test.base[ssa_17] */
vec1 64 ssa_56 = deref_struct &ssa_55->field2 (ubo uint16_t) /* &main_test.base[ssa_17].field2 */
vec1 64 ssa_761 = deref_cast (int8_t *)ssa_56 (ubo int8_t) /* ptr_stride=1 */
vec1 64 ssa_762 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_763 = deref_ptr_as_array &(*ssa_761)[0] (ubo int8_t) /* &(*(int8_t *)ssa_56)[0] */
vec1 8 ssa_764 = intrinsic load_deref (ssa_763) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 64 ssa_765 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_766 = deref_ptr_as_array &(*ssa_761)[1] (ubo int8_t) /* &(*(int8_t *)ssa_56)[1] */
vec1 8 ssa_767 = intrinsic load_deref (ssa_766) (0, 1, 0) /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec2 8 ssa_768 = vec2 ssa_764, ssa_767
vec1 16 ssa_769 = load_const (0x0000 /* 0.000000 */)
vec1 8 ssa_770 = mov ssa_768.x
vec1 16 ssa_771 = u2u16 ssa_770
vec1 32 ssa_772 = load_const (0x00000000 /* 0.000000 */)
vec1 16 ssa_773 = ishl ssa_771, ssa_772
vec1 16 ssa_774 = ior ssa_769, ssa_773
vec1 8 ssa_775 = mov ssa_768.y
vec1 16 ssa_776 = u2u16 ssa_775
vec1 32 ssa_777 = load_const (0x00000008 /* 0.000000 */)
vec1 16 ssa_778 = ishl ssa_776, ssa_777
vec1 16 ssa_779 = ior ssa_774, ssa_778
vec1 16 ssa_780 = mov ssa_779
vec1 16 ssa_58 = iadd ssa_780, ssa_760
vec1 64 ssa_59 = deref_cast (struct.s *)ssa_1 (global struct.s) /* ptr_stride=11 */
vec1 64 ssa_60 = deref_ptr_as_array &(*ssa_59)[ssa_26] (global struct.s) /* &(*(struct.s *)ssa_1)[ssa_26] */
vec1 64 ssa_61 = deref_struct &ssa_60->field2 (global uint16_t) /* &(*(struct.s *)ssa_1)[ssa_26].field2 */
vec1 64 ssa_781 = deref_cast (int8_t *)ssa_61 (global int8_t) /* ptr_stride=1 */
vec1 32 ssa_782 = load_const (0x00000000 /* 0.000000 */)
vec1 16 ssa_783 = ushr ssa_58, ssa_782
vec1 8 ssa_784 = u2u8 ssa_783
vec1 32 ssa_785 = load_const (0x00000008 /* 0.000000 */)
vec1 16 ssa_786 = ushr ssa_58, ssa_785
vec1 8 ssa_787 = u2u8 ssa_786
vec2 8 ssa_788 = vec2 ssa_784, ssa_787
vec1 8 ssa_789 = mov ssa_788.x
vec1 8 ssa_790 = mov ssa_789
vec1 64 ssa_791 = load_const (0x 0 /* 0.000000 */)
vec1 64 ssa_792 = deref_ptr_as_array &(*ssa_781)[0] (global int8_t) /* &(*(int8_t *)ssa_61)[0] */
intrinsic store_deref (ssa_792, ssa_790) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
vec1 32 ssa_793 = load_const (0x00000000 /* 0.000000 */)
vec1 16 ssa_794 = ushr ssa_58, ssa_793
vec1 8 ssa_795 = u2u8 ssa_794
vec1 32 ssa_796 = load_const (0x00000008 /* 0.000000 */)
vec1 16 ssa_797 = ushr ssa_58, ssa_796
vec1 8 ssa_798 = u2u8 ssa_797
vec2 8 ssa_799 = vec2 ssa_795, ssa_798
vec1 8 ssa_800 = mov ssa_799.y
vec1 8 ssa_801 = mov ssa_800
vec1 64 ssa_802 = load_const (0x 1 /* 0.000000 */)
vec1 64 ssa_803 = deref_ptr_as_array &(*ssa_781)[1] (global int8_t) /* &(*(int8_t *)ssa_61)[1] */
intrinsic store_deref (ssa_803, ssa_801) (1, 0, 1, 0) /* wrmask=x */ /* access=0 */ /* align_mul=1 */ /* align_offset=0 */
/* succs: block_1 */
block block_1:
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment