dawn-cmake/test/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.spvasm.expected.msl

348 lines
13 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 resolution;
};
struct tint_array_wrapper {
int arr[256];
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_2 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(constant buf0& x_7, thread float4* const tint_symbol_5, thread tint_array_wrapper* const tint_symbol_6, thread float4* const tint_symbol_7) {
float2 pos = 0.0f;
int2 ipos = 0;
int i = 0;
int2 p = 0;
bool canwalk = false;
int v = 0;
int directions = 0;
int j = 0;
int d = 0;
float4 const x_57 = *(tint_symbol_5);
float2 const x_60 = x_7.resolution;
pos = (float2(x_57.x, x_57.y) / x_60);
float const x_63 = pos.x;
float const x_67 = pos.y;
ipos = int2(int((x_63 * 16.0f)), int((x_67 * 16.0f)));
i = 0;
while (true) {
int const x_75 = i;
if ((x_75 < 256)) {
} else {
break;
}
int const x_78 = i;
(*(tint_symbol_6)).arr[x_78] = 0;
{
int const x_80 = i;
i = as_type<int>((as_type<uint>(x_80) + as_type<uint>(1)));
}
}
p = int2(0, 0);
canwalk = true;
v = 0;
while (true) {
bool x_102 = false;
bool x_122 = false;
bool x_142 = false;
bool x_162 = false;
bool x_103_phi = false;
bool x_123_phi = false;
bool x_143_phi = false;
bool x_163_phi = false;
int const x_86 = v;
v = as_type<int>((as_type<uint>(x_86) + as_type<uint>(1)));
directions = 0;
int const x_89 = p.x;
bool const x_90 = (x_89 > 0);
x_103_phi = x_90;
if (x_90) {
int const x_94 = p.x;
int const x_97 = p.y;
int const x_101 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_94) - as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(x_97) * as_type<uint>(16))))))];
x_102 = (x_101 == 0);
x_103_phi = x_102;
}
bool const x_103 = x_103_phi;
if (x_103) {
int const x_106 = directions;
directions = as_type<int>((as_type<uint>(x_106) + as_type<uint>(1)));
}
int const x_109 = p.y;
bool const x_110 = (x_109 > 0);
x_123_phi = x_110;
if (x_110) {
int const x_114 = p.x;
int const x_116 = p.y;
int const x_121 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_114) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_116) - as_type<uint>(2)))) * as_type<uint>(16))))))];
x_122 = (x_121 == 0);
x_123_phi = x_122;
}
bool const x_123 = x_123_phi;
if (x_123) {
int const x_126 = directions;
directions = as_type<int>((as_type<uint>(x_126) + as_type<uint>(1)));
}
int const x_129 = p.x;
bool const x_130 = (x_129 < 14);
x_143_phi = x_130;
if (x_130) {
int const x_134 = p.x;
int const x_137 = p.y;
int const x_141 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_134) + as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(x_137) * as_type<uint>(16))))))];
x_142 = (x_141 == 0);
x_143_phi = x_142;
}
bool const x_143 = x_143_phi;
if (x_143) {
int const x_146 = directions;
directions = as_type<int>((as_type<uint>(x_146) + as_type<uint>(1)));
}
int const x_149 = p.y;
bool const x_150 = (x_149 < 14);
x_163_phi = x_150;
if (x_150) {
int const x_154 = p.x;
int const x_156 = p.y;
int const x_161 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_154) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_156) + as_type<uint>(2)))) * as_type<uint>(16))))))];
x_162 = (x_161 == 0);
x_163_phi = x_162;
}
bool const x_163 = x_163_phi;
if (x_163) {
int const x_166 = directions;
directions = as_type<int>((as_type<uint>(x_166) + as_type<uint>(1)));
}
bool x_227 = false;
bool x_240 = false;
bool x_279 = false;
bool x_292 = false;
bool x_331 = false;
bool x_344 = false;
bool x_383 = false;
bool x_396 = false;
bool x_228_phi = false;
bool x_241_phi = false;
bool x_280_phi = false;
bool x_293_phi = false;
bool x_332_phi = false;
bool x_345_phi = false;
bool x_384_phi = false;
bool x_397_phi = false;
int const x_168 = directions;
if ((x_168 == 0)) {
canwalk = false;
i = 0;
while (true) {
int const x_177 = i;
if ((x_177 < 8)) {
} else {
break;
}
j = 0;
while (true) {
int const x_184 = j;
if ((x_184 < 8)) {
} else {
break;
}
int const x_187 = j;
int const x_189 = i;
int const x_194 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_187) * as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_189) * as_type<uint>(2)))) * as_type<uint>(16))))))];
if ((x_194 == 0)) {
int const x_198 = j;
p.x = as_type<int>((as_type<uint>(x_198) * as_type<uint>(2)));
int const x_201 = i;
p.y = as_type<int>((as_type<uint>(x_201) * as_type<uint>(2)));
canwalk = true;
}
{
int const x_204 = j;
j = as_type<int>((as_type<uint>(x_204) + as_type<uint>(1)));
}
}
{
int const x_206 = i;
i = as_type<int>((as_type<uint>(x_206) + as_type<uint>(1)));
}
}
int const x_209 = p.x;
int const x_211 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_209) + as_type<uint>(as_type<int>((as_type<uint>(x_211) * as_type<uint>(16))))))] = 1;
} else {
int const x_215 = v;
int const x_216 = directions;
d = (x_215 % x_216);
int const x_218 = directions;
int const x_219 = v;
v = as_type<int>((as_type<uint>(x_219) + as_type<uint>(x_218)));
int const x_221 = d;
bool const x_222 = (x_221 >= 0);
x_228_phi = x_222;
if (x_222) {
int const x_226 = p.x;
x_227 = (x_226 > 0);
x_228_phi = x_227;
}
bool const x_228 = x_228_phi;
x_241_phi = x_228;
if (x_228) {
int const x_232 = p.x;
int const x_235 = p.y;
int const x_239 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_232) - as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(x_235) * as_type<uint>(16))))))];
x_240 = (x_239 == 0);
x_241_phi = x_240;
}
bool const x_241 = x_241_phi;
if (x_241) {
int const x_244 = d;
d = as_type<int>((as_type<uint>(x_244) - as_type<uint>(1)));
int const x_247 = p.x;
int const x_249 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_247) + as_type<uint>(as_type<int>((as_type<uint>(x_249) * as_type<uint>(16))))))] = 1;
int const x_254 = p.x;
int const x_257 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_254) - as_type<uint>(1)))) + as_type<uint>(as_type<int>((as_type<uint>(x_257) * as_type<uint>(16))))))] = 1;
int const x_262 = p.x;
int const x_265 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_262) - as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(x_265) * as_type<uint>(16))))))] = 1;
int const x_270 = p.x;
p.x = as_type<int>((as_type<uint>(x_270) - as_type<uint>(2)));
}
int const x_273 = d;
bool const x_274 = (x_273 >= 0);
x_280_phi = x_274;
if (x_274) {
int const x_278 = p.y;
x_279 = (x_278 > 0);
x_280_phi = x_279;
}
bool const x_280 = x_280_phi;
x_293_phi = x_280;
if (x_280) {
int const x_284 = p.x;
int const x_286 = p.y;
int const x_291 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_284) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_286) - as_type<uint>(2)))) * as_type<uint>(16))))))];
x_292 = (x_291 == 0);
x_293_phi = x_292;
}
bool const x_293 = x_293_phi;
if (x_293) {
int const x_296 = d;
d = as_type<int>((as_type<uint>(x_296) - as_type<uint>(1)));
int const x_299 = p.x;
int const x_301 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_299) + as_type<uint>(as_type<int>((as_type<uint>(x_301) * as_type<uint>(16))))))] = 1;
int const x_306 = p.x;
int const x_308 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_306) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_308) - as_type<uint>(1)))) * as_type<uint>(16))))))] = 1;
int const x_314 = p.x;
int const x_316 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_314) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_316) - as_type<uint>(2)))) * as_type<uint>(16))))))] = 1;
int const x_322 = p.y;
p.y = as_type<int>((as_type<uint>(x_322) - as_type<uint>(2)));
}
int const x_325 = d;
bool const x_326 = (x_325 >= 0);
x_332_phi = x_326;
if (x_326) {
int const x_330 = p.x;
x_331 = (x_330 < 14);
x_332_phi = x_331;
}
bool const x_332 = x_332_phi;
x_345_phi = x_332;
if (x_332) {
int const x_336 = p.x;
int const x_339 = p.y;
int const x_343 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_336) + as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(x_339) * as_type<uint>(16))))))];
x_344 = (x_343 == 0);
x_345_phi = x_344;
}
bool const x_345 = x_345_phi;
if (x_345) {
int const x_348 = d;
d = as_type<int>((as_type<uint>(x_348) - as_type<uint>(1)));
int const x_351 = p.x;
int const x_353 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_351) + as_type<uint>(as_type<int>((as_type<uint>(x_353) * as_type<uint>(16))))))] = 1;
int const x_358 = p.x;
int const x_361 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_358) + as_type<uint>(1)))) + as_type<uint>(as_type<int>((as_type<uint>(x_361) * as_type<uint>(16))))))] = 1;
int const x_366 = p.x;
int const x_369 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_366) + as_type<uint>(2)))) + as_type<uint>(as_type<int>((as_type<uint>(x_369) * as_type<uint>(16))))))] = 1;
int const x_374 = p.x;
p.x = as_type<int>((as_type<uint>(x_374) + as_type<uint>(2)));
}
int const x_377 = d;
bool const x_378 = (x_377 >= 0);
x_384_phi = x_378;
if (x_378) {
int const x_382 = p.y;
x_383 = (x_382 < 14);
x_384_phi = x_383;
}
bool const x_384 = x_384_phi;
x_397_phi = x_384;
if (x_384) {
int const x_388 = p.x;
int const x_390 = p.y;
int const x_395 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_388) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_390) + as_type<uint>(2)))) * as_type<uint>(16))))))];
x_396 = (x_395 == 0);
x_397_phi = x_396;
}
bool const x_397 = x_397_phi;
if (x_397) {
int const x_400 = d;
d = as_type<int>((as_type<uint>(x_400) - as_type<uint>(1)));
int const x_403 = p.x;
int const x_405 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_403) + as_type<uint>(as_type<int>((as_type<uint>(x_405) * as_type<uint>(16))))))] = 1;
int const x_410 = p.x;
int const x_412 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_410) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_412) + as_type<uint>(1)))) * as_type<uint>(16))))))] = 1;
int const x_418 = p.x;
int const x_420 = p.y;
(*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(x_418) + as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_420) + as_type<uint>(2)))) * as_type<uint>(16))))))] = 1;
int const x_426 = p.y;
p.y = as_type<int>((as_type<uint>(x_426) + as_type<uint>(2)));
}
}
int const x_430 = ipos.y;
int const x_433 = ipos.x;
int const x_436 = (*(tint_symbol_6)).arr[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_430) * as_type<uint>(16)))) + as_type<uint>(x_433)))];
if ((x_436 == 1)) {
*(tint_symbol_7) = float4(1.0f, 1.0f, 1.0f, 1.0f);
return;
}
{
bool const x_440 = canwalk;
if (x_440) {
} else {
break;
}
}
}
*(tint_symbol_7) = float4(0.0f, 0.0f, 0.0f, 1.0f);
return;
}
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_7 [[buffer(0)]]) {
thread float4 tint_symbol_8 = 0.0f;
thread tint_array_wrapper tint_symbol_9 = {};
thread float4 tint_symbol_10 = 0.0f;
tint_symbol_8 = gl_FragCoord_param;
main_1(x_7, &(tint_symbol_8), &(tint_symbol_9), &(tint_symbol_10));
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_10};
tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
return tint_symbol_4;
}