dawn-cmake/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop.../2.spvasm.expected.msl

347 lines
8.5 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_189 = 0.0f;
float x_261 = 0.0f;
int x_63_phi = 0;
int x_102_phi = 0;
int x_111_phi = 0;
float x_262_phi = 0.0f;
float const x_60 = x_8.injectionSwitch.x;
int const x_61 = int(x_60);
x_63_phi = x_61;
while (true) {
int x_99 = 0;
int x_97 = 0;
int x_95 = 0;
int x_93 = 0;
int x_91 = 0;
int x_89 = 0;
int x_87 = 0;
int x_85 = 0;
int x_83 = 0;
int x_81 = 0;
int x_64_phi = 0;
int const x_63 = x_63_phi;
int const x_68 = (x_63 + 1);
x_64_phi = x_68;
switch(x_63) {
case 9: {
data.arr[x_63] = -5;
x_99 = (x_63 + 1);
x_64_phi = x_99;
break;
}
case 8: {
data.arr[x_63] = -4;
x_97 = (x_63 + 1);
x_64_phi = x_97;
break;
}
case 7: {
data.arr[x_63] = -3;
x_95 = (x_63 + 1);
x_64_phi = x_95;
break;
}
case 6: {
data.arr[x_63] = -2;
x_93 = (x_63 + 1);
x_64_phi = x_93;
break;
}
case 5: {
data.arr[x_63] = -1;
x_91 = (x_63 + 1);
x_64_phi = x_91;
break;
}
case 4: {
data.arr[x_63] = 0;
x_89 = (x_63 + 1);
x_64_phi = x_89;
break;
}
case 3: {
data.arr[x_63] = 1;
x_87 = (x_63 + 1);
x_64_phi = x_87;
break;
}
case 2: {
data.arr[x_63] = 2;
x_85 = (x_63 + 1);
x_64_phi = x_85;
break;
}
case 1: {
data.arr[x_63] = 3;
x_83 = (x_63 + 1);
x_64_phi = x_83;
break;
}
case 0: {
data.arr[x_63] = 4;
x_81 = (x_63 + 1);
x_64_phi = x_81;
break;
}
default: {
break;
}
}
int const x_64 = x_64_phi;
{
x_63_phi = x_64;
if ((x_64 < 10)) {
} else {
break;
}
}
}
x_102_phi = 0;
while (true) {
int x_103 = 0;
int const x_102 = x_102_phi;
if ((x_102 < 10)) {
} else {
break;
}
{
int const x_108 = data.arr[x_102];
temp.arr[x_102] = x_108;
x_103 = (x_102 + 1);
x_102_phi = x_103;
}
}
x_111_phi = 1;
while (true) {
int x_112 = 0;
int x_118_phi = 0;
int const x_111 = x_111_phi;
if ((x_111 <= 9)) {
} else {
break;
}
x_118_phi = 0;
while (true) {
int x_130 = 0;
int x_135 = 0;
int x_130_phi = 0;
int x_133_phi = 0;
int x_135_phi = 0;
int x_157_phi = 0;
int x_160_phi = 0;
int x_170_phi = 0;
int const x_118 = x_118_phi;
if ((x_118 < 9)) {
} else {
break;
}
int const x_124 = (x_118 + x_111);
int const x_125 = (x_124 - 1);
int const x_119 = (x_118 + (2 * x_111));
int const x_128 = min((x_119 - 1), 9);
x_130_phi = x_118;
x_133_phi = x_124;
x_135_phi = x_118;
while (true) {
int x_150 = 0;
int x_153 = 0;
int x_134_phi = 0;
int x_136_phi = 0;
x_130 = x_130_phi;
int const x_133 = x_133_phi;
x_135 = x_135_phi;
if (((x_135 <= x_125) & (x_133 <= x_128))) {
} else {
break;
}
int const x_142_save = x_135;
int const x_143 = data.arr[x_142_save];
int const x_144_save = x_133;
int const x_145 = data.arr[x_144_save];
int const x_131 = as_type<int>((x_130 + as_type<int>(1)));
if ((x_143 < x_145)) {
x_150 = as_type<int>((x_135 + as_type<int>(1)));
int const x_151 = data.arr[x_142_save];
temp.arr[x_130] = x_151;
x_134_phi = x_133;
x_136_phi = x_150;
} else {
x_153 = (x_133 + 1);
int const x_154 = data.arr[x_144_save];
temp.arr[x_130] = x_154;
x_134_phi = x_153;
x_136_phi = x_135;
}
int const x_134 = x_134_phi;
int const x_136 = x_136_phi;
{
x_130_phi = x_131;
x_133_phi = x_134;
x_135_phi = x_136;
}
}
x_157_phi = x_130;
x_160_phi = x_135;
while (true) {
int x_158 = 0;
int x_161 = 0;
int const x_157 = x_157_phi;
int const x_160 = x_160_phi;
if (((x_160 < 10) & (x_160 <= x_125))) {
} else {
break;
}
{
x_158 = (x_157 + 1);
x_161 = (x_160 + 1);
int const x_167 = data.arr[x_160];
temp.arr[x_157] = x_167;
x_157_phi = x_158;
x_160_phi = x_161;
}
}
x_170_phi = x_118;
while (true) {
int x_171 = 0;
int const x_170 = x_170_phi;
if ((x_170 <= x_128)) {
} else {
break;
}
{
int const x_176 = temp.arr[x_170];
data.arr[x_170] = x_176;
x_171 = (x_170 + 1);
x_170_phi = x_171;
}
}
{
x_118_phi = x_119;
}
}
{
x_112 = (2 * x_111);
x_111_phi = x_112;
}
}
int x_180 = 0;
float x_198 = 0.0f;
float x_260 = 0.0f;
float x_261_phi = 0.0f;
float const x_179 = (*(tint_symbol_5)).y;
x_180 = int(x_179);
if ((x_180 < 30)) {
int const x_186 = data.arr[0];
x_189 = (0.5f + (float(x_186) * 0.100000001f));
x_262_phi = x_189;
} else {
float x_207 = 0.0f;
float x_259 = 0.0f;
float x_260_phi = 0.0f;
if ((x_180 < 60)) {
int const x_195 = data.arr[1];
x_198 = (0.5f + (float(x_195) * 0.100000001f));
x_261_phi = x_198;
} else {
float x_216 = 0.0f;
float x_258 = 0.0f;
float x_259_phi = 0.0f;
if ((x_180 < 90)) {
int const x_204 = data.arr[2];
x_207 = (0.5f + (float(x_204) * 0.100000001f));
x_260_phi = x_207;
} else {
if ((x_180 < 120)) {
int const x_213 = data.arr[3];
x_216 = (0.5f + (float(x_213) * 0.100000001f));
x_259_phi = x_216;
} else {
float x_229 = 0.0f;
float x_257 = 0.0f;
float x_258_phi = 0.0f;
if ((x_180 < 150)) {
discard_fragment();
} else {
float x_238 = 0.0f;
float x_256 = 0.0f;
float x_257_phi = 0.0f;
if ((x_180 < 180)) {
int const x_226 = data.arr[5];
x_229 = (0.5f + (float(x_226) * 0.100000001f));
x_258_phi = x_229;
} else {
float x_247 = 0.0f;
float x_255 = 0.0f;
float x_256_phi = 0.0f;
if ((x_180 < 210)) {
int const x_235 = data.arr[6];
x_238 = (0.5f + (float(x_235) * 0.100000001f));
x_257_phi = x_238;
} else {
if ((x_180 < 240)) {
int const x_244 = data.arr[7];
x_247 = (0.5f + (float(x_244) * 0.100000001f));
x_256_phi = x_247;
} else {
if ((x_180 < 270)) {
} else {
discard_fragment();
}
int const x_252 = data.arr[8];
x_255 = (0.5f + (float(x_252) * 0.100000001f));
x_256_phi = x_255;
}
x_256 = x_256_phi;
x_257_phi = x_256;
}
x_257 = x_257_phi;
x_258_phi = x_257;
}
x_258 = x_258_phi;
}
x_259_phi = x_258;
}
x_259 = x_259_phi;
x_260_phi = x_259;
}
x_260 = x_260_phi;
x_261_phi = x_260;
}
x_261 = x_261_phi;
x_262_phi = x_261;
}
float const x_262 = x_262_phi;
*(tint_symbol_6) = float4(x_262, x_262, x_262, 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;
}