@@ -402,7 +402,6 @@ def C_NOP : RVInst16CI<0b000, 0b01, (outs), (ins), "c.nop", "">,
402402 Sched<[WriteNop]> {
403403 let rd = 0;
404404 let imm = 0;
405- let Inst{6-2} = 0;
406405}
407406
408407let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
@@ -411,7 +410,6 @@ def C_ADDI : RVInst16CI<0b000, 0b01, (outs GPRNoX0:$rd_wb),
411410 "c.addi", "$rd, $imm">,
412411 Sched<[WriteIALU, ReadIALU]> {
413412 let Constraints = "$rd = $rd_wb";
414- let Inst{6-2} = imm{4-0};
415413}
416414
417415// Alternate syntax for c.nop. Converted to C_NOP by the assembler.
@@ -433,15 +431,12 @@ def C_ADDIW : RVInst16CI<0b001, 0b01, (outs GPRNoX0:$rd_wb),
433431 "c.addiw", "$rd, $imm">,
434432 Sched<[WriteIALU32, ReadIALU32]> {
435433 let Constraints = "$rd = $rd_wb";
436- let Inst{6-2} = imm{4-0};
437434}
438435
439436let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
440437def C_LI : RVInst16CI<0b010, 0b01, (outs GPRNoX0:$rd), (ins simm6:$imm),
441438 "c.li", "$rd, $imm">,
442- Sched<[WriteIALU]> {
443- let Inst{6-2} = imm{4-0};
444- }
439+ Sched<[WriteIALU]>;
445440
446441let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
447442def C_ADDI16SP : RVInst16CI<0b011, 0b01, (outs SP:$rd_wb),
@@ -461,9 +456,7 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
461456def C_LUI : RVInst16CI<0b011, 0b01, (outs GPRNoX0X2:$rd),
462457 (ins c_lui_imm:$imm),
463458 "c.lui", "$rd, $imm">,
464- Sched<[WriteIALU]> {
465- let Inst{6-2} = imm{4-0};
466- }
459+ Sched<[WriteIALU]>;
467460
468461def C_SRLI : Shift_right<0b00, "c.srli", GPRC, uimmlog2xlennonzero>,
469462 Sched<[WriteShiftImm, ReadShiftImm]>;
@@ -513,41 +506,35 @@ def C_SLLI : RVInst16CI<0b000, 0b10, (outs GPRNoX0:$rd_wb),
513506 "c.slli", "$rd, $imm">,
514507 Sched<[WriteShiftImm, ReadShiftImm]> {
515508 let Constraints = "$rd = $rd_wb";
516- let Inst{6-2} = imm{4-0};
517509}
518510
519511let Predicates = [HasStdExtCOrZcd, HasStdExtD] in
520512def C_FLDSP : CStackLoad<0b001, "c.fldsp", FPR64, uimm9_lsb000>,
521513 Sched<[WriteFLD64, ReadFMemBase]> {
522- let Inst{6-5} = imm{4-3};
523514 let Inst{4-2} = imm{8-6};
524515}
525516
526517def C_LWSP : CStackLoad<0b010, "c.lwsp", GPRNoX0, uimm8_lsb00>,
527518 Sched<[WriteLDW, ReadMemBase]> {
528- let Inst{6-4} = imm{4-2};
529519 let Inst{3-2} = imm{7-6};
530520}
531521
532522let isCodeGenOnly = 1 in
533523def C_LWSP_INX : CStackLoad<0b010, "c.lwsp", GPRF32NoX0, uimm8_lsb00>,
534524 Sched<[WriteLDW, ReadMemBase]> {
535- let Inst{6-4} = imm{4-2};
536525 let Inst{3-2} = imm{7-6};
537526}
538527
539528let DecoderNamespace = "RISCV32Only_",
540529 Predicates = [HasStdExtCOrZcfOrZce, HasStdExtF, IsRV32] in
541530def C_FLWSP : CStackLoad<0b011, "c.flwsp", FPR32, uimm8_lsb00>,
542531 Sched<[WriteFLD32, ReadFMemBase]> {
543- let Inst{6-4} = imm{4-2};
544532 let Inst{3-2} = imm{7-6};
545533}
546534
547535let Predicates = [HasStdExtCOrZca, IsRV64] in
548536def C_LDSP : CStackLoad<0b011, "c.ldsp", GPRNoX0, uimm9_lsb000>,
549537 Sched<[WriteLDD, ReadMemBase]> {
550- let Inst{6-5} = imm{4-3};
551538 let Inst{4-2} = imm{8-6};
552539}
553540
@@ -636,23 +623,20 @@ let Predicates = [HasStdExtCOrZca, HasRVCHints], hasSideEffects = 0, mayLoad = 0
636623def C_NOP_HINT : RVInst16CI<0b000, 0b01, (outs), (ins simm6nonzero:$imm),
637624 "c.nop", "$imm">, Sched<[WriteNop]> {
638625 let rd = 0;
639- let Inst{6-2} = imm{4-0};
640626}
641627
642628def C_ADDI_HINT_IMM_ZERO : RVInst16CI<0b000, 0b01, (outs GPRNoX0:$rd_wb),
643629 (ins GPRNoX0:$rd, immzero:$imm),
644630 "c.addi", "$rd, $imm">,
645631 Sched<[WriteIALU, ReadIALU]> {
646632 let Constraints = "$rd = $rd_wb";
647- let Inst{12} = 0;
648- let Inst{6-2} = 0;
633+ let imm = 0;
649634 let DecoderMethod = "decodeRVCInstrRdRs1ImmZero";
650635}
651636
652637def C_LI_HINT : RVInst16CI<0b010, 0b01, (outs GPRX0:$rd), (ins simm6:$imm),
653638 "c.li", "$rd, $imm">,
654639 Sched<[WriteIALU]> {
655- let Inst{6-2} = imm{4-0};
656640 let Inst{11-7} = 0;
657641 let DecoderMethod = "decodeRVCInstrRdSImm";
658642}
@@ -661,7 +645,6 @@ def C_LUI_HINT : RVInst16CI<0b011, 0b01, (outs GPRX0:$rd),
661645 (ins c_lui_imm:$imm),
662646 "c.lui", "$rd, $imm">,
663647 Sched<[WriteIALU]> {
664- let Inst{6-2} = imm{4-0};
665648 let Inst{11-7} = 0;
666649 let DecoderMethod = "decodeRVCInstrRdSImm";
667650}
@@ -686,7 +669,6 @@ def C_SLLI_HINT : RVInst16CI<0b000, 0b10, (outs GPRX0:$rd_wb),
686669 "c.slli", "$rd, $imm">,
687670 Sched<[WriteShiftImm, ReadShiftImm]> {
688671 let Constraints = "$rd = $rd_wb";
689- let Inst{6-2} = imm{4-0};
690672 let Inst{11-7} = 0;
691673 let DecoderMethod = "decodeRVCInstrRdRs1UImm";
692674}
@@ -695,8 +677,7 @@ def C_SLLI64_HINT : RVInst16CI<0b000, 0b10, (outs GPR:$rd_wb), (ins GPR:$rd),
695677 "c.slli64", "$rd">,
696678 Sched<[WriteShiftImm, ReadShiftImm]> {
697679 let Constraints = "$rd = $rd_wb";
698- let Inst{6-2} = 0;
699- let Inst{12} = 0;
680+ let imm = 0;
700681}
701682
702683def C_SRLI64_HINT : RVInst16CB<0b100, 0b01, (outs GPRC:$rd),
0 commit comments