[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 llvm-svn: 202717
Showing
- llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp 6 additions, 0 deletionsllvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
- llvm/lib/Target/Mips/MipsISelDAGToDAG.h 4 additions, 0 deletionsllvm/lib/Target/Mips/MipsISelDAGToDAG.h
- llvm/lib/Target/Mips/MipsInstrInfo.td 5 additions, 0 deletionsllvm/lib/Target/Mips/MipsInstrInfo.td
- llvm/lib/Target/Mips/MipsMSAInstrInfo.td 12 additions, 37 deletionsllvm/lib/Target/Mips/MipsMSAInstrInfo.td
- llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp 65 additions, 38 deletionsllvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
- llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h 10 additions, 0 deletionsllvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
- llvm/test/CodeGen/Mips/msa/arithmetic_float.ll 2 additions, 1 deletionllvm/test/CodeGen/Mips/msa/arithmetic_float.ll
- llvm/test/CodeGen/Mips/msa/basic_operations.ll 20 additions, 10 deletionsllvm/test/CodeGen/Mips/msa/basic_operations.ll
- llvm/test/CodeGen/Mips/msa/basic_operations_float.ll 18 additions, 9 deletionsllvm/test/CodeGen/Mips/msa/basic_operations_float.ll
- llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll 2 additions, 1 deletionllvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
- llvm/test/CodeGen/Mips/msa/shuffle.ll 20 additions, 10 deletionsllvm/test/CodeGen/Mips/msa/shuffle.ll
Loading
Please register or sign in to comment