SKIP: FAILED

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

%mix_ee2468 = func():void {
  $B2: {
    %arg_0:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
    %arg_1:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
    %arg_2:ptr<function, vec4<f16>, read_write> = var, vec4<f16>(1.0h)
    %6:vec4<f16> = load %arg_0
    %7:vec4<f16> = load %arg_1
    %8:vec4<f16> = load %arg_2
    %9:vec4<f16> = mix %6, %7, %8
    %res:ptr<function, vec4<f16>, read_write> = var, %9
    %11:vec4<f16> = load %res
    store %prevent_dce, %11
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] {
  $B3: {
    %13:void = call %mix_ee2468
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void {
  $B4: {
    %15:void = call %mix_ee2468
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
  $B5: {
    %17:void = call %mix_ee2468
    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.  *
********************************************************************
