[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)
commitd69ec73a46e23de44cd74d33f6a8aae9afd76f80
treeee210617b1fe6e68fbbc9187dd3b9979052fd215
parent2664ea938ffdd15261876917640a5d70f1f30945
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223148 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsISelLowering.cpp
test/CodeGen/Mips/cconv/arguments-struct.ll [new file with mode: 0644]