dawn-cmake/test/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always.../1.spvasm.expected.msl

352 lines
9.0 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
};
struct tint_array_wrapper {
int arr[10];
};
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_8, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) {
tint_array_wrapper temp = {};
tint_array_wrapper data = {};
float x_180 = 0.0f;
float x_279 = 0.0f;
int x_65_phi = 0;
int x_93_phi = 0;
int x_102_phi = 0;
float x_280_phi = 0.0f;
float const x_62 = x_8.injectionSwitch.x;
int const x_63 = int(x_62);
x_65_phi = x_63;
while (true) {
int const x_65 = x_65_phi;
switch(x_65) {
case 9: {
data.arr[x_65] = -5;
break;
}
case 8: {
data.arr[x_65] = -4;
break;
}
case 7: {
data.arr[x_65] = -3;
break;
}
case 6: {
data.arr[x_65] = -2;
break;
}
case 5: {
data.arr[x_65] = -1;
break;
}
case 4: {
data.arr[x_65] = 0;
break;
}
case 3: {
data.arr[x_65] = 1;
break;
}
case 2: {
data.arr[x_65] = 2;
break;
}
case 1: {
data.arr[x_65] = 3;
break;
}
case 0: {
data.arr[x_65] = 4;
break;
}
default: {
break;
}
}
int const x_66 = (x_65 + 1);
{
x_65_phi = x_66;
if ((x_66 < 10)) {
} else {
break;
}
}
}
x_93_phi = 0;
while (true) {
int x_94 = 0;
int const x_93 = x_93_phi;
if ((x_93 < 10)) {
} else {
break;
}
{
int const x_99 = data.arr[x_93];
temp.arr[x_93] = x_99;
x_94 = (x_93 + 1);
x_93_phi = x_94;
}
}
x_102_phi = 1;
while (true) {
int x_103 = 0;
int x_109_phi = 0;
int const x_102 = x_102_phi;
if ((x_102 <= 9)) {
} else {
break;
}
x_109_phi = 0;
while (true) {
int x_121 = 0;
int x_126 = 0;
int x_121_phi = 0;
int x_124_phi = 0;
int x_126_phi = 0;
int x_148_phi = 0;
int x_151_phi = 0;
int x_161_phi = 0;
int const x_109 = x_109_phi;
if ((x_109 < 9)) {
} else {
break;
}
int const x_115 = (x_109 + x_102);
int const x_116 = (x_115 - 1);
int const x_110 = (x_109 + (2 * x_102));
int const x_119 = min((x_110 - 1), 9);
x_121_phi = x_109;
x_124_phi = x_115;
x_126_phi = x_109;
while (true) {
int x_141 = 0;
int x_144 = 0;
int x_125_phi = 0;
int x_127_phi = 0;
x_121 = x_121_phi;
int const x_124 = x_124_phi;
x_126 = x_126_phi;
if (((x_126 <= x_116) && (x_124 <= x_119))) {
} else {
break;
}
int const x_133_save = x_126;
int const x_134 = data.arr[x_133_save];
int const x_135_save = x_124;
int const x_136 = data.arr[x_135_save];
int const x_122 = as_type<int>((x_121 + as_type<int>(1)));
if ((x_134 < x_136)) {
x_141 = as_type<int>((x_126 + as_type<int>(1)));
int const x_142 = data.arr[x_133_save];
temp.arr[x_121] = x_142;
x_125_phi = x_124;
x_127_phi = x_141;
} else {
x_144 = (x_124 + 1);
int const x_145 = data.arr[x_135_save];
temp.arr[x_121] = x_145;
x_125_phi = x_144;
x_127_phi = x_126;
}
int const x_125 = x_125_phi;
int const x_127 = x_127_phi;
{
x_121_phi = x_122;
x_124_phi = x_125;
x_126_phi = x_127;
}
}
x_148_phi = x_121;
x_151_phi = x_126;
while (true) {
int x_149 = 0;
int x_152 = 0;
int const x_148 = x_148_phi;
int const x_151 = x_151_phi;
if (((x_151 < 10) && (x_151 <= x_116))) {
} else {
break;
}
{
x_149 = (x_148 + 1);
x_152 = (x_151 + 1);
int const x_158 = data.arr[x_151];
temp.arr[x_148] = x_158;
x_148_phi = x_149;
x_151_phi = x_152;
}
}
x_161_phi = x_109;
while (true) {
int x_162 = 0;
int const x_161 = x_161_phi;
if ((x_161 <= x_119)) {
} else {
break;
}
{
int const x_167 = temp.arr[x_161];
data.arr[x_161] = x_167;
x_162 = (x_161 + 1);
x_161_phi = x_162;
}
}
{
x_109_phi = x_110;
}
}
{
x_103 = (2 * x_102);
x_102_phi = x_103;
}
}
int x_171 = 0;
float x_189 = 0.0f;
float x_278 = 0.0f;
float x_279_phi = 0.0f;
float const x_170 = (*(tint_symbol_5)).y;
x_171 = int(x_170);
if ((x_171 < 30)) {
int const x_177 = data.arr[0];
x_180 = (0.5f + (float(x_177) * 0.100000001f));
x_280_phi = x_180;
} else {
float x_198 = 0.0f;
float x_277 = 0.0f;
float x_278_phi = 0.0f;
if ((x_171 < 60)) {
int const x_186 = data.arr[1];
x_189 = (0.5f + (float(x_186) * 0.100000001f));
x_279_phi = x_189;
} else {
float x_207 = 0.0f;
float x_249 = 0.0f;
float x_277_phi = 0.0f;
if ((x_171 < 90)) {
int const x_195 = data.arr[2];
x_198 = (0.5f + (float(x_195) * 0.100000001f));
x_278_phi = x_198;
} else {
if ((x_171 < 120)) {
int const x_204 = data.arr[3];
x_207 = (0.5f + (float(x_204) * 0.100000001f));
x_277_phi = x_207;
} else {
float x_220 = 0.0f;
float x_248 = 0.0f;
float x_249_phi = 0.0f;
float2 x_256_phi = 0.0f;
int x_259_phi = 0;
if ((x_171 < 150)) {
discard_fragment();
} else {
float x_229 = 0.0f;
float x_247 = 0.0f;
float x_248_phi = 0.0f;
if ((x_171 < 180)) {
int const x_217 = data.arr[5];
x_220 = (0.5f + (float(x_217) * 0.100000001f));
x_249_phi = x_220;
} else {
float x_238 = 0.0f;
float x_246 = 0.0f;
float x_247_phi = 0.0f;
if ((x_171 < 210)) {
int const x_226 = data.arr[6];
x_229 = (0.5f + (float(x_226) * 0.100000001f));
x_248_phi = x_229;
} else {
if ((x_171 < 240)) {
int const x_235 = data.arr[7];
x_238 = (0.5f + (float(x_235) * 0.100000001f));
x_247_phi = x_238;
} else {
if ((x_171 < 270)) {
} else {
discard_fragment();
}
int const x_243 = data.arr[8];
x_246 = (0.5f + (float(x_243) * 0.100000001f));
x_247_phi = x_246;
}
x_247 = x_247_phi;
x_248_phi = x_247;
}
x_248 = x_248_phi;
x_249_phi = x_248;
}
x_249 = x_249_phi;
float const x_251 = x_8.injectionSwitch.y;
bool const x_252 = (x_62 > x_251);
if (x_252) {
*(tint_symbol_6) = float4(1.0f, 1.0f, 1.0f, 1.0f);
}
x_256_phi = float2(1.0f, 1.0f);
x_259_phi = 0;
while (true) {
float2 x_272 = 0.0f;
int x_260 = 0;
float2 x_273_phi = 0.0f;
float2 const x_256 = x_256_phi;
int const x_259 = x_259_phi;
if ((x_259 <= 32)) {
} else {
break;
}
x_273_phi = x_256;
if ((x_256.x < 0.0f)) {
if (x_252) {
discard_fragment();
}
x_272 = x_256;
x_272.y = (x_256.y + 1.0f);
x_273_phi = x_272;
}
float2 const x_273 = x_273_phi;
float2 x_257_1 = x_273;
x_257_1.x = (x_273.x + x_273.y);
float2 const x_257 = x_257_1;
{
x_260 = (x_259 + 1);
x_256_phi = x_257;
x_259_phi = x_260;
}
}
}
x_277_phi = x_249;
}
x_277 = x_277_phi;
x_278_phi = x_277;
}
x_278 = x_278_phi;
x_279_phi = x_278;
}
x_279 = x_279_phi;
x_280_phi = x_279;
}
float const x_280 = x_280_phi;
*(tint_symbol_6) = float4(x_280, x_280, x_280, 1.0f);
return;
}
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_8 [[buffer(0)]]) {
thread float4 tint_symbol_7 = 0.0f;
thread float4 tint_symbol_8 = 0.0f;
tint_symbol_7 = gl_FragCoord_param;
main_1(x_8, &(tint_symbol_7), &(tint_symbol_8));
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_8};
tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
return tint_symbol_4;
}