@@ -400,7 +400,6 @@ def C_NOP : RVInst16CI<0b000, 0b01, (outs), (ins), "c.nop", "">,
400400 Sched<[WriteNop]> {
401401 let rd = 0;
402402 let imm = 0;
403- let Inst{6-2} = 0;
404403}
405404
406405let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
@@ -409,7 +408,6 @@ def C_ADDI : RVInst16CI<0b000, 0b01, (outs GPRNoX0:$rd_wb),
409408 "c.addi", "$rd, $imm">,
410409 Sched<[WriteIALU, ReadIALU]> {
411410 let Constraints = "$rd = $rd_wb";
412- let Inst{6-2} = imm{4-0};
413411}
414412
415413// Alternate syntax for c.nop. Converted to C_NOP by the assembler.
@@ -431,15 +429,12 @@ def C_ADDIW : RVInst16CI<0b001, 0b01, (outs GPRNoX0:$rd_wb),
431429 "c.addiw", "$rd, $imm">,
432430 Sched<[WriteIALU32, ReadIALU32]> {
433431 let Constraints = "$rd = $rd_wb";
434- let Inst{6-2} = imm{4-0};
435432}
436433
437434let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
438435def C_LI : RVInst16CI<0b010, 0b01, (outs GPRNoX0:$rd), (ins simm6:$imm),
439436 "c.li", "$rd, $imm">,
440- Sched<[WriteIALU]> {
441- let Inst{6-2} = imm{4-0};
442- }
437+ Sched<[WriteIALU]>;
443438
444439let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
445440def C_ADDI16SP : RVInst16CI<0b011, 0b01, (outs SP:$rd_wb),
@@ -459,9 +454,7 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
459454def C_LUI : RVInst16CI<0b011, 0b01, (outs GPRNoX0X2:$rd),
460455 (ins c_lui_imm:$imm),
461456 "c.lui", "$rd, $imm">,
462- Sched<[WriteIALU]> {
463- let Inst{6-2} = imm{4-0};
464- }
457+ Sched<[WriteIALU]>;
465458
466459def C_SRLI : Shift_right<0b00, "c.srli">,
467460 Sched<[WriteShiftImm, ReadShiftImm]>;
@@ -511,41 +504,35 @@ def C_SLLI : RVInst16CI<0b000, 0b10, (outs GPRNoX0:$rd_wb),
511504 "c.slli", "$rd, $imm">,
512505 Sched<[WriteShiftImm, ReadShiftImm]> {
513506 let Constraints = "$rd = $rd_wb";
514- let Inst{6-2} = imm{4-0};
515507}
516508
517509let Predicates = [HasStdExtCOrZcd, HasStdExtD] in
518510def C_FLDSP : CStackLoad<0b001, "c.fldsp", FPR64, uimm9_lsb000>,
519511 Sched<[WriteFLD64, ReadFMemBase]> {
520- let Inst{6-5} = imm{4-3};
521512 let Inst{4-2} = imm{8-6};
522513}
523514
524515def C_LWSP : CStackLoad<0b010, "c.lwsp", GPRNoX0, uimm8_lsb00>,
525516 Sched<[WriteLDW, ReadMemBase]> {
526- let Inst{6-4} = imm{4-2};
527517 let Inst{3-2} = imm{7-6};
528518}
529519
530520let isCodeGenOnly = 1 in
531521def C_LWSP_INX : CStackLoad<0b010, "c.lwsp", GPRF32NoX0, uimm8_lsb00>,
532522 Sched<[WriteLDW, ReadMemBase]> {
533- let Inst{6-4} = imm{4-2};
534523 let Inst{3-2} = imm{7-6};
535524}
536525
537526let DecoderNamespace = "RISCV32Only_",
538527 Predicates = [HasStdExtCOrZcfOrZce, HasStdExtF, IsRV32] in
539528def C_FLWSP : CStackLoad<0b011, "c.flwsp", FPR32, uimm8_lsb00>,
540529 Sched<[WriteFLD32, ReadFMemBase]> {
541- let Inst{6-4} = imm{4-2};
542530 let Inst{3-2} = imm{7-6};
543531}
544532
545533let Predicates = [HasStdExtCOrZca, IsRV64] in
546534def C_LDSP : CStackLoad<0b011, "c.ldsp", GPRNoX0, uimm9_lsb000>,
547535 Sched<[WriteLDD, ReadMemBase]> {
548- let Inst{6-5} = imm{4-3};
549536 let Inst{4-2} = imm{8-6};
550537}
551538
@@ -634,23 +621,20 @@ let Predicates = [HasStdExtCOrZca, HasRVCHints], hasSideEffects = 0, mayLoad = 0
634621def C_NOP_HINT : RVInst16CI<0b000, 0b01, (outs), (ins simm6nonzero:$imm),
635622 "c.nop", "$imm">, Sched<[WriteNop]> {
636623 let rd = 0;
637- let Inst{6-2} = imm{4-0};
638624}
639625
640626def C_ADDI_HINT_IMM_ZERO : RVInst16CI<0b000, 0b01, (outs GPRNoX0:$rd_wb),
641627 (ins GPRNoX0:$rd, immzero:$imm),
642628 "c.addi", "$rd, $imm">,
643629 Sched<[WriteIALU, ReadIALU]> {
644630 let Constraints = "$rd = $rd_wb";
645- let Inst{12} = 0;
646- let Inst{6-2} = 0;
631+ let imm = 0;
647632 let DecoderMethod = "decodeRVCInstrRdRs1ImmZero";
648633}
649634
650635def C_LI_HINT : RVInst16CI<0b010, 0b01, (outs GPRX0:$rd), (ins simm6:$imm),
651636 "c.li", "$rd, $imm">,
652637 Sched<[WriteIALU]> {
653- let Inst{6-2} = imm{4-0};
654638 let Inst{11-7} = 0;
655639 let DecoderMethod = "decodeRVCInstrRdSImm";
656640}
@@ -659,7 +643,6 @@ def C_LUI_HINT : RVInst16CI<0b011, 0b01, (outs GPRX0:$rd),
659643 (ins c_lui_imm:$imm),
660644 "c.lui", "$rd, $imm">,
661645 Sched<[WriteIALU]> {
662- let Inst{6-2} = imm{4-0};
663646 let Inst{11-7} = 0;
664647 let DecoderMethod = "decodeRVCInstrRdSImm";
665648}
@@ -684,7 +667,6 @@ def C_SLLI_HINT : RVInst16CI<0b000, 0b10, (outs GPRX0:$rd_wb),
684667 "c.slli", "$rd, $imm">,
685668 Sched<[WriteShiftImm, ReadShiftImm]> {
686669 let Constraints = "$rd = $rd_wb";
687- let Inst{6-2} = imm{4-0};
688670 let Inst{11-7} = 0;
689671 let DecoderMethod = "decodeRVCInstrRdRs1UImm";
690672}
@@ -693,8 +675,7 @@ def C_SLLI64_HINT : RVInst16CI<0b000, 0b10, (outs GPR:$rd_wb), (ins GPR:$rd),
693675 "c.slli64", "$rd">,
694676 Sched<[WriteShiftImm, ReadShiftImm]> {
695677 let Constraints = "$rd = $rd_wb";
696- let Inst{6-2} = 0;
697- let Inst{12} = 0;
678+ let imm = 0;
698679}
699680
700681def C_SRLI64_HINT : RVInst16CB<0b100, 0b01, (outs GPRC:$rd),
0 commit comments