| #include <metal_stdlib> | |
| using namespace metal; | |
| int f() { | |
| int i = 0; | |
| int j = 0; | |
| { | |
| uint2 tint_loop_idx = uint2(4294967295u); | |
| while(true) { | |
| if (all((tint_loop_idx == uint2(0u)))) { | |
| break; | |
| } | |
| i = as_type<int>((as_type<uint>(i) + 1u)); | |
| if ((i > 4)) { | |
| return 1; | |
| } | |
| { | |
| uint2 tint_loop_idx_1 = uint2(4294967295u); | |
| while(true) { | |
| if (all((tint_loop_idx_1 == uint2(0u)))) { | |
| break; | |
| } | |
| j = as_type<int>((as_type<uint>(j) + 1u)); | |
| if ((j > 4)) { | |
| return 2; | |
| } | |
| { | |
| uint const tint_low_inc_1 = (tint_loop_idx_1.x - 1u); | |
| tint_loop_idx_1.x = tint_low_inc_1; | |
| uint const tint_carry_1 = uint((tint_low_inc_1 == 4294967295u)); | |
| tint_loop_idx_1.y = (tint_loop_idx_1.y - tint_carry_1); | |
| } | |
| } | |
| } | |
| /* unreachable */ | |
| return 0; | |
| } | |
| } | |
| /* unreachable */ | |
| return 0; | |
| } | |
| [[max_total_threads_per_threadgroup(1)]] | |
| kernel void v() { | |
| (f()); | |
| } |