SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: {  # root
  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
}

%select_e3e028 = func():void {
  $B2: {
    %arg_0:ptr<function, vec4<bool>, read_write> = var, vec4<bool>(true)
    %arg_1:ptr<function, vec4<bool>, read_write> = var, vec4<bool>(true)
    %arg_2:ptr<function, vec4<bool>, read_write> = var, vec4<bool>(true)
    %6:vec4<bool> = load %arg_0
    %7:vec4<bool> = load %arg_1
    %8:vec4<bool> = load %arg_2
    %9:vec4<bool> = select %6, %7, %8
    %res:ptr<function, vec4<bool>, read_write> = var, %9
    %11:vec4<bool> = load %res
    %12:vec4<bool> = eq %11, vec4<bool>(false)
    %13:bool = all %12
    %14:i32 = select 0i, 1i, %13
    store %prevent_dce, %14
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] {
  $B3: {
    %16:void = call %select_e3e028
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void {
  $B4: {
    %18:void = call %select_e3e028
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
  $B5: {
    %20:void = call %select_e3e028
    ret
  }
}

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