forked from OSchip/llvm-project
[RISCV][NFC] Move defined non_imm12 to proper place in RISCVInstrInfoZb.td
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D120656
This commit is contained in:
parent
d1a59eefd3
commit
e2c150ab52
|
@ -232,6 +232,12 @@ def SimmShiftRightBy3XForm : SDNodeXForm<imm, [{
|
|||
N->getValueType(0));
|
||||
}]>;
|
||||
|
||||
// Pattern to exclude simm12 immediates from matching.
|
||||
def non_imm12 : PatLeaf<(XLenVT GPR:$a), [{
|
||||
auto *C = dyn_cast<ConstantSDNode>(N);
|
||||
return !C || !isInt<12>(C->getSExtValue());
|
||||
}]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Instruction class templates
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -1042,12 +1048,6 @@ def : Pat<(i32 (and GPR:$rs, 0xFFFF)), (ZEXT_H_RV32 GPR:$rs)>;
|
|||
let Predicates = [HasStdExtZbbOrZbp, IsRV64] in
|
||||
def : Pat<(i64 (and GPR:$rs, 0xFFFF)), (ZEXT_H_RV64 GPR:$rs)>;
|
||||
|
||||
// Pattern to exclude simm12 immediates from matching.
|
||||
def non_imm12 : PatLeaf<(XLenVT GPR:$a), [{
|
||||
auto *C = dyn_cast<ConstantSDNode>(N);
|
||||
return !C || !isInt<12>(C->getSExtValue());
|
||||
}]>;
|
||||
|
||||
let Predicates = [HasStdExtZba] in {
|
||||
def : Pat<(add (shl GPR:$rs1, (XLenVT 1)), non_imm12:$rs2),
|
||||
(SH1ADD GPR:$rs1, GPR:$rs2)>;
|
||||
|
|
Loading…
Reference in New Issue