SKIP: FAILED

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

%textureLoad_8ff033 = func():void {
  $B2: {
    %4:texture_storage_2d<rgba8snorm, read> = load %arg_0
    %5:vec4<f32> = textureLoad %4, vec2<u32>(1u)
    %res:ptr<function, vec4<f32>, read_write> = var, %5
    %7:vec4<f32> = load %res
    store %prevent_dce, %7
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] {
  $B3: {
    %9:void = call %textureLoad_8ff033
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void {
  $B4: {
    %11:void = call %textureLoad_8ff033
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
  $B5: {
    %13:void = call %textureLoad_8ff033
    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.  *
********************************************************************
