Lines Matching full:riscv

15 #include "RISCV.h"
108 case RISCV::PseudoRV32ZdinxSD:
110 case RISCV::PseudoRV32ZdinxLD:
112 case RISCV::PseudoCCMOVGPRNoX0:
113 case RISCV::PseudoCCMOVGPR:
114 case RISCV::PseudoCCADD:
115 case RISCV::PseudoCCSUB:
116 case RISCV::PseudoCCAND:
117 case RISCV::PseudoCCOR:
118 case RISCV::PseudoCCXOR:
119 case RISCV::PseudoCCADDW:
120 case RISCV::PseudoCCSUBW:
121 case RISCV::PseudoCCSLL:
122 case RISCV::PseudoCCSRL:
123 case RISCV::PseudoCCSRA:
124 case RISCV::PseudoCCADDI:
125 case RISCV::PseudoCCSLLI:
126 case RISCV::PseudoCCSRLI:
127 case RISCV::PseudoCCSRAI:
128 case RISCV::PseudoCCANDI:
129 case RISCV::PseudoCCORI:
130 case RISCV::PseudoCCXORI:
131 case RISCV::PseudoCCSLLW:
132 case RISCV::PseudoCCSRLW:
133 case RISCV::PseudoCCSRAW:
134 case RISCV::PseudoCCADDIW:
135 case RISCV::PseudoCCSLLIW:
136 case RISCV::PseudoCCSRLIW:
137 case RISCV::PseudoCCSRAIW:
138 case RISCV::PseudoCCANDN:
139 case RISCV::PseudoCCORN:
140 case RISCV::PseudoCCXNOR:
142 case RISCV::PseudoVSETVLI:
143 case RISCV::PseudoVSETVLIX0:
144 case RISCV::PseudoVSETIVLI:
146 case RISCV::PseudoVMCLR_M_B1:
147 case RISCV::PseudoVMCLR_M_B2:
148 case RISCV::PseudoVMCLR_M_B4:
149 case RISCV::PseudoVMCLR_M_B8:
150 case RISCV::PseudoVMCLR_M_B16:
151 case RISCV::PseudoVMCLR_M_B32:
152 case RISCV::PseudoVMCLR_M_B64:
154 return expandVMSET_VMCLR(MBB, MBBI, RISCV::VMXOR_MM);
155 case RISCV::PseudoVMSET_M_B1:
156 case RISCV::PseudoVMSET_M_B2:
157 case RISCV::PseudoVMSET_M_B4:
158 case RISCV::PseudoVMSET_M_B8:
159 case RISCV::PseudoVMSET_M_B16:
160 case RISCV::PseudoVMSET_M_B32:
161 case RISCV::PseudoVMSET_M_B64:
163 return expandVMSET_VMCLR(MBB, MBBI, RISCV::VMXNOR_MM);
198 if (MI.getOpcode() == RISCV::PseudoCCMOVGPR ||
199 MI.getOpcode() == RISCV::PseudoCCMOVGPRNoX0) {
201 BuildMI(TrueBB, DL, TII->get(RISCV::ADDI), DestReg)
209 case RISCV::PseudoCCADD: NewOpc = RISCV::ADD; break;
210 case RISCV::PseudoCCSUB: NewOpc = RISCV::SUB; break;
211 case RISCV::PseudoCCSLL: NewOpc = RISCV::SLL; break;
212 case RISCV::PseudoCCSRL: NewOpc = RISCV::SRL; break;
213 case RISCV::PseudoCCSRA: NewOpc = RISCV::SRA; break;
214 case RISCV::PseudoCCAND: NewOpc = RISCV::AND; break;
215 case RISCV::PseudoCCOR: NewOpc = RISCV::OR; break;
216 case RISCV::PseudoCCXOR: NewOpc = RISCV::XOR; break;
217 case RISCV::PseudoCCADDI: NewOpc = RISCV::ADDI; break;
218 case RISCV::PseudoCCSLLI: NewOpc = RISCV::SLLI; break;
219 case RISCV::PseudoCCSRLI: NewOpc = RISCV::SRLI; break;
220 case RISCV::PseudoCCSRAI: NewOpc = RISCV::SRAI; break;
221 case RISCV::PseudoCCANDI: NewOpc = RISCV::ANDI; break;
222 case RISCV::PseudoCCORI: NewOpc = RISCV::ORI; break;
223 case RISCV::PseudoCCXORI: NewOpc = RISCV::XORI; break;
224 case RISCV::PseudoCCADDW: NewOpc = RISCV::ADDW; break;
225 case RISCV::PseudoCCSUBW: NewOpc = RISCV::SUBW; break;
226 case RISCV::PseudoCCSLLW: NewOpc = RISCV::SLLW; break;
227 case RISCV::PseudoCCSRLW: NewOpc = RISCV::SRLW; break;
228 case RISCV::PseudoCCSRAW: NewOpc = RISCV::SRAW; break;
229 case RISCV::PseudoCCADDIW: NewOpc = RISCV::ADDIW; break;
230 case RISCV::PseudoCCSLLIW: NewOpc = RISCV::SLLIW; break;
231 case RISCV::PseudoCCSRLIW: NewOpc = RISCV::SRLIW; break;
232 case RISCV::PseudoCCSRAIW: NewOpc = RISCV::SRAIW; break;
233 case RISCV::PseudoCCANDN: NewOpc = RISCV::ANDN; break;
234 case RISCV::PseudoCCORN: NewOpc = RISCV::ORN; break;
235 case RISCV::PseudoCCXNOR: NewOpc = RISCV::XNOR; break;
268 assert((MBBI->getOpcode() == RISCV::PseudoVSETVLI ||
269 MBBI->getOpcode() == RISCV::PseudoVSETVLIX0 ||
270 MBBI->getOpcode() == RISCV::PseudoVSETIVLI) &&
273 if (MBBI->getOpcode() == RISCV::PseudoVSETIVLI)
274 Opcode = RISCV::VSETIVLI;
276 Opcode = RISCV::VSETVLI;
312 TRI->getSubReg(MBBI->getOperand(0).getReg(), RISCV::sub_gpr_even);
314 TRI->getSubReg(MBBI->getOperand(0).getReg(), RISCV::sub_gpr_odd);
322 BuildMI(MBB, MBBI, DL, TII->get(RISCV::SW))
334 BuildMI(MBB, MBBI, DL, TII->get(RISCV::SW))
341 BuildMI(MBB, MBBI, DL, TII->get(RISCV::SW))
359 TRI->getSubReg(MBBI->getOperand(0).getReg(), RISCV::sub_gpr_even);
361 TRI->getSubReg(MBBI->getOperand(0).getReg(), RISCV::sub_gpr_odd);
374 BuildMI(MBB, MBBI, DL, TII->get(RISCV::LW), Lo)
384 BuildMI(MBB, MBBI, DL, TII->get(RISCV::LW), Hi)
391 BuildMI(MBB, MBBI, DL, TII->get(RISCV::LW), Hi)
399 BuildMI(MBB, MBBI, DL, TII->get(RISCV::LW), Lo)
501 case RISCV::PseudoLLA:
503 case RISCV::PseudoLGA:
505 case RISCV::PseudoLA_TLS_IE:
507 case RISCV::PseudoLA_TLS_GD:
509 case RISCV::PseudoLA_TLSDESC:
525 MF->getRegInfo().createVirtualRegister(&RISCV::GPRRegClass);
532 BuildMI(MBB, MBBI, DL, TII->get(RISCV::AUIPC), ScratchReg).add(Symbol);
551 RISCV::ADDI);
557 unsigned SecondOpcode = STI->is64Bit() ? RISCV::LD : RISCV::LW;
565 unsigned SecondOpcode = STI->is64Bit() ? RISCV::LD : RISCV::LW;
574 RISCV::ADDI);
585 unsigned SecondOpcode = STI.is64Bit() ? RISCV::LD : RISCV::LW;
589 MF->getRegInfo().createVirtualRegister(&RISCV::GPRRegClass);
591 MF->getRegInfo().createVirtualRegister(&RISCV::GPRRegClass);
598 BuildMI(MBB, MBBI, DL, TII->get(RISCV::AUIPC), ScratchReg).add(Symbol);
605 BuildMI(MBB, MBBI, DL, TII->get(RISCV::ADDI), RISCV::X10)
609 BuildMI(MBB, MBBI, DL, TII->get(RISCV::PseudoTLSDESCCall), RISCV::X5)
614 BuildMI(MBB, MBBI, DL, TII->get(RISCV::ADD), FinalReg)
615 .addReg(RISCV::X10)
616 .addReg(RISCV::X4);
624 INITIALIZE_PASS(RISCVExpandPseudo, "riscv-expand-pseudo",
627 INITIALIZE_PASS(RISCVPreRAExpandPseudo, "riscv-prera-expand-pseudo",