SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:469 internal compiler error: %b1 = block {  # root
  %arg_0:ptr<handle, texture_2d<f32>, read> = var @binding_point(1, 0)
  %arg_1:ptr<handle, sampler, read> = var @binding_point(1, 1)
  %prevent_dce:ptr<storage, vec4<f32>, read_write> = var @binding_point(2, 0)
}

%textureSampleBias_6a9113 = func():void -> %b2 {
  %b2 = block {
    %arg_2:ptr<function, vec2<f32>, read_write> = var, vec2<f32>(1.0f)
    %arg_3:ptr<function, f32, read_write> = var, 1.0f
    %7:texture_2d<f32> = load %arg_0
    %8:sampler = load %arg_1
    %9:vec2<f32> = load %arg_2
    %10:f32 = load %arg_3
    %11:vec4<f32> = textureSampleBias %7, %8, %9, %10
    %res:ptr<function, vec4<f32>, read_write> = var, %11
    %13:vec4<f32> = load %res
    store %prevent_dce, %13
    ret
  }
}
%fragment_main = @fragment func():void -> %b3 {
  %b3 = block {
    %15:void = call %textureSampleBias_6a9113
    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.  *
********************************************************************
