• Home
  • Raw
  • Download

Lines Matching refs:GPR

195   let MIOperandInfo = (ops GPR:$base, i32lo16s:$offset, AluOp:$Opcode);
207 let MIOperandInfo = (ops GPR:$Op1, GPR:$Op2, AluOp:$Opcode);
229 let MIOperandInfo = (ops GPR:$base, imm10:$offset, AluOp:$Opcode);
280 def LO : InstRI<subOp, (outs GPR:$Rd), (ins GPR:$Rs1, LoExt:$imm16),
284 def HI : InstRI<subOp, (outs GPR:$Rd), (ins GPR:$Rs1, HiExt:$imm16),
296 def R : InstRR<subOp, (outs GPR:$Rd), (ins GPR:$Rs1, GPR:$Rs2, pred:$DDDI),
298 [(set GPR:$Rd, (OpNode GPR:$Rs1, GPR:$Rs2))]>;
304 [(set GPR:$Rd, (OpNode GPR:$Rs1, LoExt:$imm16))],
305 [(set GPR:$Rd, (OpNode GPR:$Rs1, HiExt:$imm16))]>;
309 def R : InstRR<subOp, (outs GPR:$Rd), (ins GPR:$Rs1, GPR:$Rs2, pred:$DDDI),
311 [(set GPR:$Rd, (OpNode GPR:$Rs1, GPR:$Rs2))]>;
327 def : Pat<(add GPR:$Rs1, i32lo16z:$imm),
328 (ADD_I_LO GPR:$Rs1, i32lo16z:$imm)>;
330 def : Pat<(sub GPR:$Rs1, i32lo16z:$imm),
331 (SUB_I_LO GPR:$Rs1, i32lo16z:$imm)>;
333 def : Pat<(add GPR:$Rs1, i32hi16:$imm),
334 (ADD_I_HI GPR:$Rs1, i32hi16:$imm)>;
336 def : Pat<(sub GPR:$Rs1, i32hi16:$imm),
337 (SUB_I_HI GPR:$Rs1, i32hi16:$imm)>;
343 def : Pat<(add GPR:$Rs1, i32neg16:$imm),
344 (SUB_I_LO GPR:$Rs1, (NEG $imm))>;
345 def : Pat<(sub GPR:$Rs1, i32neg16:$imm),
346 (ADD_I_LO GPR:$Rs1, (NEG $imm))>;
354 def : Pat<(addc GPR:$Rs1, i32lo16z:$imm),
355 (ADD_F_I_LO GPR:$Rs1, i32lo16z:$imm)>;
357 def : Pat<(subc GPR:$Rs1, i32lo16z:$imm),
358 (SUB_F_I_LO GPR:$Rs1, i32lo16z:$imm)>;
360 def : Pat<(addc GPR:$Rs1, i32hi16:$imm),
361 (ADD_F_I_HI GPR:$Rs1, i32hi16:$imm)>;
363 def : Pat<(subc GPR:$Rs1, i32hi16:$imm),
364 (SUB_F_I_HI GPR:$Rs1, i32hi16:$imm)>;
372 def : Pat<(adde GPR:$Rs1, i32lo16z:$imm),
373 (ADDC_I_LO GPR:$Rs1, i32lo16z:$imm)>;
375 def : Pat<(sube GPR:$Rs1, i32lo16z:$imm),
376 (SUBB_I_LO GPR:$Rs1, i32lo16z:$imm)>;
378 def : Pat<(adde GPR:$Rs1, i32hi16:$imm),
379 (ADDC_I_HI GPR:$Rs1, i32hi16:$imm)>;
381 def : Pat<(sube GPR:$Rs1, i32hi16:$imm),
382 (SUBB_I_HI GPR:$Rs1, i32hi16:$imm)>;
398 def : Pat<(LanaiSubbF GPR:$Rs1, GPR:$Rs2),
399 (SUBB_F_R GPR:$Rs1, GPR:$Rs2)>;
401 def : Pat<(LanaiSubbF GPR:$Rs1, i32lo16z:$imm),
402 (SUBB_F_I_LO GPR:$Rs1, i32lo16z:$imm)>;
404 def : Pat<(LanaiSubbF GPR:$Rs1, i32hi16:$imm),
405 (SUBB_F_I_HI GPR:$Rs1, i32hi16:$imm)>;
407 def : InstAlias<"mov $src, $dst", (ADD_R GPR:$dst, GPR:$src, R0, 0)>;
411 def MOVHI : InstRI<0b000, (outs GPR:$Rd), (ins i32hi16:$imm16),
413 [(set GPR:$Rd, i32hi16:$imm16)]>;
415 def : InstAlias<"mov $imm16, $dst", (ADD_I_LO GPR:$dst, R0, i32lo16z:$imm16)>;
416 def : InstAlias<"mov $imm16, $dst", (ADD_I_HI GPR:$dst, R0, i32hi16:$imm16)>;
418 (AND_I_LO GPR:$dst, R1, i32lo16and:$imm16)>;
420 (AND_I_HI GPR:$dst, R1, i32hi16and:$imm16)>;
424 : InstRI<0b111, (outs GPR:$Rd), (ins GPR:$Rs1, immShift:$imm16),
431 def SL_I : ShiftRI<"sh", [(set GPR:$Rd, (shl GPR:$Rs1, immShift:$imm16))]>;
435 def : Pat<(srl GPR:$Rs1, immShift:$imm), (SL_I GPR:$Rs1, (NEG $imm))>;
436 def : Pat<(sra GPR:$Rs1, immShift:$imm), (SA_I GPR:$Rs1, (NEG $imm))>;
446 : InstRR<0b111, (outs GPR:$Rd), (ins GPR:$Rs1, GPR:$Rs2, pred:$DDDI), AsmStr,
452 [(set GPR:$Rd, (shl GPR:$Rs1, GPR:$Rs2))]>;
473 def : Pat<(srl GPR:$Rs1, GPR:$Rs2),
474 (SRL_R GPR:$Rs1, (SUB_R R0, GPR:$Rs2))>;
475 def : Pat<(sra GPR:$Rs1, GPR:$Rs2),
476 (SRA_R GPR:$Rs1, (SUB_R R0, GPR:$Rs2))>;
483 : InstRRM<0b0, (outs GPR:$Rd), (ins MEMrr:$src),
485 [(set (Ty GPR:$Rd), (OpNode ADDRrr:$src))]>,
499 : InstRM<0b0, (outs GPR:$Rd), (ins MEMri:$src),
501 [(set (Ty GPR:$Rd), (OpNode ADDRri:$src))]>,
523 def : InstAlias<"ld $src, $dst", (LDW_RI GPR:$dst, MEMri:$src)>;
545 def LDADDR : InstSLS<0x0, (outs GPR:$Rd), (ins MEMi:$src),
547 [(set (i32 GPR:$Rd), (load ADDRsls:$src))]>,
559 : InstSPLS<(outs GPR:$Rd), (ins MEMspls:$src),
561 [(set (i32 GPR:$Rd), (opNode ADDRspls:$src))]>,
585 def SLI : InstSLI<(outs GPR:$Rd), (ins i32lo21:$imm),
587 [(set GPR:$Rd, i32lo21:$imm)]> {
601 : InstRRM<0b1, (outs), (ins GPR:$Rd, MEMrr:$dst),
603 [(OpNode (Ty GPR:$Rd), ADDRrr:$dst)]>,
618 : InstRM<0b1, (outs), (ins GPR:$Rd, MEMri:$dst),
620 [(OpNode (Ty GPR:$Rd), ADDRri:$dst)]>,
644 def STADDR : InstSLS<0x1, (outs), (ins GPR:$Rd, MEMi:$dst),
646 [(store (i32 GPR:$Rd), ADDRsls:$dst)]>,
657 : InstSPLS<(outs), (ins GPR:$Rd, MEMspls:$dst),
659 [(opNode (i32 GPR:$Rd), ADDRspls:$dst)]>,
693 def JR : InstRR<0b101, (outs), (ins GPR:$Rs2), "bt\t$Rs2",
694 [(brind GPR:$Rs2)]> {
711 def _RR : InstRR<op2Val, (outs), (ins GPR:$Rs1, GPR:$Rs2),
713 [(LanaiSetFlag (i32 GPR:$Rs1), (i32 GPR:$Rs2))]>;
715 def _RI_LO : InstRI<op2Val, (outs), (ins GPR:$Rs1, i32lo16z:$imm16),
717 [(LanaiSetFlag (i32 GPR:$Rs1), i32lo16z:$imm16)]>;
719 def _RI_HI : InstRI<op2Val, (outs), (ins GPR:$Rs1, i32hi16:$imm16),
721 [(LanaiSetFlag (i32 GPR:$Rs1), i32hi16:$imm16)]>;
731 def CALLR : Pseudo<(outs), (ins GPR:$Rs1), "", [(Call GPR:$Rs1)]>;
765 def ADJDYNALLOC : Pseudo<(outs GPR:$dst), (ins GPR:$src),
767 [(set GPR:$dst, (LanaiAdjDynAlloc GPR:$src))]>;
771 def SCC : InstSCC<(outs GPR:$Rs1), (ins CCOp:$DDDI),
773 [(set (i32 GPR:$Rs1), (LanaiSetCC imm:$DDDI))]>;
781 def SELECT : InstRR<0b111, (outs GPR:$Rd),
782 (ins GPR:$Rs1, GPR:$Rs2, CCOp:$DDDI),
784 [(set (i32 GPR:$Rd),
785 (LanaiSelectCC (i32 GPR:$Rs1), (i32 GPR:$Rs2),
794 def BRIND_CC : InstRR<0b101, (outs), (ins GPR:$Rs1, CCOp:$DDDI),
802 def BRIND_CCA : InstRR<0b101, (outs), (ins GPR:$Rs1, GPR:$Rs2, CCOp:$DDDI),
819 def POPC: InstSpecial<0b001, (outs GPR:$Rd), (ins GPR:$Rs1),
821 [(set GPR:$Rd, (ctpop GPR:$Rs1))]>;
824 def LEADZ: InstSpecial<0b010, (outs GPR:$Rd), (ins GPR:$Rs1),
825 "leadz\t$Rs1, $Rd", [(set GPR:$Rd, (ctlz GPR:$Rs1))]>;
828 def TRAILZ : InstSpecial<0b011, (outs GPR:$Rd), (ins GPR:$Rs1),
830 [(set GPR:$Rd, (cttz GPR:$Rs1))]>;
873 def : Pat<(or GPR:$hi, (LanaiLo tglobaladdr:$lo)),
874 (OR_I_LO GPR:$hi, tglobaladdr:$lo)>;
877 def : Pat<(or GPR:$hi, (LanaiLo texternalsym:$lo)),
878 (OR_I_LO GPR:$hi, texternalsym:$lo)>;
881 def : Pat<(or GPR:$hi, (LanaiLo tblockaddress:$lo)),
882 (OR_I_LO GPR:$hi, tblockaddress:$lo)>;
885 def : Pat<(or GPR:$hi, (LanaiLo tjumptable:$lo)),
886 (OR_I_LO GPR:$hi, tjumptable:$lo)>;
889 def : Pat<(or GPR:$hi, (LanaiLo tconstpool:$lo)),
890 (OR_I_LO GPR:$hi, tconstpool:$lo)>;