Lines Matching full:riscv
126 if (MI.getOpcode() == RISCV::PseudoTAIL) {
128 Ra = RISCV::X6;
131 if (STI.hasFeature(RISCV::FeatureStdExtZicfilp))
132 Ra = RISCV::X7;
133 } else if (MI.getOpcode() == RISCV::PseudoCALLReg) {
136 } else if (MI.getOpcode() == RISCV::PseudoCALL) {
138 Ra = RISCV::X1;
139 } else if (MI.getOpcode() == RISCV::PseudoJump) {
150 TmpInst = MCInstBuilder(RISCV::AUIPC).addReg(Ra).addExpr(CallExpr);
154 if (MI.getOpcode() == RISCV::PseudoTAIL ||
155 MI.getOpcode() == RISCV::PseudoJump)
157 TmpInst = MCInstBuilder(RISCV::JALR).addReg(RISCV::X0).addReg(Ra).addImm(0);
160 TmpInst = MCInstBuilder(RISCV::JALR).addReg(Ra).addReg(Ra).addImm(0);
177 0, Expr, MCFixupKind(RISCV::fixup_riscv_tlsdesc_call), MI.getLoc()));
179 MCInstBuilder(RISCV::JALR).addReg(Link).addReg(Dest).addImm(Imm);
193 assert(TPReg.isReg() && TPReg.getReg() == RISCV::X4 &&
206 0, Expr, MCFixupKind(RISCV::fixup_riscv_tprel_add), MI.getLoc()));
209 if (STI.hasFeature(RISCV::FeatureRelax)) {
212 0, Dummy, MCFixupKind(RISCV::fixup_riscv_relax), MI.getLoc()));
216 MCInst TmpInst = MCInstBuilder(RISCV::ADD)
228 case RISCV::PseudoLongBEQ:
229 return RISCV::BNE;
230 case RISCV::PseudoLongBNE:
231 return RISCV::BEQ;
232 case RISCV::PseudoLongBLT:
233 return RISCV::BGE;
234 case RISCV::PseudoLongBGE:
235 return RISCV::BLT;
236 case RISCV::PseudoLongBLTU:
237 return RISCV::BGEU;
238 case RISCV::PseudoLongBGEU:
239 return RISCV::BLTU;
254 Opcode == RISCV::PseudoLongBNE || Opcode == RISCV::PseudoLongBEQ;
257 if (IsEqTest && (STI.hasFeature(RISCV::FeatureStdExtC) ||
258 STI.hasFeature(RISCV::FeatureStdExtZca))) {
259 if (RISCV::X8 <= SrcReg1.id() && SrcReg1.id() <= RISCV::X15 &&
260 SrcReg2.id() == RISCV::X0) {
262 } else if (RISCV::X8 <= SrcReg2.id() && SrcReg2.id() <= RISCV::X15 &&
263 SrcReg1.id() == RISCV::X0) {
272 Opcode == RISCV::PseudoLongBNE ? RISCV::C_BEQZ : RISCV::C_BNEZ;
291 MCInstBuilder(RISCV::JAL).addReg(RISCV::X0).addOperand(SrcSymbol);
300 MCFixupKind(RISCV::fixup_riscv_jal),
319 case RISCV::PseudoCALLReg:
320 case RISCV::PseudoCALL:
321 case RISCV::PseudoTAIL:
322 case RISCV::PseudoJump:
326 case RISCV::PseudoAddTPRel:
330 case RISCV::PseudoLongBEQ:
331 case RISCV::PseudoLongBNE:
332 case RISCV::PseudoLongBLT:
333 case RISCV::PseudoLongBGE:
334 case RISCV::PseudoLongBLTU:
335 case RISCV::PseudoLongBGEU:
339 case RISCV::PseudoTLSDESCCall:
396 bool EnableRelax = STI.hasFeature(RISCV::FeatureRelax);
410 RISCV::Fixups FixupKind = RISCV::fixup_riscv_invalid;
429 FixupKind = RISCV::fixup_riscv_lo12_i;
431 FixupKind = RISCV::fixup_riscv_lo12_s;
437 FixupKind = RISCV::fixup_riscv_hi20;
442 FixupKind = RISCV::fixup_riscv_pcrel_lo12_i;
444 FixupKind = RISCV::fixup_riscv_pcrel_lo12_s;
451 FixupKind = RISCV::fixup_riscv_pcrel_hi20;
455 FixupKind = RISCV::fixup_riscv_got_hi20;
459 FixupKind = RISCV::fixup_riscv_tprel_lo12_i;
461 FixupKind = RISCV::fixup_riscv_tprel_lo12_s;
468 FixupKind = RISCV::fixup_riscv_tprel_hi20;
472 FixupKind = RISCV::fixup_riscv_tls_got_hi20;
475 FixupKind = RISCV::fixup_riscv_tls_gd_hi20;
478 FixupKind = RISCV::fixup_riscv_call;
482 FixupKind = RISCV::fixup_riscv_call_plt;
486 FixupKind = RISCV::fixup_riscv_tlsdesc_hi20;
489 FixupKind = RISCV::fixup_riscv_tlsdesc_load_lo12;
492 FixupKind = RISCV::fixup_riscv_tlsdesc_add_lo12;
495 FixupKind = RISCV::fixup_riscv_tlsdesc_call;
504 FixupKind = RISCV::fixup_riscv_jal;
506 FixupKind = RISCV::fixup_riscv_branch;
508 FixupKind = RISCV::fixup_riscv_rvc_jump;
510 FixupKind = RISCV::fixup_riscv_rvc_branch;
512 FixupKind = RISCV::fixup_riscv_12_i;
516 assert(FixupKind != RISCV::fixup_riscv_invalid && "Unhandled expression!");
528 MCFixup::create(0, Dummy, MCFixupKind(RISCV::fixup_riscv_relax),
545 case RISCV::V0:
547 case RISCV::NoRegister: