Lines Matching defs:TII
33 const LoongArchInstrInfo *TII;
66 TII =
146 static void doAtomicBinOpExpansion(const LoongArchInstrInfo *TII,
163 TII->get(Width == 32 ? LoongArch::LL_W : LoongArch::LL_D), DestReg)
170 BuildMI(LoopMBB, DL, TII->get(LoongArch::OR), ScratchReg)
175 BuildMI(LoopMBB, DL, TII->get(LoongArch::AND), ScratchReg)
178 BuildMI(LoopMBB, DL, TII->get(LoongArch::NOR), ScratchReg)
183 BuildMI(LoopMBB, DL, TII->get(LoongArch::ADD_W), ScratchReg)
188 BuildMI(LoopMBB, DL, TII->get(LoongArch::SUB_W), ScratchReg)
193 BuildMI(LoopMBB, DL, TII->get(LoongArch::AND), ScratchReg)
198 BuildMI(LoopMBB, DL, TII->get(LoongArch::OR), ScratchReg)
203 BuildMI(LoopMBB, DL, TII->get(LoongArch::XOR), ScratchReg)
209 TII->get(Width == 32 ? LoongArch::SC_W : LoongArch::SC_D), ScratchReg)
213 BuildMI(LoopMBB, DL, TII->get(LoongArch::BEQZ))
218 static void insertMaskedMerge(const LoongArchInstrInfo *TII, DebugLoc DL,
227 BuildMI(MBB, DL, TII->get(LoongArch::XOR), ScratchReg)
230 BuildMI(MBB, DL, TII->get(LoongArch::AND), ScratchReg)
233 BuildMI(MBB, DL, TII->get(LoongArch::XOR), DestReg)
239 const LoongArchInstrInfo *TII, MachineInstr &MI, DebugLoc DL,
257 BuildMI(LoopMBB, DL, TII->get(LoongArch::LL_W), DestReg)
264 BuildMI(LoopMBB, DL, TII->get(LoongArch::ADDI_W), ScratchReg)
269 BuildMI(LoopMBB, DL, TII->get(LoongArch::ADD_W), ScratchReg)
274 BuildMI(LoopMBB, DL, TII->get(LoongArch::SUB_W), ScratchReg)
279 BuildMI(LoopMBB, DL, TII->get(LoongArch::AND), ScratchReg)
282 BuildMI(LoopMBB, DL, TII->get(LoongArch::NOR), ScratchReg)
288 insertMaskedMerge(TII, DL, LoopMBB, ScratchReg, DestReg, ScratchReg, MaskReg,
291 BuildMI(LoopMBB, DL, TII->get(LoongArch::SC_W), ScratchReg)
295 BuildMI(LoopMBB, DL, TII->get(LoongArch::BEQZ))
323 doMaskedAtomicBinOpExpansion(TII, MI, DL, &MBB, LoopMBB, DoneMBB, BinOp,
326 doAtomicBinOpExpansion(TII, MI, DL, &MBB, LoopMBB, DoneMBB, BinOp, Width);
338 static void insertSext(const LoongArchInstrInfo *TII, DebugLoc DL,
341 BuildMI(MBB, DL, TII->get(LoongArch::SLL_W), ValReg)
344 BuildMI(MBB, DL, TII->get(LoongArch::SRA_W), ValReg)
393 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::LL_W), DestReg)
396 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::AND), Scratch2Reg)
399 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::OR), Scratch1Reg)
408 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::BGEU))
415 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::BGEU))
421 insertSext(TII, DL, LoopHeadMBB, Scratch2Reg, MI.getOperand(6).getReg());
423 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::BGE))
429 insertSext(TII, DL, LoopHeadMBB, Scratch2Reg, MI.getOperand(6).getReg());
431 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::BGE))
443 insertMaskedMerge(TII, DL, LoopIfBodyMBB, Scratch1Reg, DestReg, IncrReg,
449 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::SC_W), Scratch1Reg)
453 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::BEQZ))
507 TII->get(Width == 32 ? LoongArch::LL_W : LoongArch::LL_D), DestReg)
510 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::BNE))
519 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::OR), ScratchReg)
523 TII->get(Width == 32 ? LoongArch::SC_W : LoongArch::SC_D),
528 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::BEQZ))
531 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::B)).addMBB(DoneMBB);
539 TII->get(Width == 32 ? LoongArch::LL_W : LoongArch::LL_D), DestReg)
542 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::AND), ScratchReg)
545 BuildMI(LoopHeadMBB, DL, TII->get(LoongArch::BNE))
556 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::ANDN), ScratchReg)
559 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::OR), ScratchReg)
563 TII->get(Width == 32 ? LoongArch::SC_W : LoongArch::SC_D),
568 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::BEQZ))
571 BuildMI(LoopTailMBB, DL, TII->get(LoongArch::B)).addMBB(DoneMBB);
591 BuildMI(TailMBB, DL, TII->get(LoongArch::DBAR)).addImm(hint);