Splat struct should be the same with an array. With this, we can get a more accurate alignment in CalculateStackSlotAlignment instead of conservative pointer size alignment.
In some cases, with accurate alignment, we can save parameter save areas like the test case change shows.
Could we maybe add a comment that describes that we do this for the more accurate alignment?
I am not sure if it is directly obvious in that this is the case.