blob: 0455c394ec521512945e077b2256776804bb28f7 [file] [log] [blame]
Antonio Maioranod6f6f002023-09-13 17:50:46 +00001#include <metal_stdlib>
2
3using namespace metal;
Ben Clayton9be037c2024-01-19 20:58:56 +00004
Ben Clayton02262d82024-01-23 18:09:39 +00005#define TINT_ISOLATE_UB(VOLATILE_NAME) \
David Neto012551a2024-10-15 16:00:17 +00006 {volatile bool VOLATILE_NAME = false; if (VOLATILE_NAME) break;}
Ben Clayton9be037c2024-01-19 20:58:56 +00007
Antonio Maioranod6f6f002023-09-13 17:50:46 +00008kernel void tint_symbol() {
dan sinclair997bc012024-02-22 02:08:41 +00009 bool tint_continue_1 = false;
David Neto012551a2024-10-15 16:00:17 +000010 for(int i = 0; (i < 2); i = as_type<int>((as_type<uint>(i) + as_type<uint>(2)))) {
11 TINT_ISOLATE_UB(tint_volatile_false);
dan sinclair997bc012024-02-22 02:08:41 +000012 tint_continue_1 = false;
Antonio Maioranod6f6f002023-09-13 17:50:46 +000013 switch(i) {
14 case 0: {
dan sinclair997bc012024-02-22 02:08:41 +000015 bool tint_continue = false;
David Neto012551a2024-10-15 16:00:17 +000016 for(int j = 0; (j < 2); j = as_type<int>((as_type<uint>(j) + as_type<uint>(2)))) {
17 TINT_ISOLATE_UB(tint_volatile_false_1);
dan sinclair997bc012024-02-22 02:08:41 +000018 tint_continue = false;
Antonio Maioranod6f6f002023-09-13 17:50:46 +000019 switch(j) {
20 case 0: {
dan sinclair997bc012024-02-22 02:08:41 +000021 tint_continue = true;
Antonio Maioranod6f6f002023-09-13 17:50:46 +000022 break;
23 }
24 default: {
25 break;
26 }
27 }
dan sinclair997bc012024-02-22 02:08:41 +000028 if (tint_continue) {
29 continue;
30 }
Antonio Maioranod6f6f002023-09-13 17:50:46 +000031 }
dan sinclair997bc012024-02-22 02:08:41 +000032 tint_continue_1 = true;
Antonio Maioranod6f6f002023-09-13 17:50:46 +000033 break;
34 }
35 default: {
36 break;
37 }
38 }
dan sinclair997bc012024-02-22 02:08:41 +000039 if (tint_continue_1) {
40 continue;
41 }
Antonio Maioranod6f6f002023-09-13 17:50:46 +000042 }
43 return;
44}
45