]> granicus.if.org Git - llvm/commitdiff
[RISCV] Added missing ImmLeaf predicates
authorAna Pazos <apazos@quicinc.com>
Fri, 4 Oct 2019 23:42:07 +0000 (23:42 +0000)
committerAna Pazos <apazos@quicinc.com>
Fri, 4 Oct 2019 23:42:07 +0000 (23:42 +0000)
simm9_lsb0 and simm12_lsb0 operand types were missing predicates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373812 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/RISCV/RISCVInstrInfoC.td

index a8809a8fbad6b7e46ebd98ad54582aa703db4275..fa0050f107b29c671b51ea11916779dbc312762e 100644 (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>";