@@ -402,7 +402,7 @@ def C_NOP : RVInst16CI<0b000, 0b01, (outs), (ins), "c.nop", "">,
402402
403403let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
404404def C_ADDI : RVInst16CI<0b000, 0b01, (outs GPRNoX0:$rd_wb),
405- (ins GPRNoX0:$rd, simm6nonzero :$imm),
405+ (ins GPRNoX0:$rd, simm6 :$imm),
406406 "c.addi", "$rd, $imm">,
407407 Sched<[WriteIALU, ReadIALU]> {
408408 let Constraints = "$rd = $rd_wb";
@@ -430,7 +430,7 @@ def C_ADDIW : RVInst16CI<0b001, 0b01, (outs GPRNoX0:$rd_wb),
430430}
431431
432432let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
433- def C_LI : RVInst16CI<0b010, 0b01, (outs GPRNoX0 :$rd), (ins simm6:$imm),
433+ def C_LI : RVInst16CI<0b010, 0b01, (outs GPR :$rd), (ins simm6:$imm),
434434 "c.li", "$rd, $imm">,
435435 Sched<[WriteIALU]>;
436436
@@ -449,7 +449,7 @@ def C_ADDI16SP : RVInst16CI<0b011, 0b01, (outs SP:$rd_wb),
449449}
450450
451451let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
452- def C_LUI : RVInst16CI<0b011, 0b01, (outs GPRNoX0X2 :$rd),
452+ def C_LUI : RVInst16CI<0b011, 0b01, (outs GPRNoX2 :$rd),
453453 (ins c_lui_imm:$imm),
454454 "c.lui", "$rd, $imm">,
455455 Sched<[WriteIALU]>;
@@ -497,7 +497,7 @@ def C_BEQZ : Bcz<0b110, "c.beqz">, Sched<[WriteJmp, ReadJmp]>;
497497def C_BNEZ : Bcz<0b111, "c.bnez">, Sched<[WriteJmp, ReadJmp]>;
498498
499499let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
500- def C_SLLI : RVInst16CI<0b000, 0b10, (outs GPRNoX0 :$rd_wb),
500+ def C_SLLI : RVInst16CI<0b000, 0b10, (outs GPR :$rd_wb),
501501 (ins GPRNoX0:$rd, uimmlog2xlennonzero:$imm),
502502 "c.slli", "$rd, $imm">,
503503 Sched<[WriteShiftImm, ReadShiftImm]> {
@@ -544,7 +544,7 @@ def C_JR : RVInst16CR<0b1000, 0b10, (outs), (ins GPRNoX0:$rs1),
544544
545545let hasSideEffects = 0, mayLoad = 0, mayStore = 0, isMoveReg = 1,
546546 isAsCheapAsAMove = 1 in
547- def C_MV : RVInst16CR<0b1000, 0b10, (outs GPRNoX0 :$rs1), (ins GPRNoX0:$rs2),
547+ def C_MV : RVInst16CR<0b1000, 0b10, (outs GPR :$rs1), (ins GPRNoX0:$rs2),
548548 "c.mv", "$rs1, $rs2">,
549549 Sched<[WriteIALU, ReadIALU]>;
550550
@@ -557,8 +557,8 @@ def C_JALR : RVInst16CR<0b1001, 0b10, (outs), (ins GPRNoX0:$rs1),
557557 "c.jalr", "$rs1">, Sched<[WriteJalr, ReadJalr]>;
558558
559559let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
560- def C_ADD : RVInst16CR<0b1001, 0b10, (outs GPRNoX0 :$rd),
561- (ins GPRNoX0 :$rs1, GPRNoX0:$rs2),
560+ def C_ADD : RVInst16CR<0b1001, 0b10, (outs GPR :$rd),
561+ (ins GPR :$rs1, GPRNoX0:$rs2),
562562 "c.add", "$rs1, $rs2">,
563563 Sched<[WriteIALU, ReadIALU, ReadIALU]> {
564564 let Constraints = "$rs1 = $rd";
@@ -616,54 +616,6 @@ def C_NOP_HINT : RVInst16CI<0b000, 0b01, (outs), (ins simm6nonzero:$imm),
616616 let rd = 0;
617617}
618618
619- def C_ADDI_HINT_IMM_ZERO : RVInst16CI<0b000, 0b01, (outs GPRNoX0:$rd_wb),
620- (ins GPRNoX0:$rd, immzero:$imm),
621- "c.addi", "$rd, $imm">,
622- Sched<[WriteIALU, ReadIALU]> {
623- let Constraints = "$rd = $rd_wb";
624- let imm = 0;
625- let DecoderMethod = "decodeRVCInstrRdRs1ImmZero";
626- }
627-
628- def C_LI_HINT : RVInst16CI<0b010, 0b01, (outs GPRX0:$rd), (ins simm6:$imm),
629- "c.li", "$rd, $imm">,
630- Sched<[WriteIALU]> {
631- let Inst{11-7} = 0;
632- let DecoderMethod = "decodeRVCInstrRdSImm6";
633- }
634-
635- def C_LUI_HINT : RVInst16CI<0b011, 0b01, (outs GPRX0:$rd),
636- (ins c_lui_imm:$imm),
637- "c.lui", "$rd, $imm">,
638- Sched<[WriteIALU]> {
639- let Inst{11-7} = 0;
640- let DecoderMethod = "decodeRVCInstrRdCLUIImm";
641- }
642-
643- def C_MV_HINT : RVInst16CR<0b1000, 0b10, (outs GPRX0:$rs1), (ins GPRNoX0:$rs2),
644- "c.mv", "$rs1, $rs2">, Sched<[WriteIALU, ReadIALU]> {
645- let Inst{11-7} = 0;
646- let DecoderMethod = "decodeRVCInstrRdRs2";
647- }
648-
649- def C_ADD_HINT : RVInst16CR<0b1001, 0b10, (outs GPRX0:$rd),
650- (ins GPRX0:$rs1, GPRNoX0:$rs2),
651- "c.add", "$rs1, $rs2">,
652- Sched<[WriteIALU, ReadIALU, ReadIALU]> {
653- let Constraints = "$rs1 = $rd";
654- let Inst{11-7} = 0;
655- let DecoderMethod = "decodeRVCInstrRdRs1Rs2";
656- }
657-
658- def C_SLLI_HINT : RVInst16CI<0b000, 0b10, (outs GPRX0:$rd_wb),
659- (ins GPRX0:$rd, uimmlog2xlennonzero:$imm),
660- "c.slli", "$rd, $imm">,
661- Sched<[WriteShiftImm, ReadShiftImm]> {
662- let Constraints = "$rd = $rd_wb";
663- let Inst{11-7} = 0;
664- let DecoderMethod = "decodeRVCInstrRdRs1UImmLog2XLenNonZero";
665- }
666-
667619def C_SLLI64_HINT : RVInst16CI<0b000, 0b10, (outs GPR:$rd_wb), (ins GPR:$rd),
668620 "c.slli64", "$rd">,
669621 Sched<[WriteShiftImm, ReadShiftImm]> {
@@ -704,10 +656,10 @@ def : InstAlias<"c.addi x0, $imm", (C_NOP_HINT simm6nonzero:$imm), 0>;
704656}
705657
706658let Predicates = [HasStdExtC, HasStdExtZihintntl] in {
707- def : InstAlias<"c.ntl.p1", (C_ADD_HINT X0, X2)>;
708- def : InstAlias<"c.ntl.pall", (C_ADD_HINT X0, X3)>;
709- def : InstAlias<"c.ntl.s1", (C_ADD_HINT X0, X4)>;
710- def : InstAlias<"c.ntl.all", (C_ADD_HINT X0, X5)>;
659+ def : InstAlias<"c.ntl.p1", (C_ADD X0, X2)>;
660+ def : InstAlias<"c.ntl.pall", (C_ADD X0, X3)>;
661+ def : InstAlias<"c.ntl.s1", (C_ADD X0, X4)>;
662+ def : InstAlias<"c.ntl.all", (C_ADD X0, X5)>;
711663} // Predicates = [HasStdExtC, HasStdExtZihintntl]
712664
713665let EmitPriority = 0 in {
0 commit comments