[mips] Fix passing of small structures for big-endian O32.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Tue, 2 Dec 2014 20:40:27 +0000 (20:40 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Tue, 2 Dec 2014 20:40:27 +0000 (20:40 +0000)
commitd134c9dac4bf892f30a7ca6799aaab095b77c505
treea0fa7b8e38968566160442135bf94d374334c45e
parent7e6b5955d4951954b8b9108935e8badcf5421363
[mips] Fix passing of small structures for big-endian O32.

Summary:
Like N32/N64, they must be passed in the upper bits of the register.

The new code could be merged with the existing if-statements but I've
refrained from doing this since it will make porting the O32 implementation
to tablegen harder later.

Reviewers: vmedic

Reviewed By: vmedic

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D6463

llvm-svn: 223148
llvm/lib/Target/Mips/MipsISelLowering.cpp
llvm/test/CodeGen/Mips/cconv/arguments-struct.ll [new file with mode: 0644]