[mips] Prevent %lo relocation being used on MSA loads and stores.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 3 Mar 2014 14:31:21 +0000 (14:31 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 3 Mar 2014 14:31:21 +0000 (14:31 +0000)
commitfc210ac1ef74a96c2f42118db54491f9ab247b52
tree60783a5e250f73cae22a1dc3a898d9d708bcddbf
parentc1e634da0c4015d9db8cbd893905b8015f7999d2
[mips] Prevent %lo relocation being used on MSA loads and stores.

Summary:
Parts of the compiler still believed MSA load/stores have a 16-bit offset when
it is actually 10-bit. Corrected this, and fixed a closely related issue this
uncovered where load/stores with 10-bit and 12-bit offsets (MSA and microMIPS
respectively) could not load/store using offsets from the stack/frame pointer.
They accepted frameindex+offset, but not frameindex by itself.

Reviewers: jacksprat, matheusalmeida

Reviewed By: jacksprat

Differential Revision: http://llvm-reviews.chandlerc.com/D2888

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202717 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsISelDAGToDAG.cpp
lib/Target/Mips/MipsISelDAGToDAG.h
lib/Target/Mips/MipsInstrInfo.td
lib/Target/Mips/MipsMSAInstrInfo.td
lib/Target/Mips/MipsSEISelDAGToDAG.cpp
lib/Target/Mips/MipsSEISelDAGToDAG.h
test/CodeGen/Mips/msa/arithmetic_float.ll
test/CodeGen/Mips/msa/basic_operations.ll
test/CodeGen/Mips/msa/basic_operations_float.ll
test/CodeGen/Mips/msa/shift-dagcombine.ll
test/CodeGen/Mips/msa/shuffle.ll