OSDN Git Service

[mips] Honour -mno-odd-spreg for vector splat (again)
authorSimon Dardis <simon.dardis@imgtec.com>
Tue, 10 Jan 2017 15:53:10 +0000 (15:53 +0000)
committerSimon Dardis <simon.dardis@imgtec.com>
Tue, 10 Jan 2017 15:53:10 +0000 (15:53 +0000)
commitc6676d85d5e67ddd2822964706687d5ef391e9d9
tree26b86b2af3065734db4f96cbb4f63245124c84eb
parent3c45ea423a9e3d27eaf77af0639a73e0c56d9a35
[mips] Honour -mno-odd-spreg for vector splat (again)

Previous the lowering of FILL_FW would use the MSA128W register class when
performing a vector splat. Instead it should be honouring -mno-odd-spreg and
only use the even registers when performing a splat from word to vector
register.

Logical follow-on from r230235.

This fixes PR/31369.

A previous commit was missing the test case and had another differential
in it.

Reviewers: slthakur

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291566 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsSEISelLowering.cpp
test/CodeGen/Mips/msa/msa-nooddspreg.ll [new file with mode: 0644]