[PATCH] D68867: [MIPS GlobalISel] Add MSA registers to fprb. Select vector load, store

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 11 05:35:47 PDT 2019


Petar.Avramovic created this revision.
Petar.Avramovic added reviewers: atanasyan, petarj.
Herald added subscribers: llvm-commits, jrtc27, arichardson, rovka, sdardis.
Herald added a project: LLVM.

Add vector MSA register classes to fprb, they are 128 bit wide.
MSA instructions use the same registers for both integer and floating
point operations. Therefore we only need to check for vector element
size during legalization or instruction selection.

Add helper function in MipsLegalizerInfo and switch to legalIf
LegalizeRuleSet to keep legalization rules compact since they depend
on MipsSubtarget and presence of MSA.
fprb is assigned to all vector operands.
Move selectLoadStoreOpCode to MipsInstructionSelector in order to
reduce number of arguments.


Repository:
  rL LLVM

https://reviews.llvm.org/D68867

Files:
  lib/Target/Mips/MipsInstructionSelector.cpp
  lib/Target/Mips/MipsLegalizerInfo.cpp
  lib/Target/Mips/MipsRegisterBankInfo.cpp
  lib/Target/Mips/MipsRegisterBanks.td
  test/CodeGen/Mips/GlobalISel/instruction-select/load_store_vec.mir
  test/CodeGen/Mips/GlobalISel/legalizer/load_store_vec.mir
  test/CodeGen/Mips/GlobalISel/llvm-ir/load_store_vec.ll
  test/CodeGen/Mips/GlobalISel/regbankselect/load_store_vec.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68867.224575.patch
Type: text/x-patch
Size: 27777 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191011/91fd5150/attachment.bin>


More information about the llvm-commits mailing list