@@ -953,7 +953,7 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
953
953
}
954
954
955
955
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),
957
957
"qc.muliadd", "$rd, $rs1, $imm12"> {
958
958
let Constraints = "$rd = $rd_wb";
959
959
}
@@ -1411,8 +1411,8 @@ class SelectQCbi<CondCode Cond, DAGOperand InTyImm, Pseudo OpNode >
1411
1411
(IntCCtoRISCVCC $cc), GPRNoX0:$truev, GPRNoX0:$falsev)>;
1412
1412
1413
1413
let 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)>;
1416
1416
def : Pat<(i32 (add_like_non_imm12 (shl GPRNoX0:$rs1, uimm5gt3:$imm), GPRNoX0:$rs2)),
1417
1417
(QC_SHLADD GPRNoX0:$rs1, GPRNoX0:$rs2, uimm5gt3:$imm)>;
1418
1418
def : 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),
1667
1667
(C_LW GPRC:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
1668
1668
def : CompressPat<(QC_E_LW GPRNoX0:$rd, SPMem:$rs1, uimm8_lsb00:$imm),
1669
1669
(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)>;
1680
1680
1681
1681
def : CompressPat<(QC_E_SW GPRC:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm),
1682
1682
(C_SW GPRC:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
1683
1683
def : CompressPat<(QC_E_SW GPR:$rs2, SPMem:$rs1, uimm8_lsb00:$imm),
1684
1684
(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)>;
1691
1691
} // isCompressOnly = true, Predicates = [HasVendorXqcilo, IsRV32]
1692
1692
1693
1693
let Predicates = [HasVendorXqcicm, IsRV32] in {
@@ -1752,23 +1752,23 @@ def : CompressPat<(QC_E_ADDAI X2, simm10_lsb0000nonzero:$imm),
1752
1752
def : CompressPat<(QC_E_ADDI X2, X2, simm10_lsb0000nonzero:$imm),
1753
1753
(C_ADDI16SP X2, simm10_lsb0000nonzero:$imm)>;
1754
1754
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)>;
1772
1772
} // let isCompressOnly = true, Predicates = [HasVendorXqcilia, IsRV32]
1773
1773
1774
1774
let isCompressOnly = true, Predicates = [HasVendorXqciac, IsRV32] in {
0 commit comments