@@ -953,7 +953,7 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
953953 }
954954
955955 def QC_MULIADD : RVInstI<0b110, OPC_CUSTOM_0, (outs GPRNoX0:$rd_wb),
956- (ins GPRNoX0:$rd, GPRNoX0:$rs1, simm12 :$imm12),
956+ (ins GPRNoX0:$rd, GPRNoX0:$rs1, simm12_lo :$imm12),
957957 "qc.muliadd", "$rd, $rs1, $imm12"> {
958958 let Constraints = "$rd = $rd_wb";
959959 }
@@ -1411,8 +1411,8 @@ class SelectQCbi<CondCode Cond, DAGOperand InTyImm, Pseudo OpNode >
14111411 (IntCCtoRISCVCC $cc), GPRNoX0:$truev, GPRNoX0:$falsev)>;
14121412
14131413let Predicates = [HasVendorXqciac, IsRV32] in {
1414- def : Pat<(i32 (add GPRNoX0:$rd, (mul GPRNoX0:$rs1, simm12 :$imm12))),
1415- (QC_MULIADD GPRNoX0:$rd, GPRNoX0:$rs1, simm12 :$imm12)>;
1414+ def : Pat<(i32 (add GPRNoX0:$rd, (mul GPRNoX0:$rs1, simm12_lo :$imm12))),
1415+ (QC_MULIADD GPRNoX0:$rd, GPRNoX0:$rs1, simm12_lo :$imm12)>;
14161416def : Pat<(i32 (add_like_non_imm12 (shl GPRNoX0:$rs1, uimm5gt3:$imm), GPRNoX0:$rs2)),
14171417 (QC_SHLADD GPRNoX0:$rs1, GPRNoX0:$rs2, uimm5gt3:$imm)>;
14181418def : Pat<(i32 (riscv_shl_add GPRNoX0:$rs1, uimm5gt3:$imm, GPRNoX0:$rs2)),
@@ -1667,27 +1667,27 @@ def : CompressPat<(QC_E_LW GPRC:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm),
16671667 (C_LW GPRC:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
16681668def : CompressPat<(QC_E_LW GPRNoX0:$rd, SPMem:$rs1, uimm8_lsb00:$imm),
16691669 (C_LWSP GPRNoX0:$rd, SPMem:$rs1, uimm8_lsb00:$imm)>;
1670- def : CompressPat<(QC_E_LB GPR:$rd, GPRMem:$rs1, simm12 :$imm12),
1671- (LB GPR:$rd, GPRMem:$rs1, simm12 :$imm12)>;
1672- def : CompressPat<(QC_E_LBU GPR:$rd, GPRMem:$rs1, simm12 :$imm12),
1673- (LBU GPR:$rd, GPRMem:$rs1, simm12 :$imm12)>;
1674- def : CompressPat<(QC_E_LH GPR:$rd, GPRMem:$rs1, simm12 :$imm12),
1675- (LH GPR:$rd, GPRMem:$rs1, simm12 :$imm12)>;
1676- def : CompressPat<(QC_E_LHU GPR:$rd, GPRMem:$rs1, simm12 :$imm12),
1677- (LHU GPR:$rd, GPRMem:$rs1, simm12 :$imm12)>;
1678- def : CompressPat<(QC_E_LW GPR:$rd, GPRMem:$rs1, simm12 :$imm12),
1679- (LW GPR:$rd, GPRMem:$rs1, simm12 :$imm12)>;
1670+ def : CompressPat<(QC_E_LB GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12),
1671+ (LB GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12)>;
1672+ def : CompressPat<(QC_E_LBU GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12),
1673+ (LBU GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12)>;
1674+ def : CompressPat<(QC_E_LH GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12),
1675+ (LH GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12)>;
1676+ def : CompressPat<(QC_E_LHU GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12),
1677+ (LHU GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12)>;
1678+ def : CompressPat<(QC_E_LW GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12),
1679+ (LW GPR:$rd, GPRMem:$rs1, simm12_lo :$imm12)>;
16801680
16811681def : CompressPat<(QC_E_SW GPRC:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm),
16821682 (C_SW GPRC:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
16831683def : CompressPat<(QC_E_SW GPR:$rs2, SPMem:$rs1, uimm8_lsb00:$imm),
16841684 (C_SWSP GPR:$rs2, SPMem:$rs1, uimm8_lsb00:$imm)>;
1685- def : CompressPat<(QC_E_SB GPR:$rs2, GPRMem:$rs1, simm12 :$imm12),
1686- (SB GPR:$rs2, GPRMem:$rs1, simm12 :$imm12)>;
1687- def : CompressPat<(QC_E_SH GPR:$rs2, GPRMem:$rs1, simm12 :$imm12),
1688- (SH GPR:$rs2, GPRMem:$rs1, simm12 :$imm12)>;
1689- def : CompressPat<(QC_E_SW GPR:$rs2, GPRMem:$rs1, simm12 :$imm12),
1690- (SW GPR:$rs2, GPRMem:$rs1, simm12 :$imm12)>;
1685+ def : CompressPat<(QC_E_SB GPR:$rs2, GPRMem:$rs1, simm12_lo :$imm12),
1686+ (SB GPR:$rs2, GPRMem:$rs1, simm12_lo :$imm12)>;
1687+ def : CompressPat<(QC_E_SH GPR:$rs2, GPRMem:$rs1, simm12_lo :$imm12),
1688+ (SH GPR:$rs2, GPRMem:$rs1, simm12_lo :$imm12)>;
1689+ def : CompressPat<(QC_E_SW GPR:$rs2, GPRMem:$rs1, simm12_lo :$imm12),
1690+ (SW GPR:$rs2, GPRMem:$rs1, simm12_lo :$imm12)>;
16911691} // isCompressOnly = true, Predicates = [HasVendorXqcilo, IsRV32]
16921692
16931693let Predicates = [HasVendorXqcicm, IsRV32] in {
@@ -1752,23 +1752,23 @@ def : CompressPat<(QC_E_ADDAI X2, simm10_lsb0000nonzero:$imm),
17521752def : CompressPat<(QC_E_ADDI X2, X2, simm10_lsb0000nonzero:$imm),
17531753 (C_ADDI16SP X2, simm10_lsb0000nonzero:$imm)>;
17541754
1755- def : CompressPat<(QC_E_ADDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm),
1756- (ADDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm)>;
1757- def : CompressPat<(QC_E_ANDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm),
1758- (ANDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm)>;
1759- def : CompressPat<(QC_E_ORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm),
1760- (ORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm)>;
1761- def : CompressPat<(QC_E_XORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm),
1762- (XORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12 :$imm)>;
1763-
1764- def : CompressPat<(QC_E_ADDAI GPRNoX0:$rd, simm12 :$imm),
1765- (ADDI GPRNoX0:$rd, GPRNoX0:$rd, simm12 :$imm)>;
1766- def : CompressPat<(QC_E_ANDAI GPRNoX0:$rd, simm12 :$imm),
1767- (ANDI GPRNoX0:$rd, GPRNoX0:$rd, simm12 :$imm)>;
1768- def : CompressPat<(QC_E_ORAI GPRNoX0:$rd, simm12 :$imm),
1769- (ORI GPRNoX0:$rd, GPRNoX0:$rd, simm12 :$imm)>;
1770- def : CompressPat<(QC_E_XORAI GPRNoX0:$rd, simm12 :$imm),
1771- (XORI GPRNoX0:$rd, GPRNoX0:$rd, simm12 :$imm)>;
1755+ def : CompressPat<(QC_E_ADDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm),
1756+ (ADDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm)>;
1757+ def : CompressPat<(QC_E_ANDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm),
1758+ (ANDI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm)>;
1759+ def : CompressPat<(QC_E_ORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm),
1760+ (ORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm)>;
1761+ def : CompressPat<(QC_E_XORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm),
1762+ (XORI GPRNoX0:$rs1, GPRNoX0:$rs2, simm12_lo :$imm)>;
1763+
1764+ def : CompressPat<(QC_E_ADDAI GPRNoX0:$rd, simm12_lo :$imm),
1765+ (ADDI GPRNoX0:$rd, GPRNoX0:$rd, simm12_lo :$imm)>;
1766+ def : CompressPat<(QC_E_ANDAI GPRNoX0:$rd, simm12_lo :$imm),
1767+ (ANDI GPRNoX0:$rd, GPRNoX0:$rd, simm12_lo :$imm)>;
1768+ def : CompressPat<(QC_E_ORAI GPRNoX0:$rd, simm12_lo :$imm),
1769+ (ORI GPRNoX0:$rd, GPRNoX0:$rd, simm12_lo :$imm)>;
1770+ def : CompressPat<(QC_E_XORAI GPRNoX0:$rd, simm12_lo :$imm),
1771+ (XORI GPRNoX0:$rd, GPRNoX0:$rd, simm12_lo :$imm)>;
17721772} // let isCompressOnly = true, Predicates = [HasVendorXqcilia, IsRV32]
17731773
17741774let isCompressOnly = true, Predicates = [HasVendorXqciac, IsRV32] in {
0 commit comments