SKIP: FAILED

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

%workgroupUniformLoad_e07d08 = func():void {
  $B2: {
    %4:void = msl.threadgroup_barrier 4u
    %5:f16 = load %arg_0
    %6:f16 = let %5
    %7:void = msl.threadgroup_barrier 4u
    %res:ptr<function, f16, read_write> = var, %6
    %9:f16 = load %res
    store %prevent_dce, %9
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func(%tint_local_index:u32 [@local_invocation_index]):void {
  $B3: {
    %12:bool = eq %tint_local_index, 0u
    if %12 [t: $B4] {  # if_1
      $B4: {  # true
        store %arg_0, 0.0h
        exit_if  # if_1
      }
    }
    %13:void = msl.threadgroup_barrier 4u
    %14:void = call %workgroupUniformLoad_e07d08
    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.  *
********************************************************************
