Lines Matching refs:ScratchReg
222 Register ScratchReg = MI.getOperand(1).getReg(); in doAtomicBinOpExpansion() local
239 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doAtomicBinOpExpansion()
242 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doAtomicBinOpExpansion()
243 .addReg(ScratchReg) in doAtomicBinOpExpansion()
247 BuildMI(LoopMBB, DL, TII->get(getSCForRMW(Ordering, Width)), ScratchReg) in doAtomicBinOpExpansion()
249 .addReg(ScratchReg); in doAtomicBinOpExpansion()
251 .addReg(ScratchReg) in doAtomicBinOpExpansion()
259 Register MaskReg, Register ScratchReg) { in insertMaskedMerge() argument
260 assert(OldValReg != ScratchReg && "OldValReg and ScratchReg must be unique"); in insertMaskedMerge()
262 assert(ScratchReg != MaskReg && "ScratchReg and MaskReg must be unique"); in insertMaskedMerge()
267 BuildMI(MBB, DL, TII->get(RISCV::XOR), ScratchReg) in insertMaskedMerge()
270 BuildMI(MBB, DL, TII->get(RISCV::AND), ScratchReg) in insertMaskedMerge()
271 .addReg(ScratchReg) in insertMaskedMerge()
275 .addReg(ScratchReg); in insertMaskedMerge()
284 Register ScratchReg = MI.getOperand(1).getReg(); in doMaskedAtomicBinOpExpansion() local
305 BuildMI(LoopMBB, DL, TII->get(RISCV::ADDI), ScratchReg) in doMaskedAtomicBinOpExpansion()
310 BuildMI(LoopMBB, DL, TII->get(RISCV::ADD), ScratchReg) in doMaskedAtomicBinOpExpansion()
315 BuildMI(LoopMBB, DL, TII->get(RISCV::SUB), ScratchReg) in doMaskedAtomicBinOpExpansion()
320 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doMaskedAtomicBinOpExpansion()
323 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doMaskedAtomicBinOpExpansion()
324 .addReg(ScratchReg) in doMaskedAtomicBinOpExpansion()
329 insertMaskedMerge(TII, DL, LoopMBB, ScratchReg, DestReg, ScratchReg, MaskReg, in doMaskedAtomicBinOpExpansion()
330 ScratchReg); in doMaskedAtomicBinOpExpansion()
332 BuildMI(LoopMBB, DL, TII->get(getSCForRMW32(Ordering)), ScratchReg) in doMaskedAtomicBinOpExpansion()
334 .addReg(ScratchReg); in doMaskedAtomicBinOpExpansion()
336 .addReg(ScratchReg) in doMaskedAtomicBinOpExpansion()
536 Register ScratchReg = MI.getOperand(1).getReg(); in expandAtomicCmpXchg() local
556 BuildMI(LoopTailMBB, DL, TII->get(getSCForRMW(Ordering, Width)), ScratchReg) in expandAtomicCmpXchg()
560 .addReg(ScratchReg) in expandAtomicCmpXchg()
571 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::AND), ScratchReg) in expandAtomicCmpXchg()
575 .addReg(ScratchReg) in expandAtomicCmpXchg()
585 insertMaskedMerge(TII, DL, LoopTailMBB, ScratchReg, DestReg, NewValReg, in expandAtomicCmpXchg()
586 MaskReg, ScratchReg); in expandAtomicCmpXchg()
587 BuildMI(LoopTailMBB, DL, TII->get(getSCForRMW(Ordering, Width)), ScratchReg) in expandAtomicCmpXchg()
589 .addReg(ScratchReg); in expandAtomicCmpXchg()
591 .addReg(ScratchReg) in expandAtomicCmpXchg()