// #target: macos-aarch64 module test; typedef Int8x16 = ichar[<16>] @simd; typedef Float32x4 = float[<4>] @simd; struct HFAv4 { Float32x4[4] arr; } struct MixedHFAv4 { Float32x4[3] arr; Int8x16 b; } fn HFAv4 test(HFAv4 a0, HFAv4 a1, HFAv4 a2) { return a2; } fn MixedHFAv4 test_mixed(MixedHFAv4 a0, MixedHFAv4 a1, MixedHFAv4 a2) { return a2; } /* #expect: test.ll %.introspect = type { i8, i64, ptr, i64, i64, i64, [0 x i64] } %HFAv4 = type { [4 x <4 x float>] } %MixedHFAv4 = type { [3 x <4 x float>], <16 x i8> } define %HFAv4 @test.test([4 x <4 x float>] %0, [4 x <4 x float>] %1, [4 x <4 x float>] %2) #0 { define %MixedHFAv4 @test.test_mixed([4 x <4 x float>] %0, [4 x <4 x float>] %1, [4 x <4 x float>] %2) #0 {