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_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
    %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
            %x_241:ptr<function, bool, read_write> = var
            %34:i32 = load_vector_element %x_214, 1u
            %x_217:i32 = let %34
            store %x_253, vec4<f32>(0.0f)
            store %x_254, false
            %36:bool = neq %x_217, 256i
            if %36 [t: $B6, f: $B7] {  # if_1
              $B6: {  # true
                exit_if  # if_1
              }
              $B7: {  # false
                exit_loop  # loop_1
              }
            }
            %37:i32 = load_vector_element %x_214, 0u
            %x_221:i32 = let %37
            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)
            %39:ptr<function, i32, read_write> = access %x_196, %x_217
            %40:i32 = load %39
            %41:i32 = add %40, 15i
            %42:bool = lt %x_221, %41
            %x_225:bool = let %42
            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
                %44:ptr<function, i32, read_write> = access %x_197, %x_217
                %45:i32 = load %44
                store %x_233, %45
                %46:i32 = load %x_233
                store %x_235, %46
                exit_if  # if_3
              }
              $B10: {  # false
                store %x_234, 0i
                %47:i32 = load %x_234
                store %x_235, %47
                exit_if  # if_3
              }
            }
            %48:i32 = load %x_235
            %49:i32 = sub %48, 15i
            %50:bool = gt %x_221, %49
            %x_237:bool = let %50
            if %x_225 [t: $B11, f: $B12] {  # if_4
              $B11: {  # true
                store %x_241, %x_237
                exit_if  # if_4
              }
              $B12: {  # false
                store %x_241, %x_225
                exit_if  # if_4
              }
            }
            %52:bool = load %x_241
            if %52 [t: $B13] {  # if_5
              $B13: {  # 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)
                %53:ptr<function, i32, read_write> = access %x_198, %x_217
                %54:i32 = load %53
                %55:i32 = sub %x_221, %54
                %56:f32 = convert %55
                %57:f32 = abs %56
                %58:f32 = sub 15.0f, %57
                %59:f32 = mul %58, 0.06666667014360427856f
                %x_250:f32 = let %59
                %61:vec4<f32> = construct %x_250, %x_250, %x_250, 1.0f
                store %x_251, %61
                %62:vec4<f32> = load %x_251
                store %x_253, %62
                store %x_254, true
                exit_loop  # loop_1
              }
            }
            %63:vec2<i32> = load %x_214
            %x_215_1:ptr<function, vec2<i32>, read_write> = var, %63
            %65:i32 = add %x_217, 1i
            store_vector_element %x_215_1, 1u, %65
            %66:vec2<i32> = load %x_215_1
            %x_215:vec2<i32> = let %66
            continue  # -> $B5
          }
          $B5: {  # continuing
            store %x_214, %x_215
            next_iteration  # -> $B4
          }
        }
        %68:vec4<f32> = load %x_253
        store %x_256, %68
        %69:bool = load %x_254
        if %69 [t: $B14] {  # if_6
          $B14: {  # true
            exit_switch  # switch_1
          }
        }
        store %x_256, vec4<f32>(0.0f, 0.0f, 0.0f, 1.0f)
        exit_switch  # switch_1
      }
    }
    %70:vec4<f32> = load %x_256
    store %x_GLF_color, %70
    ret
  }
}
%tint_symbol = @fragment func(%gl_FragCoord_param:vec4<f32> [@position]):main_out {
  $B15: {
    store %gl_FragCoord, %gl_FragCoord_param
    %73:void = call %main_1
    %74:vec4<f32> = load %x_GLF_color
    %75:main_out = construct %74
    ret %75
  }
}
%tint_f32_to_i32 = func(%value:f32):i32 {
  $B16: {
    %77:i32 = convert %value
    %78:bool = gte %value, -2147483648.0f
    %79:i32 = select -2147483648i, %77, %78
    %80:bool = lte %value, 2147483520.0f
    %81:i32 = select 2147483647i, %79, %80
    ret %81
  }
}

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