Lines Matching full:riscv

16 #include "RISCV.h"
114 case RISCV::PseudoAtomicLoadNand32: in expandMI()
117 case RISCV::PseudoAtomicLoadNand64: in expandMI()
120 case RISCV::PseudoMaskedAtomicSwap32: in expandMI()
123 case RISCV::PseudoMaskedAtomicLoadAdd32: in expandMI()
125 case RISCV::PseudoMaskedAtomicLoadSub32: in expandMI()
127 case RISCV::PseudoMaskedAtomicLoadNand32: in expandMI()
130 case RISCV::PseudoMaskedAtomicLoadMax32: in expandMI()
133 case RISCV::PseudoMaskedAtomicLoadMin32: in expandMI()
136 case RISCV::PseudoMaskedAtomicLoadUMax32: in expandMI()
139 case RISCV::PseudoMaskedAtomicLoadUMin32: in expandMI()
142 case RISCV::PseudoCmpXchg32: in expandMI()
144 case RISCV::PseudoCmpXchg64: in expandMI()
146 case RISCV::PseudoMaskedCmpXchg32: in expandMI()
159 return RISCV::LR_W; in getLRForRMW32()
162 return RISCV::LR_W; in getLRForRMW32()
163 return RISCV::LR_W_AQ; in getLRForRMW32()
165 return RISCV::LR_W; in getLRForRMW32()
168 return RISCV::LR_W; in getLRForRMW32()
169 return RISCV::LR_W_AQ; in getLRForRMW32()
171 return RISCV::LR_W_AQ_RL; in getLRForRMW32()
181 return RISCV::SC_W; in getSCForRMW32()
183 return RISCV::SC_W; in getSCForRMW32()
186 return RISCV::SC_W; in getSCForRMW32()
187 return RISCV::SC_W_RL; in getSCForRMW32()
190 return RISCV::SC_W; in getSCForRMW32()
191 return RISCV::SC_W_RL; in getSCForRMW32()
193 return RISCV::SC_W_RL; in getSCForRMW32()
203 return RISCV::LR_D; in getLRForRMW64()
206 return RISCV::LR_D; in getLRForRMW64()
207 return RISCV::LR_D_AQ; in getLRForRMW64()
209 return RISCV::LR_D; in getLRForRMW64()
212 return RISCV::LR_D; in getLRForRMW64()
213 return RISCV::LR_D_AQ; in getLRForRMW64()
215 return RISCV::LR_D_AQ_RL; in getLRForRMW64()
225 return RISCV::SC_D; in getSCForRMW64()
227 return RISCV::SC_D; in getSCForRMW64()
230 return RISCV::SC_D; in getSCForRMW64()
231 return RISCV::SC_D_RL; in getSCForRMW64()
234 return RISCV::SC_D; in getSCForRMW64()
235 return RISCV::SC_D_RL; in getSCForRMW64()
237 return RISCV::SC_D_RL; in getSCForRMW64()
283 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doAtomicBinOpExpansion()
286 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doAtomicBinOpExpansion()
294 BuildMI(LoopMBB, DL, TII->get(RISCV::BNE)) in doAtomicBinOpExpansion()
296 .addReg(RISCV::X0) in doAtomicBinOpExpansion()
311 BuildMI(MBB, DL, TII->get(RISCV::XOR), ScratchReg) in insertMaskedMerge()
314 BuildMI(MBB, DL, TII->get(RISCV::AND), ScratchReg) in insertMaskedMerge()
317 BuildMI(MBB, DL, TII->get(RISCV::XOR), DestReg) in insertMaskedMerge()
352 BuildMI(LoopMBB, DL, TII->get(RISCV::ADDI), ScratchReg) in doMaskedAtomicBinOpExpansion()
357 BuildMI(LoopMBB, DL, TII->get(RISCV::ADD), ScratchReg) in doMaskedAtomicBinOpExpansion()
362 BuildMI(LoopMBB, DL, TII->get(RISCV::SUB), ScratchReg) in doMaskedAtomicBinOpExpansion()
367 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doMaskedAtomicBinOpExpansion()
370 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doMaskedAtomicBinOpExpansion()
382 BuildMI(LoopMBB, DL, TII->get(RISCV::BNE)) in doMaskedAtomicBinOpExpansion()
384 .addReg(RISCV::X0) in doMaskedAtomicBinOpExpansion()
430 BuildMI(MBB, DL, TII->get(RISCV::SLL), ValReg) in insertSext()
433 BuildMI(MBB, DL, TII->get(RISCV::SRA), ValReg) in insertSext()
489 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::AND), Scratch2Reg) in expandAtomicMinMaxOp()
492 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::ADDI), Scratch1Reg) in expandAtomicMinMaxOp()
501 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::BGE)) in expandAtomicMinMaxOp()
509 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::BGE)) in expandAtomicMinMaxOp()
516 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::BGEU)) in expandAtomicMinMaxOp()
522 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::BGEU)) in expandAtomicMinMaxOp()
542 BuildMI(LoopTailMBB, DL, TII->get(RISCV::BNE)) in expandAtomicMinMaxOp()
544 .addReg(RISCV::X0) in expandAtomicMinMaxOp()
583 if (MBBI == E || MBBI->getOpcode() != RISCV::AND) in tryToFoldBNEOnCmpXchgResult()
597 if (MBBI == E || MBBI->getOpcode() != RISCV::BNE) in tryToFoldBNEOnCmpXchgResult()
670 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::BNE)) in expandAtomicCmpXchg()
681 BuildMI(LoopTailMBB, DL, TII->get(RISCV::BNE)) in expandAtomicCmpXchg()
683 .addReg(RISCV::X0) in expandAtomicCmpXchg()
694 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::AND), ScratchReg) in expandAtomicCmpXchg()
697 BuildMI(LoopHeadMBB, DL, TII->get(RISCV::BNE)) in expandAtomicCmpXchg()
714 BuildMI(LoopTailMBB, DL, TII->get(RISCV::BNE)) in expandAtomicCmpXchg()
716 .addReg(RISCV::X0) in expandAtomicCmpXchg()
733 INITIALIZE_PASS(RISCVExpandAtomicPseudo, "riscv-expand-atomic-pseudo",