[llvm] r343677 - [RISCV] Gate simm32 materialisation pattern and SW pattern on IsRV32
Alex Bradbury via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 3 04:04:59 PDT 2018
Author: asb
Date: Wed Oct 3 04:04:59 2018
New Revision: 343677
URL: http://llvm.org/viewvc/llvm-project?rev=343677&view=rev
Log:
[RISCV] Gate simm32 materialisation pattern and SW pattern on IsRV32
These patterns are not correct for RV64.
Modified:
llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td
Modified: llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td?rev=343677&r1=343676&r2=343677&view=diff
==============================================================================
--- llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td (original)
+++ llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td Wed Oct 3 04:04:59 2018
@@ -625,7 +625,8 @@ def IsOrAdd: PatFrag<(ops node:$A, node:
def : Pat<(simm12:$imm), (ADDI X0, simm12:$imm)>;
def : Pat<(simm32hi20:$imm), (LUI (HI20 imm:$imm))>;
-def : Pat<(simm32:$imm), (ADDI (LUI (HI20 imm:$imm)), (LO12Sext imm:$imm))>;
+def : Pat<(simm32:$imm), (ADDI (LUI (HI20 imm:$imm)), (LO12Sext imm:$imm))>,
+ Requires<[IsRV32]>;
/// Simple arithmetic operations
@@ -808,7 +809,7 @@ multiclass StPat<PatFrag StoreOp, RVInst
defm : StPat<truncstorei8, SB, GPR>;
defm : StPat<truncstorei16, SH, GPR>;
-defm : StPat<store, SW, GPR>;
+defm : StPat<store, SW, GPR>, Requires<[IsRV32]>;
/// Fences
More information about the llvm-commits
mailing list