1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00

[RISCV] Added missing ImmLeaf predicates

simm9_lsb0 and simm12_lsb0 operand types were missing predicates.

llvm-svn: 373812
This commit is contained in:
Ana Pazos 2019-10-04 23:42:07 +00:00
parent 175e367c2b
commit ef909169eb

View File

@ -137,7 +137,8 @@ def uimm8_lsb000 : Operand<XLenVT>,
}
// A 9-bit signed immediate where the least significant bit is zero.
def simm9_lsb0 : Operand<OtherVT> {
def simm9_lsb0 : Operand<OtherVT>,
ImmLeaf<XLenVT, [{return isShiftedInt<8, 1>(Imm);}]> {
let ParserMatchClass = SImmAsmOperand<9, "Lsb0">;
let EncoderMethod = "getImmOpValueAsr1";
let DecoderMethod = "decodeSImmOperandAndLsl1<9>";
@ -196,7 +197,8 @@ def simm10_lsb0000nonzero : Operand<XLenVT>,
}
// A 12-bit signed immediate where the least significant bit is zero.
def simm12_lsb0 : Operand<XLenVT> {
def simm12_lsb0 : Operand<XLenVT>,
ImmLeaf<XLenVT, [{return isShiftedInt<11, 1>(Imm);}]> {
let ParserMatchClass = SImmAsmOperand<12, "Lsb0">;
let EncoderMethod = "getImmOpValueAsr1";
let DecoderMethod = "decodeSImmOperandAndLsl1<12>";