SKIP: FAILED

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

%textureLoad_b4d6c4 = func():void {
  $B2: {
    %arg_1:ptr<function, vec2<u32>, read_write> = var, vec2<u32>(1u)
    %5:texture_storage_2d<rg32float, read_write> = load %arg_0
    %6:vec2<u32> = load %arg_1
    %7:vec4<f32> = textureLoad %5, %6
    %res:ptr<function, vec4<f32>, read_write> = var, %7
    %9:vec4<f32> = load %res
    store %prevent_dce, %9
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] {
  $B3: {
    %11:void = call %textureLoad_b4d6c4
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void {
  $B4: {
    %13:void = call %textureLoad_b4d6c4
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
  $B5: {
    %15:void = call %textureLoad_b4d6c4
    ret
  }
}

invalid access control for storage texture
********************************************************************
*  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.  *
********************************************************************
