[X86] Disable copy elision in LowerMemArgument for scalarized vectors when the loc...
authorCraig Topper <craig.topper@intel.com>
Wed, 5 Aug 2020 22:35:16 +0000 (15:35 -0700)
committerCraig Topper <craig.topper@intel.com>
Wed, 5 Aug 2020 22:44:54 +0000 (15:44 -0700)
commit08b2d0a963dbbf54317a137d69f430b347d1bfae
tree6a1d65ddfbcb9c4df818764d2cf00c27ed0f3180
parent13796d14238baabff972e15ceddb4ae61b1584b8
[X86] Disable copy elision in LowerMemArgument for scalarized vectors when the loc VT is a different size than the original element.

For example a v4f16 argument is scalarized to 4 i32 values. So
the values are spread out instead of being packed tightly like
in the original vector.

Fixes PR47000.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/pr47000.ll