SKIP: FAILED

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

strided_arr = struct @align(4) {
  el:i32 @offset(0)
}

buf0 = struct @align(4) {
  x_GLF_uniform_int_values:array<strided_arr, 5> @offset(0)
}

S = struct @align(4) {
  data:i32 @offset(0)
}

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

$B1: {  # root
  %x_8:ptr<uniform, buf1, read> = var @binding_point(0, 1)
  %x_10:ptr<uniform, buf0, read> = var @binding_point(0, 0)
  %x_GLF_color:ptr<private, vec4<f32>, read_write> = var
  %continue_execution:ptr<private, bool, read_write> = var, true
}

%func_struct_S_i11_ = func(%s:ptr<function, S, read_write>):void {
  $B2: {
    %7:ptr<uniform, vec2<f32>, read> = access %x_8, 0u
    %8:f32 = load_vector_element %7, 0u
    %9:ptr<uniform, vec2<f32>, read> = access %x_8, 0u
    %10:f32 = load_vector_element %9, 1u
    %11:bool = gt %8, %10
    if %11 [t: $B3] {  # if_1
      $B3: {  # true
        ret
      }
    }
    %12:ptr<function, i32, read_write> = access %s, 0u
    %13:ptr<uniform, i32, read> = access %x_10, 0u, 0i, 0u
    %14:i32 = load %13
    store %12, %14
    ret
  }
}
%main_1 = func():void {
  $B4: {
    %i:ptr<function, i32, read_write> = var
    %arr:ptr<function, array<S, 3>, read_write> = var
    %i_1:ptr<function, i32, read_write> = var
    %param:ptr<function, S, read_write> = var
    %j:ptr<function, i32, read_write> = var
    %x_132:ptr<function, bool, read_write> = var
    %x_133:ptr<function, bool, read_write> = var
    %x_142:ptr<function, bool, read_write> = var
    %x_143:ptr<function, bool, read_write> = var
    %25:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
    %26:i32 = load %25
    store %i, %26
    loop [b: $B5, c: $B6] {  # loop_1
      $B5: {  # body
        %27:i32 = load %i
        %28:ptr<uniform, i32, read> = access %x_10, 0u, 0i, 0u
        %29:i32 = load %28
        %30:bool = lt %27, %29
        if %30 [t: $B7, f: $B8] {  # if_2
          $B7: {  # true
            exit_if  # if_2
          }
          $B8: {  # false
            exit_loop  # loop_1
          }
        }
        %31:i32 = load %i
        %x_56:i32 = let %31
        %33:ptr<function, i32, read_write> = access %arr, %x_56, 0u
        %34:i32 = load %i
        store %33, %34
        continue  # -> $B6
      }
      $B6: {  # continuing
        %35:i32 = load %i
        %36:i32 = add %35, 1i
        store %i, %36
        next_iteration  # -> $B5
      }
    }
    %37:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
    %38:i32 = load %37
    store %i_1, %38
    loop [b: $B9, c: $B10] {  # loop_2
      $B9: {  # body
        %39:i32 = load %i_1
        %40:ptr<uniform, i32, read> = access %x_10, 0u, 0i, 0u
        %41:i32 = load %40
        %42:bool = lt %39, %41
        if %42 [t: $B11, f: $B12] {  # if_3
          $B11: {  # true
            exit_if  # if_3
          }
          $B12: {  # false
            exit_loop  # loop_2
          }
        }
        %43:ptr<uniform, vec2<f32>, read> = access %x_8, 0u
        %44:f32 = load_vector_element %43, 0u
        %45:ptr<uniform, vec2<f32>, read> = access %x_8, 0u
        %46:f32 = load_vector_element %45, 1u
        %47:bool = gt %44, %46
        if %47 [t: $B13] {  # if_4
          $B13: {  # true
            exit_loop  # loop_2
          }
        }
        %48:i32 = load %i_1
        %49:ptr<function, i32, read_write> = access %arr, %48, 0u
        %50:i32 = load %49
        %51:ptr<uniform, i32, read> = access %x_10, 0u, 3i, 0u
        %52:i32 = load %51
        %53:bool = eq %50, %52
        if %53 [t: $B14, f: $B15] {  # if_5
          $B14: {  # true
            %54:i32 = load %i_1
            %x_88:i32 = let %54
            %56:i32 = load %i_1
            %57:ptr<function, S, read_write> = access %arr, %56
            %58:S = load %57
            store %param, %58
            %59:void = call %func_struct_S_i11_, %param
            %60:ptr<function, S, read_write> = access %arr, %x_88
            %61:S = load %param
            store %60, %61
            exit_if  # if_5
          }
          $B15: {  # false
            %62:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
            %63:i32 = load %62
            store %j, %63
            loop [b: $B16, c: $B17] {  # loop_3
              $B16: {  # body
                %64:i32 = load %j
                %65:ptr<uniform, i32, read> = access %x_10, 0u, 0i, 0u
                %66:i32 = load %65
                %67:bool = lt %64, %66
                if %67 [t: $B18, f: $B19] {  # if_6
                  $B18: {  # true
                    exit_if  # if_6
                  }
                  $B19: {  # false
                    exit_loop  # loop_3
                  }
                }
                %68:i32 = load %j
                %69:ptr<function, i32, read_write> = access %arr, %68, 0u
                %70:i32 = load %69
                %71:ptr<uniform, i32, read> = access %x_10, 0u, 4i, 0u
                %72:i32 = load %71
                %73:bool = gt %70, %72
                if %73 [t: $B20] {  # if_7
                  $B20: {  # true
                    store %continue_execution, false
                    exit_if  # if_7
                  }
                }
                continue  # -> $B17
              }
              $B17: {  # continuing
                %74:i32 = load %j
                %75:i32 = add %74, 1i
                store %j, %75
                next_iteration  # -> $B16
              }
            }
            exit_if  # if_5
          }
        }
        continue  # -> $B10
      }
      $B10: {  # continuing
        %76:i32 = load %i_1
        %77:i32 = add %76, 1i
        store %i_1, %77
        next_iteration  # -> $B9
      }
    }
    %78:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
    %79:i32 = load %78
    %80:ptr<function, i32, read_write> = access %arr, %79, 0u
    %81:i32 = load %80
    %82:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
    %83:i32 = load %82
    %84:bool = eq %81, %83
    %x_123:bool = let %84
    store %x_133, %x_123
    if %x_123 [t: $B21] {  # if_8
      $B21: {  # true
        %86:ptr<uniform, i32, read> = access %x_10, 0u, 3i, 0u
        %87:i32 = load %86
        %88:ptr<function, i32, read_write> = access %arr, %87, 0u
        %89:i32 = load %88
        %90:ptr<uniform, i32, read> = access %x_10, 0u, 0i, 0u
        %91:i32 = load %90
        %92:bool = eq %89, %91
        store %x_132, %92
        %93:bool = load %x_132
        store %x_133, %93
        exit_if  # if_8
      }
    }
    %94:bool = load %x_133
    store %x_143, %94
    %95:bool = load %x_133
    if %95 [t: $B22] {  # if_9
      $B22: {  # true
        %96:ptr<uniform, i32, read> = access %x_10, 0u, 1i, 0u
        %97:i32 = load %96
        %98:ptr<function, i32, read_write> = access %arr, %97, 0u
        %99:i32 = load %98
        %100:ptr<uniform, i32, read> = access %x_10, 0u, 1i, 0u
        %101:i32 = load %100
        %102:bool = eq %99, %101
        store %x_142, %102
        %103:bool = load %x_142
        store %x_143, %103
        exit_if  # if_9
      }
    }
    %104:bool = load %x_143
    if %104 [t: $B23, f: $B24] {  # if_10
      $B23: {  # true
        %105:ptr<uniform, i32, read> = access %x_10, 0u, 3i, 0u
        %106:i32 = load %105
        %107:f32 = convert %106
        %108:f32 = let %107
        %109:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
        %110:i32 = load %109
        %111:f32 = convert %110
        %112:f32 = let %111
        %113:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
        %114:i32 = load %113
        %115:f32 = convert %114
        %116:f32 = let %115
        %117:ptr<uniform, i32, read> = access %x_10, 0u, 3i, 0u
        %118:i32 = load %117
        %119:f32 = convert %118
        %120:vec4<f32> = construct %108, %112, %116, %119
        store %x_GLF_color, %120
        exit_if  # if_10
      }
      $B24: {  # false
        %121:ptr<uniform, i32, read> = access %x_10, 0u, 2i, 0u
        %122:i32 = load %121
        %123:f32 = convert %122
        %124:vec4<f32> = construct %123
        store %x_GLF_color, %124
        exit_if  # if_10
      }
    }
    ret
  }
}
%tint_symbol = @fragment func():main_out {
  $B25: {
    %126:void = call %main_1
    %127:vec4<f32> = load %x_GLF_color
    %128:main_out = construct %127
    %129:bool = load %continue_execution
    %130:bool = eq %129, false
    if %130 [t: $B26] {  # if_11
      $B26: {  # true
        terminate_invocation
      }
    }
    ret %128
  }
}

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