OSDN Git Service

[PowerPC] fix passing long double arguments to function (soft-float)
authorStrahinja Petrovic <strahinja.petrovic@rt-rk.com>
Fri, 5 Aug 2016 08:47:26 +0000 (08:47 +0000)
committerStrahinja Petrovic <strahinja.petrovic@rt-rk.com>
Fri, 5 Aug 2016 08:47:26 +0000 (08:47 +0000)
commit632e6aa28c948be01d39efa4c963dff78bfd0978
tree9343d12c0ac6543f1882a6a87bdd6b4fddeb571f
parentfd14e4374d39167bdb5702504f064c775c9f363d
[PowerPC] fix passing long double arguments to function (soft-float)

This patch fixes passing long double type arguments to function in
soft float mode. If there is less than 4 argument registers free
(long double type is mapped in 4 gpr registers in soft float mode)
long double type argument must be passed through stack.
Differential Revision: https://reviews.llvm.org/D20114.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277804 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCCallingConv.td
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCISelLowering.h
test/CodeGen/PowerPC/ppc32-skip-regs.ll [new file with mode: 0644]