This is an archive of the discontinued LLVM Phabricator instance.

[MIPS GlobalISel] Add MSA registers to fprb. Select vector load, store
ClosedPublic

Authored by Petar.Avramovic on Oct 11 2019, 5:32 AM.

Details

Summary

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.

Diff Detail

Event Timeline

This revision is now accepted and ready to land.Oct 14 2019, 11:09 PM
This revision was automatically updated to reflect the committed changes.