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_13:ptr<uniform, buf0, read> = var @binding_point(0, 0)
  %x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}

%trace_vi2_ = func(%pos:ptr<function, vec2<i32>, read_write>):vec4<f32> {
  $B2: {
    %indexable:ptr<function, array<i32, 256>, read_write> = var
    %indexable_1:ptr<function, array<i32, 256>, read_write> = var
    %p:ptr<function, f32, read_write> = var
    %indexable_2:ptr<function, array<i32, 256>, read_write> = var
    loop [b: $B3, c: $B4] {  # loop_1
      $B3: {  # body
        %x_251:ptr<function, bool, read_write> = var
        %x_252:ptr<function, bool, read_write> = var
        %12:i32 = load_vector_element %pos, 1u
        %13:bool = neq %12, 256i
        if %13 [t: $B5, f: $B6] {  # if_1
          $B5: {  # true
            exit_if  # if_1
          }
          $B6: {  # false
            exit_loop  # loop_1
          }
        }
        %14:i32 = load_vector_element %pos, 0u
        %x_233:i32 = let %14
        %16:i32 = load_vector_element %pos, 1u
        %x_235:i32 = let %16
        store %indexable, 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)
        %18:ptr<function, i32, read_write> = access %indexable, %x_235
        %19:i32 = load %18
        %x_237:i32 = let %19
        %21:array<i32, 256> = load %indexable
        %x_238:array<i32, 256> = let %21
        store %indexable, array<i32, 256>(0i)
        %23:i32 = load_vector_element %pos, 1u
        %x_239:i32 = let %23
        store_vector_element %pos, 1u, 0i
        store_vector_element %pos, 1u, %x_239
        store %indexable, %x_238
        %25:i32 = add %x_237, 15i
        %26:bool = lt %x_233, %25
        %x_241:bool = let %26
        store %x_252, %x_241
        if %x_241 [t: $B7] {  # if_2
          $B7: {  # true
            %28:i32 = load_vector_element %pos, 0u
            %x_245:i32 = let %28
            %30:i32 = load_vector_element %pos, 1u
            %x_247:i32 = let %30
            store %indexable_1, 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)
            %32:ptr<function, i32, read_write> = access %indexable_1, %x_247
            %33:i32 = load %32
            %34:i32 = sub %33, 15i
            %35:bool = gt %x_245, %34
            store %x_251, %35
            %36:bool = load %x_251
            store %x_252, %36
            exit_if  # if_2
          }
        }
        %37:bool = load %x_252
        if %37 [t: $B8] {  # if_3
          $B8: {  # true
            %38:i32 = load_vector_element %pos, 0u
            %x_256:i32 = let %38
            %40:i32 = load_vector_element %pos, 1u
            %x_258:i32 = let %40
            store %indexable_2, 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)
            %42:ptr<function, i32, read_write> = access %indexable_2, %x_258
            %43:i32 = load %42
            %44:i32 = sub %x_256, %43
            %45:f32 = convert %44
            %46:f32 = abs %45
            %47:f32 = sub 15.0f, %46
            %48:f32 = div %47, 15.0f
            store %p, %48
            %49:f32 = load %p
            %x_266:f32 = let %49
            %51:f32 = load %p
            %x_267:f32 = let %51
            %53:f32 = load %p
            %x_268:f32 = let %53
            %55:vec4<f32> = construct %x_266, %x_267, %x_268, 1.0f
            ret %55
          }
        }
        %56:i32 = load_vector_element %pos, 1u
        %57:i32 = add %56, 1i
        store_vector_element %pos, 1u, %57
        continue  # -> $B4
      }
      $B4: {  # continuing
        next_iteration  # -> $B3
      }
    }
    ret vec4<f32>(0.0f, 0.0f, 0.0f, 1.0f)
  }
}
%main_1 = func():void {
  $B9: {
    %pos_1:ptr<function, vec2<f32>, read_write> = var
    %ipos:ptr<function, vec2<i32>, read_write> = var
    %param:ptr<function, vec2<i32>, read_write> = var
    %62:vec4<f32> = load %gl_FragCoord
    %63:vec2<f32> = swizzle %62, xy
    %64:ptr<uniform, vec2<f32>, read> = access %x_13, 0u
    %65:vec2<f32> = load %64
    %66:vec2<f32> = div %63, %65
    store %pos_1, %66
    %67:f32 = load_vector_element %pos_1, 0u
    %68:f32 = mul %67, 256.0f
    %69:i32 = call %tint_f32_to_i32, %68
    %71:i32 = let %69
    %72:f32 = load_vector_element %pos_1, 1u
    %73:f32 = mul %72, 256.0f
    %74:i32 = call %tint_f32_to_i32, %73
    %75:vec2<i32> = construct %71, %74
    store %ipos, %75
    %76:vec2<i32> = load %ipos
    store %param, %76
    %77:vec4<f32> = call %trace_vi2_, %param
    %x_222:vec4<f32> = let %77
    store %x_GLF_color, %x_222
    ret
  }
}
%tint_symbol = @fragment func(%gl_FragCoord_param:vec4<f32> [@position]):main_out {
  $B10: {
    store %gl_FragCoord, %gl_FragCoord_param
    %81:void = call %main_1
    %82:vec4<f32> = load %x_GLF_color
    %83:main_out = construct %82
    ret %83
  }
}
%tint_f32_to_i32 = func(%value:f32):i32 {
  $B11: {
    %85:i32 = convert %value
    %86:bool = gte %value, -2147483648.0f
    %87:i32 = select -2147483648i, %85, %86
    %88:bool = lte %value, 2147483520.0f
    %89:i32 = select 2147483647i, %87, %88
    ret %89
  }
}

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