Lines Matching refs:imm
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"> {
272 let Inst{12} = imm{7};
273 let Inst{11-10} = imm{3-2};
274 let Inst{6-5} = imm{6-5};
275 let Inst{4-3} = imm{1-0};
276 let Inst{2} = imm{4};
282 : RVInst16CB<0b100, 0b01, (outs cls:$rs1_wb), (ins cls:$rs1, ImmOpnd:$imm),
283 OpcodeStr, "$rs1, $imm"> {
285 let Inst{12} = imm{5};
287 let Inst{6-2} = imm{4-0};
308 (ins SP:$rs1, uimm10_lsb00nonzero:$imm),
309 "c.addi4spn", "$rd, $rs1, $imm">,
312 let Inst{12-11} = imm{5-4};
313 let Inst{10-7} = imm{9-6};
314 let Inst{6} = imm{2};
315 let Inst{5} = imm{3};
321 bits<8> imm;
322 let Inst{12-10} = imm{5-3};
323 let Inst{6-5} = imm{7-6};
328 bits<7> imm;
329 let Inst{12-10} = imm{5-3};
330 let Inst{6} = imm{2};
331 let Inst{5} = imm{6};
338 bits<7> imm;
339 let Inst{12-10} = imm{5-3};
340 let Inst{6} = imm{2};
341 let Inst{5} = imm{6};
347 bits<8> imm;
348 let Inst{12-10} = imm{5-3};
349 let Inst{6-5} = imm{7-6};
355 bits<8> imm;
356 let Inst{12-10} = imm{5-3};
357 let Inst{6-5} = imm{7-6};
362 bits<7> imm;
363 let Inst{12-10} = imm{5-3};
364 let Inst{6} = imm{2};
365 let Inst{5} = imm{6};
372 bits<7> imm;
373 let Inst{12-10} = imm{5-3};
374 let Inst{6} = imm{2};
375 let Inst{5} = imm{6};
381 bits<8> imm;
382 let Inst{12-10} = imm{5-3};
383 let Inst{6-5} = imm{7-6};
386 let rd = 0, imm = 0, hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
394 (ins GPRNoX0:$rd, simm6nonzero:$imm),
395 "c.addi", "$rd, $imm">,
398 let Inst{6-2} = imm{4-0};
403 (ins GPRX0:$rd, immzero:$imm),
404 "c.addi", "$rd, $imm">,
420 (ins GPRNoX0:$rd, simm6:$imm),
421 "c.addiw", "$rd, $imm">,
424 let Inst{6-2} = imm{4-0};
428 def C_LI : RVInst16CI<0b010, 0b01, (outs GPRNoX0:$rd), (ins simm6:$imm),
429 "c.li", "$rd, $imm">,
431 let Inst{6-2} = imm{4-0};
436 (ins SP:$rd, simm10_lsb0000nonzero:$imm),
437 "c.addi16sp", "$rd, $imm">,
440 let Inst{12} = imm{9};
442 let Inst{6} = imm{4};
443 let Inst{5} = imm{6};
444 let Inst{4-3} = imm{8-7};
445 let Inst{2} = imm{5};
450 (ins c_lui_imm:$imm),
451 "c.lui", "$rd, $imm">,
453 let Inst{6-2} = imm{4-0};
462 def C_ANDI : RVInst16CB<0b100, 0b01, (outs GPRC:$rs1_wb), (ins GPRC:$rs1, simm6:$imm),
463 "c.andi", "$rs1, $imm">,
466 let Inst{12} = imm{5};
468 let Inst{6-2} = imm{4-0};
500 (ins GPRNoX0:$rd, uimmlog2xlennonzero:$imm),
501 "c.slli", "$rd, $imm">,
504 let Inst{6-2} = imm{4-0};
510 let Inst{6-5} = imm{4-3};
511 let Inst{4-2} = imm{8-6};
516 let Inst{6-4} = imm{4-2};
517 let Inst{3-2} = imm{7-6};
524 let Inst{6-4} = imm{4-2};
525 let Inst{3-2} = imm{7-6};
531 let Inst{6-5} = imm{4-3};
532 let Inst{4-2} = imm{8-6};
568 let Inst{12-10} = imm{5-3};
569 let Inst{9-7} = imm{8-6};
574 let Inst{12-9} = imm{5-2};
575 let Inst{8-7} = imm{7-6};
582 let Inst{12-9} = imm{5-2};
583 let Inst{8-7} = imm{7-6};
589 let Inst{12-10} = imm{5-3};
590 let Inst{9-7} = imm{8-6};
611 def C_NOP_HINT : RVInst16CI<0b000, 0b01, (outs), (ins simm6nonzero:$imm),
612 "c.nop", "$imm">, Sched<[WriteNop]> {
613 let Inst{6-2} = imm{4-0};
617 (ins GPRNoX0:$rd, immzero:$imm),
618 "c.addi", "$rd, $imm">,
626 def C_LI_HINT : RVInst16CI<0b010, 0b01, (outs GPRX0:$rd), (ins simm6:$imm),
627 "c.li", "$rd, $imm">,
629 let Inst{6-2} = imm{4-0};
635 (ins c_lui_imm:$imm),
636 "c.lui", "$rd, $imm">,
638 let Inst{6-2} = imm{4-0};
659 (ins GPRX0:$rd, uimmlog2xlennonzero:$imm),
660 "c.slli", "$rd, $imm">,
663 let Inst{6-2} = imm{4-0};
705 def : InstAlias<"c.addi x0, $imm", (C_NOP_HINT simm6nonzero:$imm), 0>;
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)>;
922 def : CompressPat<(ADDI GPRNoX0:$rd, X0, simm6:$imm),
923 (C_LI GPRNoX0:$rd, simm6:$imm)>;
924 def : CompressPat<(ADDI X2, X2, simm10_lsb0000nonzero:$imm),
925 (C_ADDI16SP X2, simm10_lsb0000nonzero:$imm)>;
926 def : CompressPat<(LUI GPRNoX0X2:$rd, c_lui_imm:$imm),
927 (C_LUI GPRNoX0X2:$rd, c_lui_imm:$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)>;
955 def : CompressPat<(ADDIW GPRNoX0:$rd, X0, simm6:$imm),
956 (C_LI GPRNoX0:$rd, simm6:$imm)>;
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)>;
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)>;