HomePhabricator

[GlobalISel][AArch64] Allow CallLowering to handle types which are normally…

Authored by aemerson on Apr 9 2019, 2:22 PM.

Description

[GlobalISel][AArch64] Allow CallLowering to handle types which are normally required to be passed as different register types. E.g. <2 x i16> may need to be passed as a larger <2 x i32> type, so formal arg lowering needs to be able truncate it back. Likewise, when dealing with returns of these types, they need to be widened in the appropriate way back.

Differential Revision: https://reviews.llvm.org/D60425

llvm-svn: 358032

Details