SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: S = struct @align(128) {
  f:f32 @offset(0), @location(0)
  u:u32 @offset(4), @location(1), @interpolate(flat)
  v:vec4<f32> @offset(128), @builtin(position)
}

$B1: {  # root
  %output:ptr<storage, S, read_write> = var @binding_point(0, 0)
}

%frag_main = @fragment func(%input:S):void {
  $B2: {
    %4:f32 = access %input, 0u
    %f:f32 = let %4
    %6:u32 = access %input, 1u
    %u:u32 = let %6
    %8:vec4<f32> = access %input, 2u
    %v:vec4<f32> = let %8
    %10:void = call %tint_store_and_preserve_padding, %output, %input
    ret
  }
}
%tint_store_and_preserve_padding = func(%target:ptr<storage, S, read_write>, %value_param:S):void {
  $B3: {
    %14:ptr<storage, f32, read_write> = access %target, 0u
    %15:f32 = access %value_param, 0u
    store %14, %15
    %16:ptr<storage, u32, read_write> = access %target, 1u
    %17:u32 = access %value_param, 1u
    store %16, %17
    %18:ptr<storage, vec4<f32>, read_write> = access %target, 2u
    %19:vec4<f32> = access %value_param, 2u
    store %18, %19
    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.  *
********************************************************************
