diff options
| author | Petar Jovanovic <petar.jovanovic@mips.com> | 2018-08-21 08:15:56 +0000 |
|---|---|---|
| committer | Petar Jovanovic <petar.jovanovic@mips.com> | 2018-08-21 08:15:56 +0000 |
| commit | 3b953c37f805575c013bd5a8bb83cf0c9436cc8d (patch) | |
| tree | 96db8c8df7129f2724557ad82fed27f5c64ff7b5 /llvm/lib/Target/Mips | |
| parent | e2684662ee16a6b6b26353c2c8a13dcec894b2cd (diff) | |
| download | bcm5719-llvm-3b953c37f805575c013bd5a8bb83cf0c9436cc8d.tar.gz bcm5719-llvm-3b953c37f805575c013bd5a8bb83cf0c9436cc8d.zip | |
[MIPS GlobalISel] Select bitwise instructions
Select bitwise instructions for i32.
Patch by Petar Avramovic.
Differential Revision: https://reviews.llvm.org/D50183
llvm-svn: 340258
Diffstat (limited to 'llvm/lib/Target/Mips')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp | 3 | ||||
| -rw-r--r-- | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp index fb259516be0..a816819d775 100644 --- a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp +++ b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp @@ -27,6 +27,9 @@ MipsLegalizerInfo::MipsLegalizerInfo(const MipsSubtarget &ST) { getActionDefinitionsBuilder({G_LOAD, G_STORE}) .legalForCartesianProduct({p0, s32}, {p0}); + getActionDefinitionsBuilder({G_AND, G_OR, G_XOR, G_SHL, G_ASHR, G_LSHR}) + .legalFor({s32}); + getActionDefinitionsBuilder(G_CONSTANT) .legalFor({s32}); diff --git a/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp b/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp index 35113507921..c7844c30b32 100644 --- a/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp +++ b/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp @@ -84,6 +84,12 @@ MipsRegisterBankInfo::getInstrMapping(const MachineInstr &MI) const { case G_LOAD: case G_STORE: case G_GEP: + case G_AND: + case G_OR: + case G_XOR: + case G_SHL: + case G_ASHR: + case G_LSHR: OperandsMapping = &Mips::ValueMappings[Mips::GPRIdx]; break; case G_CONSTANT: |

