SKIP: FAILED

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

%f = @compute @workgroup_size(1, 1, 1) func():void {
  $B2: {
    %3:void = call %tint_store_and_preserve_padding, %out, mat4x3<f32>(vec3<f32>(0.0f, 1.0f, 2.0f), vec3<f32>(3.0f, 4.0f, 5.0f), vec3<f32>(6.0f, 7.0f, 8.0f), vec3<f32>(9.0f, 10.0f, 11.0f))
    ret
  }
}
%tint_store_and_preserve_padding = func(%target:ptr<storage, mat4x3<f32>, read_write>, %value_param:mat4x3<f32>):void {
  $B3: {
    %7:ptr<storage, vec3<f32>, read_write> = access %target, 0u
    %8:vec3<f32> = access %value_param, 0u
    store %7, %8
    %9:ptr<storage, vec3<f32>, read_write> = access %target, 1u
    %10:vec3<f32> = access %value_param, 1u
    store %9, %10
    %11:ptr<storage, vec3<f32>, read_write> = access %target, 2u
    %12:vec3<f32> = access %value_param, 2u
    store %11, %12
    %13:ptr<storage, vec3<f32>, read_write> = access %target, 3u
    %14:vec3<f32> = access %value_param, 3u
    store %13, %14
    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.  *
********************************************************************
