SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: buf0 = struct @align(8) {
  resolution:vec2<f32> @offset(0)
}

main_out = struct @align(16) {
  x_GLF_color_1:vec4<f32> @offset(0), @location(0)
}

%b1 = block {  # root
  %gl_FragCoord:ptr<private, vec4<f32>, read_write> = var
  %x_6:ptr<uniform, buf0, read> = var @binding_point(0, 0)
  %x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}

%main_1 = func():void -> %b2 {
  %b2 = block {
    %x_196:ptr<function, array<i32, 256>, read_write> = var
    %x_197:ptr<function, array<i32, 256>, read_write> = var
    %x_198:ptr<function, array<i32, 256>, read_write> = var
    %x_210:ptr<function, vec2<i32>, read_write> = var
    %x_214:ptr<function, vec2<i32>, read_write> = var
    %x_251:ptr<function, vec4<f32>, read_write> = var
    %x_253:ptr<function, vec4<f32>, read_write> = var
    %x_254:ptr<function, bool, read_write> = var
    %x_256:ptr<function, vec4<f32>, read_write> = var
    %14:vec4<f32> = load %gl_FragCoord
    %15:vec2<f32> = swizzle %14, xy
    %16:ptr<uniform, vec2<f32>, read> = access %x_6, 0u
    %17:vec2<f32> = load %16
    %x_203:vec2<f32> = div %15, %17
    %19:f32 = access %x_203, 0u
    %20:f32 = mul %19, 256.0f
    %21:i32 = convert %20
    %22:f32 = access %x_203, 1u
    %23:f32 = mul %22, 256.0f
    %24:i32 = convert %23
    %25:vec2<i32> = construct %21, %24
    store %x_210, %25
    switch 0u [c: (default, %b3)] {  # switch_1
      %b3 = block {  # case
        %26:vec2<i32> = load %x_210
        store %x_214, %26
        loop [b: %b4, c: %b5] {  # loop_1
          %b4 = block {  # body
            %x_233:ptr<function, i32, read_write> = var
            %x_234:ptr<function, i32, read_write> = var
            %x_235:ptr<function, i32, read_write> = var
            %x_241:ptr<function, bool, read_write> = var
            %x_217:i32 = load_vector_element %x_214, 1u
            store %x_253, vec4<f32>(0.0f)
            store %x_254, false
            %32:bool = neq %x_217, 256i
            if %32 [t: %b6, f: %b7] {  # if_1
              %b6 = block {  # true
                exit_if  # if_1
              }
              %b7 = block {  # false
                exit_loop  # loop_1
              }
            }
            %x_221:i32 = load_vector_element %x_214, 0u
            store %x_196, array<i32, 256>(115i, 133i, 150i, 164i, 176i, 184i, 190i, 192i, 191i, 187i, 181i, 172i, 163i, 153i, 143i, 134i, 126i, 120i, 116i, 114i, 114i, 117i, 121i, 127i, 134i, 141i, 148i, 154i, 159i, 162i, 163i, 161i, 157i, 151i, 143i, 134i, 124i, 113i, 103i, 94i, 87i, 82i, 79i, 80i, 84i, 91i, 101i, 114i, 130i, 146i, 164i, 182i, 199i, 215i, 229i, 240i, 249i, 254i, 256i, 254i, 250i, 243i, 233i, 223i, 212i, 200i, 190i, 180i, 172i, 166i, 163i, 161i, 162i, 164i, 169i, 174i, 179i, 185i, 190i, 193i, 195i, 195i, 192i, 188i, 180i, 171i, 161i, 149i, 137i, 125i, 114i, 105i, 97i, 93i, 91i, 93i, 98i, 106i, 117i, 130i, 145i, 161i, 177i, 193i, 208i, 221i, 231i, 239i, 243i, 244i, 242i, 236i, 228i, 218i, 207i, 194i, 181i, 169i, 158i, 148i, 141i, 135i, 132i, 131i, 132i, 135i, 138i, 143i, 147i, 151i, 154i, 155i, 155i, 152i, 146i, 139i, 129i, 118i, 106i, 93i, 80i, 68i, 58i, 49i, 43i, 40i, 41i, 44i, 51i, 61i, 73i, 87i, 103i, 119i, 134i, 149i, 162i, 173i, 181i, 186i, 188i, 186i, 181i, 174i, 164i, 153i, 141i, 128i, 116i, 104i, 94i, 86i, 81i, 77i, 76i, 77i, 80i, 84i, 89i, 94i, 98i, 102i, 104i, 104i, 102i, 98i, 92i, 83i, 73i, 62i, 50i, 38i, 26i, 16i, 8i, 2i, 0i, 0i, 4i, 11i, 21i, 33i, 48i, 64i, 81i, 98i, 114i, 129i, 141i, 151i, 158i, 161i, 161i, 158i, 152i, 144i, 134i, 123i, 112i, 100i, 90i, 81i, 73i, 68i, 65i, 65i, 67i, 70i, 75i, 81i, 87i, 92i, 97i, 101i, 103i, 102i, 100i, 95i, 88i, 79i, 69i, 58i, 47i, 36i, 26i, 18i, 13i, 11i, 11i, 15i, 22i, 32i, 45i, 60i, 77i, 94i)
            %34:ptr<function, i32, read_write> = access %x_196, %x_217
            %35:i32 = load %34
            %36:i32 = add %35, 15i
            %x_225:bool = lt %x_221, %36
            if %x_225 [t: %b8] {  # if_2
              %b8 = block {  # true
                store %x_197, array<i32, 256>(115i, 133i, 150i, 164i, 176i, 184i, 190i, 192i, 191i, 187i, 181i, 172i, 163i, 153i, 143i, 134i, 126i, 120i, 116i, 114i, 114i, 117i, 121i, 127i, 134i, 141i, 148i, 154i, 159i, 162i, 163i, 161i, 157i, 151i, 143i, 134i, 124i, 113i, 103i, 94i, 87i, 82i, 79i, 80i, 84i, 91i, 101i, 114i, 130i, 146i, 164i, 182i, 199i, 215i, 229i, 240i, 249i, 254i, 256i, 254i, 250i, 243i, 233i, 223i, 212i, 200i, 190i, 180i, 172i, 166i, 163i, 161i, 162i, 164i, 169i, 174i, 179i, 185i, 190i, 193i, 195i, 195i, 192i, 188i, 180i, 171i, 161i, 149i, 137i, 125i, 114i, 105i, 97i, 93i, 91i, 93i, 98i, 106i, 117i, 130i, 145i, 161i, 177i, 193i, 208i, 221i, 231i, 239i, 243i, 244i, 242i, 236i, 228i, 218i, 207i, 194i, 181i, 169i, 158i, 148i, 141i, 135i, 132i, 131i, 132i, 135i, 138i, 143i, 147i, 151i, 154i, 155i, 155i, 152i, 146i, 139i, 129i, 118i, 106i, 93i, 80i, 68i, 58i, 49i, 43i, 40i, 41i, 44i, 51i, 61i, 73i, 87i, 103i, 119i, 134i, 149i, 162i, 173i, 181i, 186i, 188i, 186i, 181i, 174i, 164i, 153i, 141i, 128i, 116i, 104i, 94i, 86i, 81i, 77i, 76i, 77i, 80i, 84i, 89i, 94i, 98i, 102i, 104i, 104i, 102i, 98i, 92i, 83i, 73i, 62i, 50i, 38i, 26i, 16i, 8i, 2i, 0i, 0i, 4i, 11i, 21i, 33i, 48i, 64i, 81i, 98i, 114i, 129i, 141i, 151i, 158i, 161i, 161i, 158i, 152i, 144i, 134i, 123i, 112i, 100i, 90i, 81i, 73i, 68i, 65i, 65i, 67i, 70i, 75i, 81i, 87i, 92i, 97i, 101i, 103i, 102i, 100i, 95i, 88i, 79i, 69i, 58i, 47i, 36i, 26i, 18i, 13i, 11i, 11i, 15i, 22i, 32i, 45i, 60i, 77i, 94i)
                exit_if  # if_2
              }
            }
            if %x_225 [t: %b9, f: %b10] {  # if_3
              %b9 = block {  # true
                %38:ptr<function, i32, read_write> = access %x_197, %x_217
                %39:i32 = load %38
                store %x_233, %39
                %40:i32 = load %x_233
                store %x_235, %40
                exit_if  # if_3
              }
              %b10 = block {  # false
                store %x_234, 0i
                %41:i32 = load %x_234
                store %x_235, %41
                exit_if  # if_3
              }
            }
            %42:i32 = load %x_235
            %43:i32 = sub %42, 15i
            %x_237:bool = gt %x_221, %43
            if %x_225 [t: %b11, f: %b12] {  # if_4
              %b11 = block {  # true
                store %x_241, %x_237
                exit_if  # if_4
              }
              %b12 = block {  # false
                store %x_241, %x_225
                exit_if  # if_4
              }
            }
            %45:bool = load %x_241
            if %45 [t: %b13] {  # if_5
              %b13 = block {  # true
                store %x_198, array<i32, 256>(115i, 133i, 150i, 164i, 176i, 184i, 190i, 192i, 191i, 187i, 181i, 172i, 163i, 153i, 143i, 134i, 126i, 120i, 116i, 114i, 114i, 117i, 121i, 127i, 134i, 141i, 148i, 154i, 159i, 162i, 163i, 161i, 157i, 151i, 143i, 134i, 124i, 113i, 103i, 94i, 87i, 82i, 79i, 80i, 84i, 91i, 101i, 114i, 130i, 146i, 164i, 182i, 199i, 215i, 229i, 240i, 249i, 254i, 256i, 254i, 250i, 243i, 233i, 223i, 212i, 200i, 190i, 180i, 172i, 166i, 163i, 161i, 162i, 164i, 169i, 174i, 179i, 185i, 190i, 193i, 195i, 195i, 192i, 188i, 180i, 171i, 161i, 149i, 137i, 125i, 114i, 105i, 97i, 93i, 91i, 93i, 98i, 106i, 117i, 130i, 145i, 161i, 177i, 193i, 208i, 221i, 231i, 239i, 243i, 244i, 242i, 236i, 228i, 218i, 207i, 194i, 181i, 169i, 158i, 148i, 141i, 135i, 132i, 131i, 132i, 135i, 138i, 143i, 147i, 151i, 154i, 155i, 155i, 152i, 146i, 139i, 129i, 118i, 106i, 93i, 80i, 68i, 58i, 49i, 43i, 40i, 41i, 44i, 51i, 61i, 73i, 87i, 103i, 119i, 134i, 149i, 162i, 173i, 181i, 186i, 188i, 186i, 181i, 174i, 164i, 153i, 141i, 128i, 116i, 104i, 94i, 86i, 81i, 77i, 76i, 77i, 80i, 84i, 89i, 94i, 98i, 102i, 104i, 104i, 102i, 98i, 92i, 83i, 73i, 62i, 50i, 38i, 26i, 16i, 8i, 2i, 0i, 0i, 4i, 11i, 21i, 33i, 48i, 64i, 81i, 98i, 114i, 129i, 141i, 151i, 158i, 161i, 161i, 158i, 152i, 144i, 134i, 123i, 112i, 100i, 90i, 81i, 73i, 68i, 65i, 65i, 67i, 70i, 75i, 81i, 87i, 92i, 97i, 101i, 103i, 102i, 100i, 95i, 88i, 79i, 69i, 58i, 47i, 36i, 26i, 18i, 13i, 11i, 11i, 15i, 22i, 32i, 45i, 60i, 77i, 94i)
                %46:ptr<function, i32, read_write> = access %x_198, %x_217
                %47:i32 = load %46
                %48:i32 = sub %x_221, %47
                %49:f32 = convert %48
                %50:f32 = abs %49
                %51:f32 = sub 15.0f, %50
                %x_250:f32 = mul %51, 0.06666667014360427856f
                %53:vec4<f32> = construct %x_250, %x_250, %x_250, 1.0f
                store %x_251, %53
                %54:vec4<f32> = load %x_251
                store %x_253, %54
                store %x_254, true
                exit_loop  # loop_1
              }
            }
            %55:vec2<i32> = load %x_214
            %x_215_1:ptr<function, vec2<i32>, read_write> = var, %55
            %57:i32 = add %x_217, 1i
            store_vector_element %x_215_1, 1u, %57
            %x_215:vec2<i32> = load %x_215_1
            continue %b5
          }
          %b5 = block {  # continuing
            store %x_214, %x_215
            next_iteration %b4
          }
        }
        %59:vec4<f32> = load %x_253
        store %x_256, %59
        %60:bool = load %x_254
        if %60 [t: %b14] {  # if_6
          %b14 = block {  # true
            exit_switch  # switch_1
          }
        }
        store %x_256, vec4<f32>(0.0f, 0.0f, 0.0f, 1.0f)
        exit_switch  # switch_1
      }
    }
    %61:vec4<f32> = load %x_256
    store %x_GLF_color, %61
    ret
  }
}
%tint_symbol = @fragment func(%gl_FragCoord_param:vec4<f32> [@position]):main_out -> %b15 {
  %b15 = block {
    store %gl_FragCoord, %gl_FragCoord_param
    %64:void = call %main_1
    %65:vec4<f32> = load %x_GLF_color
    %66:main_out = construct %65
    ret %66
  }
}

unhandled variable address space
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
