Lines Matching full:rs1

244     : RVInst16CI<funct3, 0b10, (outs cls:$rd), (ins SPMem:$rs1, opnd:$imm),
245 OpcodeStr, "$rd, ${imm}(${rs1})">;
250 : RVInst16CSS<funct3, 0b10, (outs), (ins cls:$rs2, SPMem:$rs1, opnd:$imm),
251 OpcodeStr, "$rs2, ${imm}(${rs1})">;
256 : RVInst16CL<funct3, 0b00, (outs cls:$rd), (ins GPRCMem:$rs1, opnd:$imm),
257 OpcodeStr, "$rd, ${imm}(${rs1})">;
262 : RVInst16CS<funct3, 0b00, (outs), (ins cls:$rs2,GPRCMem:$rs1, opnd:$imm),
263 OpcodeStr, "$rs2, ${imm}(${rs1})">;
268 : RVInst16CB<funct3, 0b01, (outs), (ins cls:$rs1, simm9_lsb0:$imm),
269 OpcodeStr, "$rs1, $imm"> {
282 : RVInst16CB<0b100, 0b01, (outs cls:$rs1_wb), (ins cls:$rs1, ImmOpnd:$imm),
283 OpcodeStr, "$rs1, $imm"> {
284 let Constraints = "$rs1 = $rs1_wb";
308 (ins SP:$rs1, uimm10_lsb00nonzero:$imm),
309 "c.addi4spn", "$rd, $rs1, $imm">,
311 bits<5> rs1;
462 def C_ANDI : RVInst16CB<0b100, 0b01, (outs GPRC:$rs1_wb), (ins GPRC:$rs1, simm6:$imm),
463 "c.andi", "$rs1, $imm">,
465 let Constraints = "$rs1 = $rs1_wb";
536 def C_JR : RVInst16CR<0b1000, 0b10, (outs), (ins GPRNoX0:$rs1),
537 "c.jr", "$rs1">, Sched<[WriteJalr, ReadJalr]> {
545 def C_MV : RVInst16CR<0b1000, 0b10, (outs GPRNoX0:$rs1), (ins GPRNoX0:$rs2),
546 "c.mv", "$rs1, $rs2">,
549 let rs1 = 0, rs2 = 0, hasSideEffects = 1, mayLoad = 0, mayStore = 0 in
554 def C_JALR : RVInst16CR<0b1001, 0b10, (outs), (ins GPRNoX0:$rs1),
555 "c.jalr", "$rs1">, Sched<[WriteJalr, ReadJalr]>;
559 (ins GPRNoX0:$rs1, GPRNoX0:$rs2),
560 "c.add", "$rs1, $rs2">,
562 let Constraints = "$rs1 = $rs1_wb";
643 def C_MV_HINT : RVInst16CR<0b1000, 0b10, (outs GPRX0:$rs1), (ins GPRNoX0:$rs2),
644 "c.mv", "$rs1, $rs2">, Sched<[WriteIALU, ReadIALU]> {
650 (ins GPRX0:$rs1, GPRNoX0:$rs2),
651 "c.add", "$rs1, $rs2">,
653 let Constraints = "$rs1 = $rs1_wb";
717 def : InstAlias<"c.lw $rd, (${rs1})", (C_LW GPRC:$rd, GPRCMem:$rs1, 0)>;
718 def : InstAlias<"c.sw $rs2, (${rs1})", (C_SW GPRC:$rs2, GPRCMem:$rs1, 0)>;
719 def : InstAlias<"c.lwsp $rd, (${rs1})", (C_LWSP GPRNoX0:$rd, SPMem:$rs1, 0)>;
720 def : InstAlias<"c.swsp $rs2, (${rs1})", (C_SWSP GPRNoX0:$rs2, SPMem:$rs1, 0)>;
724 def : InstAlias<"c.ld $rd, (${rs1})", (C_LD GPRC:$rd, GPRCMem:$rs1, 0)>;
725 def : InstAlias<"c.sd $rs2, (${rs1})", (C_SD GPRC:$rs2, GPRCMem:$rs1, 0)>;
726 def : InstAlias<"c.ldsp $rd, (${rs1})", (C_LDSP GPRNoX0:$rd, SPMem:$rs1, 0)>;
727 def : InstAlias<"c.sdsp $rs2, (${rs1})", (C_SDSP GPRNoX0:$rs2, SPMem:$rs1, 0)>;
731 def : InstAlias<"c.flw $rd, (${rs1})", (C_FLW FPR32C:$rd, GPRCMem:$rs1, 0)>;
732 def : InstAlias<"c.fsw $rs2, (${rs1})", (C_FSW FPR32C:$rs2, GPRCMem:$rs1, 0)>;
733 def : InstAlias<"c.flwsp $rd, (${rs1})", (C_FLWSP FPR32:$rd, SPMem:$rs1, 0)>;
734 def : InstAlias<"c.fswsp $rs2, (${rs1})", (C_FSWSP FPR32:$rs2, SPMem:$rs1, 0)>;
738 def : InstAlias<"c.fld $rd, (${rs1})", (C_FLD FPR64C:$rd, GPRCMem:$rs1, 0)>;
739 def : InstAlias<"c.fsd $rs2, (${rs1})", (C_FSD FPR64C:$rs2, GPRCMem:$rs1, 0)>;
740 def : InstAlias<"c.fldsp $rd, (${rs1})", (C_FLDSP FPR64:$rd, SPMem:$rs1, 0)>;
741 def : InstAlias<"c.fsdsp $rs2, (${rs1})", (C_FSDSP FPR64:$rs2, SPMem:$rs1, 0)>;
782 AnyRegC:$rs1,
784 "$opcode, $funct3, $rd, ${imm5}(${rs1})">;
788 AnyRegC:$rs1,
790 "$opcode, $funct3, $rs2, ${imm5}(${rs1})">;
797 AnyRegC:$rs1,
799 "$opcode, $funct3, $rs1, $imm8">;
829 def : InstAlias<".insn_cl $opcode, $funct3, $rd, ${imm5}(${rs1})",
831 AnyRegC:$rs1, uimm5:$imm5)>;
832 def : InstAlias<".insn_cl $opcode, $funct3, $rd, (${rs1})",
834 AnyRegC:$rs1, 0)>;
835 def : InstAlias<".insn_cs $opcode, $funct3, $rs2, ${imm5}(${rs1})",
837 AnyRegC:$rs1, uimm5:$imm5)>;
838 def : InstAlias<".insn_cs $opcode, $funct3, $rs2, (${rs1})",
840 AnyRegC:$rs1, 0)>;
844 def : InstAlias<".insn_cb $opcode, $funct3, $rs1, $imm8",
845 (InsnCB uimm2_opcode:$opcode, uimm3:$funct3, AnyRegC:$rs1,
860 def : CompressPat<(ADDI GPRC:$rd, SP:$rs1, uimm10_lsb00nonzero:$imm),
861 (C_ADDI4SPN GPRC:$rd, SP:$rs1, uimm10_lsb00nonzero:$imm)>;
865 def : CompressPat<(FLD FPR64C:$rd, GPRCMem:$rs1, uimm8_lsb000:$imm),
866 (C_FLD FPR64C:$rd, GPRCMem:$rs1, uimm8_lsb000:$imm)>;
870 def : CompressPat<(LW GPRC:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm),
871 (C_LW GPRC:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
875 def : CompressPat<(FLW FPR32C:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm),
876 (C_FLW FPR32C:$rd, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
880 def : CompressPat<(LD GPRC:$rd, GPRCMem:$rs1, uimm8_lsb000:$imm),
881 (C_LD GPRC:$rd, GPRCMem:$rs1, uimm8_lsb000:$imm)>;
885 def : CompressPat<(FSD FPR64C:$rs2, GPRCMem:$rs1, uimm8_lsb000:$imm),
886 (C_FSD FPR64C:$rs2, GPRCMem:$rs1, uimm8_lsb000:$imm)>;
890 def : CompressPat<(SW GPRC:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm),
891 (C_SW GPRC:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
895 def : CompressPat<(FSW FPR32C:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm),
896 (C_FSW FPR32C:$rs2, GPRCMem:$rs1, uimm7_lsb00:$imm)>;
900 def : CompressPat<(SD GPRC:$rs2, GPRCMem:$rs1, uimm8_lsb000:$imm),
901 (C_SD GPRC:$rs2, GPRCMem:$rs1, uimm8_lsb000:$imm)>;
907 def : CompressPat<(ADDI GPRNoX0:$rs1, GPRNoX0:$rs1, simm6nonzero:$imm),
908 (C_ADDI GPRNoX0:$rs1, simm6nonzero:$imm)>;
917 def : CompressPat<(ADDIW GPRNoX0:$rs1, GPRNoX0:$rs1, simm6:$imm),
918 (C_ADDIW GPRNoX0:$rs1, simm6:$imm)>;
928 def : CompressPat<(SRLI GPRC:$rs1, GPRC:$rs1, uimmlog2xlennonzero:$imm),
929 (C_SRLI GPRC:$rs1, uimmlog2xlennonzero:$imm)>;
930 def : CompressPat<(SRAI GPRC:$rs1, GPRC:$rs1, uimmlog2xlennonzero:$imm),
931 (C_SRAI GPRC:$rs1, uimmlog2xlennonzero:$imm)>;
932 def : CompressPat<(ANDI GPRC:$rs1, GPRC:$rs1, simm6:$imm),
933 (C_ANDI GPRC:$rs1, simm6:$imm)>;
934 def : CompressPat<(SUB GPRC:$rs1, GPRC:$rs1, GPRC:$rs2),
935 (C_SUB GPRC:$rs1, GPRC:$rs2)>;
936 def : CompressPat<(XOR GPRC:$rs1, GPRC:$rs1, GPRC:$rs2),
937 (C_XOR GPRC:$rs1, GPRC:$rs2)>;
939 def : CompressPat<(XOR GPRC:$rs1, GPRC:$rs2, GPRC:$rs1),
940 (C_XOR GPRC:$rs1, GPRC:$rs2)>;
941 def : CompressPat<(OR GPRC:$rs1, GPRC:$rs1, GPRC:$rs2),
942 (C_OR GPRC:$rs1, GPRC:$rs2)>;
944 def : CompressPat<(OR GPRC:$rs1, GPRC:$rs2, GPRC:$rs1),
945 (C_OR GPRC:$rs1, GPRC:$rs2)>;
946 def : CompressPat<(AND GPRC:$rs1, GPRC:$rs1, GPRC:$rs2),
947 (C_AND GPRC:$rs1, GPRC:$rs2)>;
949 def : CompressPat<(AND GPRC:$rs1, GPRC:$rs2, GPRC:$rs1),
950 (C_AND GPRC:$rs1, GPRC:$rs2)>;
957 def : CompressPat<(SUBW GPRC:$rs1, GPRC:$rs1, GPRC:$rs2),
958 (C_SUBW GPRC:$rs1, GPRC:$rs2)>;
959 def : CompressPat<(ADDW GPRC:$rs1, GPRC:$rs1, GPRC:$rs2),
960 (C_ADDW GPRC:$rs1, GPRC:$rs2)>;
962 def : CompressPat<(ADDW GPRC:$rs1, GPRC:$rs2, GPRC:$rs1),
963 (C_ADDW GPRC:$rs1, GPRC:$rs2)>;
969 def : CompressPat<(BEQ GPRC:$rs1, X0, simm9_lsb0:$imm),
970 (C_BEQZ GPRC:$rs1, simm9_lsb0:$imm)>;
972 def : CompressPat<(BEQ X0, GPRC:$rs1, simm9_lsb0:$imm),
973 (C_BEQZ GPRC:$rs1, simm9_lsb0:$imm)>;
974 def : CompressPat<(BNE GPRC:$rs1, X0, simm9_lsb0:$imm),
975 (C_BNEZ GPRC:$rs1, simm9_lsb0:$imm)>;
977 def : CompressPat<(BNE X0, GPRC:$rs1, simm9_lsb0:$imm),
978 (C_BNEZ GPRC:$rs1, simm9_lsb0:$imm)>;
983 def : CompressPat<(SLLI GPRNoX0:$rs1, GPRNoX0:$rs1, uimmlog2xlennonzero:$imm),
984 (C_SLLI GPRNoX0:$rs1, uimmlog2xlennonzero:$imm)>;
988 def : CompressPat<(FLD FPR64:$rd, SPMem:$rs1, uimm9_lsb000:$imm),
989 (C_FLDSP FPR64:$rd, SPMem:$rs1, uimm9_lsb000:$imm)>;
993 def : CompressPat<(LW GPRNoX0:$rd, SPMem:$rs1, uimm8_lsb00:$imm),
994 (C_LWSP GPRNoX0:$rd, SPMem:$rs1, uimm8_lsb00:$imm)>;
998 def : CompressPat<(FLW FPR32:$rd, SPMem:$rs1, uimm8_lsb00:$imm),
999 (C_FLWSP FPR32:$rd, SPMem:$rs1, uimm8_lsb00:$imm)>;
1003 def : CompressPat<(LD GPRNoX0:$rd, SPMem:$rs1, uimm9_lsb000:$imm),
1004 (C_LDSP GPRNoX0:$rd, SPMem:$rs1, uimm9_lsb000:$imm)>;
1008 def : CompressPat<(JALR X0, GPRNoX0:$rs1, 0),
1009 (C_JR GPRNoX0:$rs1)>;
1011 def : CompressPat<(ADD GPRNoX0:$rs1, X0, GPRNoX0:$rs2),
1012 (C_MV GPRNoX0:$rs1, GPRNoX0:$rs2)>;
1013 def : CompressPat<(ADD GPRNoX0:$rs1, GPRNoX0:$rs2, X0),
1014 (C_MV GPRNoX0:$rs1, GPRNoX0:$rs2)>;
1016 def : CompressPat<(ADDI GPRNoX0:$rs1, GPRNoX0:$rs2, 0),
1017 (C_MV GPRNoX0:$rs1, GPRNoX0:$rs2)>;
1020 def : CompressPat<(JALR X1, GPRNoX0:$rs1, 0),
1021 (C_JALR GPRNoX0:$rs1)>;
1022 def : CompressPat<(ADD GPRNoX0:$rs1, GPRNoX0:$rs1, GPRNoX0:$rs2),
1023 (C_ADD GPRNoX0:$rs1, GPRNoX0:$rs2)>;
1025 def : CompressPat<(ADD GPRNoX0:$rs1, GPRNoX0:$rs2, GPRNoX0:$rs1),
1026 (C_ADD GPRNoX0:$rs1, GPRNoX0:$rs2)>;
1030 def : CompressPat<(FSD FPR64:$rs2, SPMem:$rs1, uimm9_lsb000:$imm),
1031 (C_FSDSP FPR64:$rs2, SPMem:$rs1, uimm9_lsb000:$imm)>;
1035 def : CompressPat<(SW GPR:$rs2, SPMem:$rs1, uimm8_lsb00:$imm),
1036 (C_SWSP GPR:$rs2, SPMem:$rs1, uimm8_lsb00:$imm)>;
1040 def : CompressPat<(FSW FPR32:$rs2, SPMem:$rs1, uimm8_lsb00:$imm),
1041 (C_FSWSP FPR32:$rs2, SPMem:$rs1, uimm8_lsb00:$imm)>;
1045 def : CompressPat<(SD GPR:$rs2, SPMem:$rs1, uimm9_lsb000:$imm),
1046 (C_SDSP GPR:$rs2, SPMem:$rs1, uimm9_lsb000:$imm)>;