SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 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: {  # 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: {
    %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_249:ptr<function, vec4<f32>, read_write> = var
    %x_251:ptr<function, vec4<f32>, read_write> = var
    %x_252:ptr<function, bool, read_write> = var
    %x_254: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
    %18:vec2<f32> = div %15, %17
    %x_203:vec2<f32> = let %18
    %20:f32 = access %x_203, 0u
    %21:f32 = mul %20, 256.0f
    %22:i32 = call %tint_f32_to_i32, %21
    %24:i32 = let %22
    %25:f32 = access %x_203, 1u
    %26:f32 = mul %25, 256.0f
    %27:i32 = call %tint_f32_to_i32, %26
    %28:vec2<i32> = construct %24, %27
    store %x_210, %28
    switch 0u [c: (default, $B3)] {  # switch_1
      $B3: {  # case
        %29:vec2<i32> = load %x_210
        store %x_214, %29
        loop [b: $B4, c: $B5] {  # loop_1
          $B4: {  # 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
            %33:i32 = load_vector_element %x_214, 1u
            %x_217:i32 = let %33
            store %x_251, vec4<f32>(0.0f)
            store %x_252, false
            %35:bool = neq %x_217, 256i
            if %35 [t: $B6, f: $B7] {  # if_1
              $B6: {  # true
                exit_if  # if_1
              }
              $B7: {  # false
                exit_loop  # loop_1
              }
            }
            %36:i32 = load_vector_element %x_214, 0u
            %x_221:i32 = let %36
            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)
            %38:ptr<function, i32, read_write> = access %x_196, %x_217
            %39:i32 = load %38
            %40:i32 = add %39, 15i
            %41:bool = lt %x_221, %40
            %x_225:bool = let %41
            if %x_225 [t: $B8] {  # if_2
              $B8: {  # 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: {  # true
                %43:ptr<function, i32, read_write> = access %x_197, %x_217
                %44:i32 = load %43
                store %x_233, %44
                %45:i32 = load %x_233
                store %x_235, %45
                exit_if  # if_3
              }
              $B10: {  # false
                store %x_234, 0i
                %46:i32 = load %x_234
                store %x_235, %46
                exit_if  # if_3
              }
            }
            %47:i32 = load %x_235
            %48:i32 = sub %47, 15i
            %49:bool = gt %x_221, %48
            %50:bool = select %x_225, %49, %x_225
            if %50 [t: $B11] {  # if_4
              $B11: {  # 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)
                %51:ptr<function, i32, read_write> = access %x_198, %x_217
                %52:i32 = load %51
                %53:i32 = sub %x_221, %52
                %54:f32 = convert %53
                %55:f32 = abs %54
                %56:f32 = sub 15.0f, %55
                %57:f32 = mul %56, 0.06666667014360427856f
                %x_248:f32 = let %57
                %59:vec4<f32> = construct %x_248, %x_248, %x_248, 1.0f
                store %x_249, %59
                %60:vec4<f32> = load %x_249
                store %x_251, %60
                store %x_252, true
                exit_loop  # loop_1
              }
            }
            %61:vec2<i32> = load %x_214
            %x_215_1:ptr<function, vec2<i32>, read_write> = var, %61
            %63:i32 = add %x_217, 1i
            store_vector_element %x_215_1, 1u, %63
            %64:vec2<i32> = load %x_215_1
            %x_215:vec2<i32> = let %64
            continue  # -> $B5
          }
          $B5: {  # continuing
            store %x_214, %x_215
            next_iteration  # -> $B4
          }
        }
        %66:vec4<f32> = load %x_251
        store %x_254, %66
        %67:bool = load %x_252
        if %67 [t: $B12] {  # if_5
          $B12: {  # true
            exit_switch  # switch_1
          }
        }
        store %x_254, vec4<f32>(0.0f, 0.0f, 0.0f, 1.0f)
        exit_switch  # switch_1
      }
    }
    %68:vec4<f32> = load %x_254
    store %x_GLF_color, %68
    ret
  }
}
%tint_symbol = @fragment func(%gl_FragCoord_param:vec4<f32> [@position]):main_out {
  $B13: {
    store %gl_FragCoord, %gl_FragCoord_param
    %71:void = call %main_1
    %72:vec4<f32> = load %x_GLF_color
    %73:main_out = construct %72
    ret %73
  }
}
%tint_f32_to_i32 = func(%value:f32):i32 {
  $B14: {
    %75:i32 = convert %value
    %76:bool = gte %value, -2147483648.0f
    %77:i32 = select -2147483648i, %75, %76
    %78:bool = lte %value, 2147483520.0f
    %79:i32 = select 2147483647i, %77, %78
    ret %79
  }
}

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.  *
********************************************************************
