Home | History | Annotate | Download | only in mips

Lines Matching defs:Assembler

35 #include "src/mips/assembler-mips.h"
41 #include "src/mips/assembler-mips-inl.h"
195 // See assembler-mips-inl.h for inlined constructors.
263 Assembler::Assembler(Isolate* isolate, void* buffer, int buffer_size)
287 void Assembler::GetCode(CodeDesc* desc) {
303 void Assembler::Align(int m) {
315 void Assembler::CodeTargetAlign() {
322 Register Assembler::GetRtReg(Instr instr) {
329 Register Assembler::GetRsReg(Instr instr) {
336 Register Assembler::GetRdReg(Instr instr) {
343 uint32_t Assembler::GetRt(Instr instr) {
348 uint32_t Assembler::GetRtField(Instr instr) {
353 uint32_t Assembler::GetRs(Instr instr) {
358 uint32_t Assembler::GetRsField(Instr instr) {
363 uint32_t Assembler::GetRd(Instr instr) {
368 uint32_t Assembler::GetRdField(Instr instr) {
373 uint32_t Assembler::GetSa(Instr instr) {
378 uint32_t Assembler::GetSaField(Instr instr) {
383 uint32_t Assembler::GetOpcodeField(Instr instr) {
388 uint32_t Assembler::GetFunction(Instr instr) {
393 uint32_t Assembler::GetFunctionField(Instr instr) {
398 uint32_t Assembler::GetImmediate16(Instr instr) {
403 uint32_t Assembler::GetLabelConst(Instr instr) {
408 bool Assembler::IsPop(Instr instr) {
413 bool Assembler::IsPush(Instr instr) {
418 bool Assembler::IsSwRegFpOffset(Instr instr) {
423 bool Assembler::IsLwRegFpOffset(Instr instr) {
428 bool Assembler::IsSwRegFpNegOffset(Instr instr) {
434 bool Assembler::IsLwRegFpNegOffset(Instr instr) {
460 bool Assembler::IsBranch(Instr instr) {
485 bool Assembler::IsBc(Instr instr) {
492 bool Assembler::IsBzc(Instr instr) {
500 bool Assembler::IsEmittedConstant(Instr instr) {
506 bool Assembler::IsBeq(Instr instr) {
511 bool Assembler::IsBne(Instr instr) {
516 bool Assembler::IsBeqzc(Instr instr) {
522 bool Assembler::IsBnezc(Instr instr) {
528 bool Assembler::IsBeqc(Instr instr) {
536 bool Assembler::IsBnec(Instr instr) {
544 bool Assembler::IsJump(Instr instr) {
556 bool Assembler::IsJ(Instr instr) {
563 bool Assembler::IsJal(Instr instr) {
568 bool Assembler::IsJr(Instr instr) {
578 bool Assembler::IsJalr(Instr instr) {
584 bool Assembler::IsLui(Instr instr) {
591 bool Assembler::IsOri(Instr instr) {
598 bool Assembler::IsNop(Instr instr, unsigned int type) {
599 // See Assembler::nop(type).
622 int32_t Assembler::GetBranchOffset(Instr instr) {
628 bool Assembler::IsLw(Instr instr) {
633 int16_t Assembler::GetLwOffset(Instr instr) {
639 Instr Assembler::SetLwOffset(Instr instr, int16_t offset) {
650 bool Assembler::IsSw(Instr instr) {
655 Instr Assembler::SetSwOffset(Instr instr, int16_t offset) {
661 bool Assembler::IsAddImmediate(Instr instr) {
666 Instr Assembler::SetAddImmediateOffset(Instr instr, int16_t offset) {
672 bool Assembler::IsAndImmediate(Instr instr) {
677 static Assembler::OffsetSize OffsetSizeInBits(Instr instr) {
679 if (Assembler::IsBc(instr)) {
680 return Assembler::OffsetSize::kOffset26;
681 } else if (Assembler::IsBzc(instr)) {
682 return Assembler::OffsetSize::kOffset21;
685 return Assembler::OffsetSize::kOffset16;
702 return pos + Assembler::kBranchPCOffset + imm;
707 int Assembler::target_at(int pos, bool is_internal) {
733 Instr instr_lui = instr_at(pos + 0 * Assembler::kInstrSize);
734 Instr instr_ori = instr_at(pos + 1 * Assembler::kInstrSize);
756 int32_t imm = target_pos - (pos + Assembler::kBranchPCOffset);
768 void Assembler::target_at_put(int32_t pos, int32_t target_pos,
790 Instr instr_lui = instr_at(pos + 0 * Assembler::kInstrSize);
791 Instr instr_ori = instr_at(pos + 1 * Assembler::kInstrSize);
799 instr_at_put(pos + 0 * Assembler::kInstrSize,
801 instr_at_put(pos + 1 * Assembler::kInstrSize,
807 void Assembler::print(Label* L) {
832 void Assembler::bind_to(Label* L, int pos) {
879 void Assembler::bind(Label* L) {
885 void Assembler::next(Label* L, bool is_internal) {
897 bool Assembler::is_near(Label* L) {
903 bool Assembler::is_near(Label* L, OffsetSize bits) {
909 bool Assembler::is_near_branch(Label* L) {
915 int Assembler::BranchOffset(Instr instr) {
946 bool Assembler::MustUseReg(RelocInfo::Mode rmode) {
950 void Assembler::GenInstrRegister(Opcode opcode,
963 void Assembler::GenInstrRegister(Opcode opcode,
976 void Assembler::GenInstrRegister(Opcode opcode,
989 void Assembler::GenInstrRegister(Opcode opcode,
1002 void Assembler::GenInstrRegister(Opcode opcode,
1015 void Assembler::GenInstrRegister(Opcode opcode,
1029 void Assembler::GenInstrImmediate(Opcode opcode, Register rs, Register rt,
1039 void Assembler::GenInstrImmediate(Opcode opcode, Register rs, SecondaryField SF,
1048 void Assembler::GenInstrImmediate(Opcode opcode, Register rs, FPURegister ft,
1058 void Assembler::GenInstrImmediate(Opcode opcode, Register rs, int32_t offset21,
1066 void Assembler::GenInstrImmediate(Opcode opcode, Register rs,
1074 void Assembler::GenInstrImmediate(Opcode opcode, int32_t offset26,
1082 void Assembler::GenInstrJump(Opcode opcode,
1093 int32_t Assembler::get_trampoline_entry(int32_t pos) {
1109 uint32_t Assembler::jump_address(Label* L) {
1131 int32_t Assembler::branch_offset_helper(Label* L, OffsetSize bits) {
1159 void Assembler::label_at_put(Label* L, int at_offset) {
1187 void Assembler::b(int16_t offset) {
1192 void Assembler::bal(int16_t offset) {
1198 void Assembler::bc(int32_t offset) {
1204 void Assembler::balc(int32_t offset) {
1211 void Assembler::beq(Register rs, Register rt, int16_t offset) {
1218 void Assembler::bgez(Register rs, int16_t offset) {
1225 void Assembler::bgezc(Register rt, int16_t offset) {
1232 void Assembler::bgeuc(Register rs, Register rt, int16_t offset) {
1241 void Assembler::bgec(Register rs, Register rt, int16_t offset) {
1250 void Assembler::bgezal(Register rs, int16_t offset) {
1259 void Assembler::bgtz(Register rs, int16_t offset) {
1266 void Assembler::bgtzc(Register rt, int16_t offset) {
1274 void Assembler::blez(Register rs, int16_t offset) {
1281 void Assembler::blezc(Register rt, int16_t offset) {
1289 void Assembler::bltzc(Register rt, int16_t offset) {
1296 void Assembler::bltuc(Register rs, Register rt, int16_t offset) {
1305 void Assembler::bltc(Register rs, Register rt, int16_t offset) {
1314 void Assembler::bltz(Register rs, int16_t offset) {
1321 void Assembler::bltzal(Register rs, int16_t offset) {
1330 void Assembler::bne(Register rs, Register rt, int16_t offset) {
1337 void Assembler::bovc(Register rs, Register rt, int16_t offset) {
1348 void Assembler::bnvc(Register rs, Register rt, int16_t offset) {
1359 void Assembler::blezalc(Register rt, int16_t offset) {
1368 void Assembler::bgezalc(Register rt, int16_t offset) {
1376 void Assembler::bgezall(Register rs, int16_t offset) {
1386 void Assembler::bltzalc(Register rt, int16_t offset) {
1394 void Assembler::bgtzalc(Register rt, int16_t offset) {
1403 void Assembler::beqzalc(Register rt, int16_t offset) {
1412 void Assembler::bnezalc(Register rt, int16_t offset) {
1421 void Assembler::beqc(Register rs, Register rt, int16_t offset) {
1432 void Assembler::beqzc(Register rs, int32_t offset) {
1439 void Assembler::bnec(Register rs, Register rt, int16_t offset) {
1450 void Assembler::bnezc(Register rs, int32_t offset) {
1457 void Assembler::j(int32_t target) {
1471 void Assembler::jr(Register rs) {
1485 void Assembler::jal(int32_t target) {
1500 void Assembler::jalr(Register rs, Register rd) {
1509 void Assembler::jic(Register rt, int16_t offset) {
1515 void Assembler::jialc(Register rt, int16_t offset) {
1526 void Assembler::addu(Register rd, Register rs, Register rt) {
1531 void Assembler::addiu(Register rd, Register rs, int32_t j) {
1536 void Assembler::subu(Register rd, Register rs, Register rt) {
1541 void Assembler::mul(Register rd, Register rs, Register rt) {
1550 void Assembler::mulu(Register rd, Register rs, Register rt) {
1556 void Assembler::muh(Register rd, Register rs, Register rt) {
1562 void Assembler::muhu(Register rd, Register rs, Register rt) {
1568 void Assembler::mod(Register rd, Register rs, Register rt) {
1574 void Assembler::modu(Register rd, Register rs, Register rt) {
1580 void Assembler::mult(Register rs, Register rt) {
1585 void Assembler::multu(Register rs, Register rt) {
1590 void Assembler::div(Register rs, Register rt) {
1595 void Assembler::div(Register rd, Register rs, Register rt) {
1601 void Assembler::divu(Register rs, Register rt) {
1606 void Assembler::divu(Register rd, Register rs, Register rt) {
1614 void Assembler::and_(Register rd, Register rs, Register rt) {
1619 void Assembler::andi(Register rt, Register rs, int32_t j) {
1625 void Assembler::or_(Register rd, Register rs, Register rt) {
1630 void Assembler::ori(Register rt, Register rs, int32_t j) {
1636 void Assembler::xor_(Register rd, Register rs, Register rt) {
1641 void Assembler::xori(Register rt, Register rs, int32_t j) {
1647 void Assembler::nor(Register rd, Register rs, Register rt) {
1653 void Assembler::sll(Register rd,
1666 void Assembler::sllv(Register rd, Register rt, Register rs) {
1671 void Assembler::srl(Register rd, Register rt, uint16_t sa) {
1676 void Assembler::srlv(Register rd, Register rt, Register rs) {
1681 void Assembler::sra(Register rd, Register rt, uint16_t sa) {
1686 void Assembler::srav(Register rd, Register rt, Register rs) {
1691 Assembler::rotr(Register rd, Register rt, uint16_t sa) {
1701 void Assembler::rotrv(Register rd, Register rt, Register rs) {
1711 void Assembler::lsa(Register rd, Register rt, Register rs, uint8_t sa) {
1724 void Assembler::LoadRegPlusOffsetToAt(const MemOperand& src) {
1732 void Assembler::lb(Register rd, const MemOperand& rs) {
1742 void Assembler::lbu(Register rd, const MemOperand& rs) {
1752 void Assembler::lh(Register rd, const MemOperand& rs) {
1762 void Assembler::lhu(Register rd, const MemOperand& rs) {
1772 void Assembler::lw(Register rd, const MemOperand& rs) {
1782 void Assembler::lwl(Register rd, const MemOperand& rs) {
1787 void Assembler::lwr(Register rd, const MemOperand& rs) {
1792 void Assembler::sb(Register rd, const MemOperand& rs) {
1802 void Assembler::sh(Register rd, const MemOperand& rs) {
1812 void Assembler::sw(Register rd, const MemOperand& rs) {
1822 void Assembler::swl(Register rd, const MemOperand& rs) {
1827 void Assembler::swr(Register rd, const MemOperand& rs) {
1832 void Assembler::lui(Register rd, int32_t j) {
1838 void Assembler::aui(Register rt, Register rs, int32_t j) {
1849 void Assembler::addiupc(Register rs, int32_t imm19) {
1857 void Assembler::lwpc(Register rs, int32_t offset19) {
1865 void Assembler::auipc(Register rs, int16_t imm16) {
1873 void Assembler::aluipc(Register rs, int16_t imm16) {
1884 void Assembler::break_(uint32_t code, bool break_as_stop) {
1900 void Assembler::stop(const char* msg, uint32_t code) {
1915 void Assembler::tge(Register rs, Register rt, uint16_t code) {
1923 void Assembler::tgeu(Register rs, Register rt, uint16_t code) {
1931 void Assembler::tlt(Register rs, Register rt, uint16_t code) {
1939 void Assembler::tltu(Register rs, Register rt, uint16_t code) {
1948 void Assembler::teq(Register rs, Register rt, uint16_t code) {
1956 void Assembler::tne(Register rs, Register rt, uint16_t code) {
1966 void Assembler::mfhi(Register rd) {
1971 void Assembler::mflo(Register rd) {
1977 void Assembler::slt(Register rd, Register rs, Register rt) {
1982 void Assembler::sltu(Register rd, Register rs, Register rt) {
1987 void Assembler::slti(Register rt, Register rs, int32_t j) {
1992 void Assembler::sltiu(Register rt, Register rs, int32_t j) {
1998 void Assembler::movz(Register rd, Register rs, Register rt) {
2003 void Assembler::movn(Register rd, Register rs, Register rt) {
2008 void Assembler::movt(Register rd, Register rs, uint16_t cc) {
2015 void Assembler::movf(Register rd, Register rs, uint16_t cc) {
2022 void Assembler::seleqz(Register rd, Register rs, Register rt) {
2029 void Assembler::clz(Register rd, Register rs) {
2039 void Assembler::ins_(Register rt, Register rs, uint16_t pos, uint16_t size) {
2047 void Assembler::ext_(Register rt, Register rs, uint16_t pos, uint16_t size) {
2055 void Assembler::bitswap(Register rd, Register rt) {
2061 void Assembler::pref(int32_t hint, const MemOperand& rs) {
2070 void Assembler::align(Register rd, Register rs, Register rt, uint8_t bp) {
2081 void Assembler::lwc1(FPURegister fd, const MemOperand& src) {
2091 void Assembler::ldc1(FPURegister fd, const MemOperand& src) {
2127 void Assembler::swc1(FPURegister fd, const MemOperand& src) {
2137 void Assembler::sdc1(FPURegister fd, const MemOperand& src) {
2174 void Assembler::mtc1(Register rt, FPURegister fs) {
2179 void Assembler::mthc1(Register rt, FPURegister fs) {
2184 void Assembler::mfc1(Register rt, FPURegister fs) {
2189 void Assembler::mfhc1(Register rt, FPURegister fs) {
2194 void Assembler::ctc1(Register rt, FPUControlRegister fs) {
2199 void Assembler::cfc1(Register rt, FPUControlRegister fs) {
2204 void Assembler::DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) {
2213 void Assembler::movn_s(FPURegister fd, FPURegister fs, Register rt) {
2219 void Assembler::movn_d(FPURegister fd, FPURegister fs, Register rt) {
2225 void Assembler::sel(SecondaryField fmt, FPURegister fd, FPURegister fs,
2234 void Assembler
2239 void Assembler::sel_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2244 void Assembler::seleqz(SecondaryField fmt, FPURegister fd, FPURegister fs,
2252 void Assembler::selnez(Register rd, Register rs, Register rt) {
2258 void Assembler::selnez(SecondaryField fmt, FPURegister fd, FPURegister fs,
2266 void Assembler::seleqz_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2271 void Assembler::seleqz_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2276 void Assembler::selnez_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2281 void Assembler::selnez_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2286 void Assembler::movz_s(FPURegister fd, FPURegister fs, Register rt) {
2292 void Assembler::movz_d(FPURegister fd, FPURegister fs, Register rt) {
2298 void Assembler::movt_s(FPURegister fd, FPURegister fs, uint16_t cc) {
2306 void Assembler::movt_d(FPURegister fd, FPURegister fs, uint16_t cc) {
2314 void Assembler::movf_s(FPURegister fd, FPURegister fs, uint16_t cc) {
2322 void Assembler::movf_d(FPURegister fd, FPURegister fs, uint16_t cc) {
2332 void Assembler::add_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2337 void Assembler::add_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2342 void Assembler::sub_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2347 void Assembler::sub_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2352 void Assembler::mul_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2357 void Assembler::mul_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2362 void Assembler::madd_d(FPURegister fd, FPURegister fr, FPURegister fs,
2369 void Assembler::div_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2374 void Assembler::div_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2379 void Assembler::abs_s(FPURegister fd, FPURegister fs) {
2384 void Assembler::abs_d(FPURegister fd, FPURegister fs) {
2389 void Assembler::mov_d(FPURegister fd, FPURegister fs) {
2394 void Assembler::mov_s(FPURegister fd, FPURegister fs) {
2399 void Assembler::neg_s(FPURegister fd, FPURegister fs) {
2404 void Assembler::neg_d(FPURegister fd, FPURegister fs) {
2409 void Assembler::sqrt_s(FPURegister fd, FPURegister fs) {
2414 void Assembler::sqrt_d(FPURegister fd, FPURegister fs) {
2419 void Assembler::rsqrt_s(FPURegister fd, FPURegister fs) {
2425 void Assembler::rsqrt_d(FPURegister fd, FPURegister fs) {
2431 void Assembler::recip_d(FPURegister fd, FPURegister fs) {
2437 void Assembler::recip_s(FPURegister fd, FPURegister fs) {
2445 void Assembler::cvt_w_s(FPURegister fd, FPURegister fs) {
2450 void Assembler::cvt_w_d(FPURegister fd, FPURegister fs) {
2455 void Assembler::trunc_w_s(FPURegister fd, FPURegister fs) {
2460 void Assembler::trunc_w_d(FPURegister fd, FPURegister fs) {
2465 void Assembler::round_w_s(FPURegister fd, FPURegister fs) {
2470 void Assembler::round_w_d(FPURegister fd, FPURegister fs) {
2475 void Assembler::floor_w_s(FPURegister fd, FPURegister fs) {
2480 void Assembler::floor_w_d(FPURegister fd, FPURegister fs) {
2485 void Assembler::ceil_w_s(FPURegister fd, FPURegister fs) {
2490 void Assembler::ceil_w_d(FPURegister fd, FPURegister fs) {
2495 void Assembler::rint_s(FPURegister fd, FPURegister fs) { rint(S, fd, fs); }
2498 void Assembler::rint(SecondaryField fmt, FPURegister fd, FPURegister fs) {
2505 void Assembler::rint_d(FPURegister fd, FPURegister fs) { rint(D, fd, fs); }
2508 void Assembler::cvt_l_s(FPURegister fd, FPURegister fs) {
2515 void Assembler::cvt_l_d(FPURegister fd, FPURegister fs) {
2522 void Assembler::trunc_l_s(FPURegister fd, FPURegister fs) {
2529 void Assembler::trunc_l_d(FPURegister fd, FPURegister fs) {
2536 void Assembler::round_l_s(FPURegister fd, FPURegister fs) {
2543 void Assembler::round_l_d(FPURegister fd, FPURegister fs) {
2550 void Assembler::floor_l_s(FPURegister fd, FPURegister fs) {
2557 void Assembler::floor_l_d(FPURegister fd, FPURegister fs) {
2564 void Assembler::ceil_l_s(FPURegister fd, FPURegister fs) {
2571 void Assembler::ceil_l_d(FPURegister fd, FPURegister fs) {
2578 void Assembler::class_s(FPURegister fd, FPURegister fs) {
2584 void Assembler::class_d(FPURegister fd, FPURegister fs) {
2590 void Assembler::min(SecondaryField fmt, FPURegister fd, FPURegister fs,
2598 void Assembler::mina(SecondaryField fmt, FPURegister fd, FPURegister fs,
2606 void Assembler::max(SecondaryField fmt, FPURegister fd, FPURegister fs,
2614 void Assembler::maxa(SecondaryField fmt, FPURegister fd, FPURegister fs,
2622 void Assembler::min_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2627 void Assembler::min_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2632 void Assembler::max_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2637 void Assembler::max_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2642 void Assembler::mina_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2647 void Assembler::mina_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2652 void Assembler::maxa_s(FPURegister fd, FPURegister fs, FPURegister ft) {
2657 void Assembler::maxa_d(FPURegister fd, FPURegister fs, FPURegister ft) {
2662 void Assembler::cvt_s_w(FPURegister fd, FPURegister fs) {
2667 void Assembler::cvt_s_l(FPURegister fd, FPURegister fs) {
2674 void Assembler::cvt_s_d(FPURegister fd, FPURegister fs) {
2679 void Assembler::cvt_d_w(FPURegister fd, FPURegister fs) {
2684 void Assembler::cvt_d_l(FPURegister fd, FPURegister fs) {
2691 void Assembler::cvt_d_s(FPURegister fd, FPURegister fs) {
2697 void Assembler::cmp(FPUCondition cond, SecondaryField fmt,
2707 void Assembler::cmp_s(FPUCondition cond, FPURegister fd, FPURegister fs,
2712 void Assembler::cmp_d(FPUCondition cond, FPURegister fd, FPURegister fs,
2718 void Assembler::bc1eqz(int16_t offset, FPURegister ft) {
2725 void Assembler::bc1nez(int16_t offset, FPURegister ft) {
2733 void Assembler::c(FPUCondition cond, SecondaryField fmt,
2744 void Assembler::c_s(FPUCondition cond, FPURegister fs, FPURegister ft,
2750 void Assembler::c_d(FPUCondition cond, FPURegister fs, FPURegister ft,
2756 void Assembler::fcmp(FPURegister src1, const double src2,
2765 void Assembler::bc1f(int16_t offset, uint16_t cc) {
2772 void Assembler::bc1t(int16_t offset, uint16_t cc) {
2779 int Assembler::RelocateInternalReference(RelocInfo::Mode rmode, byte* pc,
2793 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize);
2794 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize);
2807 instr_at_put(pc + 0 * Assembler::kInstrSize,
2809 instr_at_put(pc + 1 * Assembler::kInstrSize,
2820 void Assembler::GrowBuffer() {
2867 void Assembler::db(uint8_t data) {
2873 void Assembler::dd(uint32_t data) {
2879 void Assembler::dq(uint64_t data) {
2885 void Assembler::dd(Label* label) {
2899 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) {
2929 void Assembler::BlockTrampolinePoolFor(int instructions) {
2935 void Assembler::CheckTrampolinePool() {
2999 Address Assembler::target_address_at(Address pc) {
3019 void Assembler::QuietNaN(HeapObject* object) {
3031 void Assembler::set_target_address_at(Isolate* isolate, Address pc,
3053 Assembler::FlushICache(isolate, pc, 2 * sizeof(int32_t));