Lines Matching refs:cond

191             Condition* cond,
194 : masm_(masm), cond_(*cond), can_use_it_(can_use_it) {
199 Condition* cond,
202 : masm_(masm), cond_(*cond), label_(allocator), can_use_it_(can_use_it) {
220 *cond = al;
271 void HandleOutOfBoundsImmediate(Condition cond, Register tmp, uint32_t imm);
390 MemOperand MemOperandComputationHelper(Condition cond,
406 MemOperand MemOperandComputationHelper(Condition cond,
416 return MemOperandComputationHelper(cond,
479 Condition* cond = NULL) {
483 if ((cond != NULL) && NeedBranch(cond)) {
632 void Adr(Condition cond, Register rd, RawLiteral* literal) {
640 bool can_encode = adr_info(cond, Best, rd, literal, &info);
642 CheckEmitPoolForInstruction(info, literal, &cond);
648 ITScope it_scope(this, &cond, guard);
650 ITScope it_scope(allocator_, this, &cond, guard);
652 adr(cond, Best, rd, literal);
659 void Ldr(Condition cond, Register rt, RawLiteral* literal) {
667 bool can_encode = ldr_info(cond, Best, rt, literal, &info);
669 CheckEmitPoolForInstruction(info, literal, &cond);
675 ITScope it_scope(this, &cond, guard);
677 ITScope it_scope(allocator_, this, &cond, guard);
679 ldr(cond, rt, literal);
684 void Ldrb(Condition cond, Register rt, RawLiteral* literal) {
692 bool can_encode = ldrb_info(cond, rt, literal, &info);
694 CheckEmitPoolForInstruction(info, literal, &cond);
700 ITScope it_scope(this, &cond, guard);
702 ITScope it_scope(allocator_, this, &cond, guard);
704 ldrb(cond, rt, literal);
709 void Ldrd(Condition cond, Register rt, Register rt2, RawLiteral* literal) {
718 bool can_encode = ldrd_info(cond, rt, rt2, literal, &info);
720 CheckEmitPoolForInstruction(info, literal, &cond);
726 ITScope it_scope(this, &cond, guard);
728 ITScope it_scope(allocator_, this, &cond, guard);
730 ldrd(cond, rt, rt2, literal);
737 void Ldrh(Condition cond, Register rt, RawLiteral* literal) {
745 bool can_encode = ldrh_info(cond, rt, literal, &info);
747 CheckEmitPoolForInstruction(info, literal, &cond);
753 ITScope it_scope(this, &cond, guard);
755 ITScope it_scope(allocator_, this, &cond, guard);
757 ldrh(cond, rt, literal);
762 void Ldrsb(Condition cond, Register rt, RawLiteral* literal) {
770 bool can_encode = ldrsb_info(cond, rt, literal, &info);
772 CheckEmitPoolForInstruction(info, literal, &cond);
778 ITScope it_scope(this, &cond, guard);
780 ITScope it_scope(allocator_, this, &cond, guard);
782 ldrsb(cond, rt, literal);
787 void Ldrsh(Condition cond, Register rt, RawLiteral* literal) {
795 bool can_encode = ldrsh_info(cond, rt, literal, &info);
797 CheckEmitPoolForInstruction(info, literal, &cond);
803 ITScope it_scope(this, &cond, guard);
805 ITScope it_scope(allocator_, this, &cond, guard);
807 ldrsh(cond, rt, literal);
812 void Vldr(Condition cond, DataType dt, DRegister rd, RawLiteral* literal) {
820 bool can_encode = vldr_info(cond, dt, rd, literal, &info);
822 CheckEmitPoolForInstruction(info, literal, &cond);
828 ITScope it_scope(this, &cond, guard);
830 ITScope it_scope(allocator_, this, &cond, guard);
832 vldr(cond, dt, rd, literal);
838 void Vldr(Condition cond, DRegister rd, RawLiteral* literal) {
839 Vldr(cond, Untyped64, rd, literal);
845 void Vldr(Condition cond, DataType dt, SRegister rd, RawLiteral* literal) {
853 bool can_encode = vldr_info(cond, dt, rd, literal, &info);
855 CheckEmitPoolForInstruction(info, literal, &cond);
861 ITScope it_scope(this, &cond, guard);
863 ITScope it_scope(allocator_, this, &cond, guard);
865 vldr(cond, dt, rd, literal);
871 void Vldr(Condition cond, SRegister rd, RawLiteral* literal) {
872 Vldr(cond, Untyped32, rd, literal);
879 void Ldr(Condition cond, Register rt, uint32_t v) {
890 Ldr(cond, rt, literal);
898 void Ldrd(Condition cond, Register rt, Register rt2, uint64_t v) {
910 Ldrd(cond, rt, rt2, literal);
917 void Vldr(Condition cond, SRegister rd, float v) {
928 Vldr(cond, rd, literal);
932 void Vldr(Condition cond, DRegister rd, double v) {
943 Vldr(cond, rd, literal);
947 void Vmov(Condition cond, DRegister rt, double v) { Vmov(cond, F64, rt, v); }
949 void Vmov(Condition cond, SRegister rt, float v) { Vmov(cond, F32, rt, v); }
1000 Condition cond,
1006 Condition cond,
1014 Condition cond,
1022 Condition cond,
1027 Condition cond,
1034 Condition cond,
1047 Condition cond,
1054 Condition cond,
1061 Condition cond,
1068 Condition cond,
1075 Condition cond,
1080 Condition cond,
1086 Condition cond,
1093 Condition cond,
1100 Condition cond,
1107 Condition cond,
1112 Condition cond,
1118 Condition cond,
1125 void Adc(Condition cond, Register rd, Register rn, const Operand& operand) {
1137 ITScope it_scope(this, &cond, guard, can_use_it);
1139 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1141 adc(cond, rd, rn, operand);
1147 Condition cond,
1153 Adc(cond, rd, rn, operand);
1156 Adcs(cond, rd, rn, operand);
1159 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
1163 Adcs(cond, rd, rn, operand);
1165 Adc(cond, rd, rn, operand);
1177 void Adcs(Condition cond, Register rd, Register rn, const Operand& operand) {
1185 ITScope it_scope(this, &cond, guard);
1187 ITScope it_scope(allocator_, this, &cond, guard);
1189 adcs(cond, rd, rn, operand);
1195 void Add(Condition cond, Register rd, Register rn, const Operand& operand) {
1202 if (cond.Is(al) && rd.Is(rn) && operand.IsImmediate()) {
1229 ITScope it_scope(this, &cond, guard, can_use_it);
1231 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1233 add(cond, rd, rn, operand);
1239 Condition cond,
1245 Add(cond, rd, rn, operand);
1248 Adds(cond, rd, rn, operand);
1252 IsUsingT32() && cond.Is(al) &&
1259 Adds(cond, rd, rn, operand);
1268 Subs(cond, rd, rn, -operand.GetSignedImmediate());
1270 Add(cond, rd, rn, operand);
1283 void Adds(Condition cond, Register rd, Register rn, const Operand& operand) {
1291 ITScope it_scope(this, &cond, guard);
1293 ITScope it_scope(allocator_, this, &cond, guard);
1295 adds(cond, rd, rn, operand);
1301 void And(Condition cond, Register rd, Register rn, const Operand& operand) {
1312 if (cond.Is(al) && operand.IsImmediate()) {
1327 ITScope it_scope(this, &cond, guard, can_use_it);
1329 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1331 and_(cond, rd, rn, operand);
1337 Condition cond,
1343 And(cond, rd, rn, operand);
1346 Ands(cond, rd, rn, operand);
1353 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
1357 Ands(cond, rd, rn, operand);
1359 And(cond, rd, rn, operand);
1371 void Ands(Condition cond, Register rd, Register rn, const Operand& operand) {
1379 ITScope it_scope(this, &cond, guard);
1381 ITScope it_scope(allocator_, this, &cond, guard);
1383 ands(cond, rd, rn, operand);
1389 void Asr(Condition cond, Register rd, Register rm, const Operand& operand) {
1404 ITScope it_scope(this, &cond, guard, can_use_it);
1406 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1408 asr(cond, rd, rm, operand);
1414 Condition cond,
1420 Asr(cond, rd, rm, operand);
1423 Asrs(cond, rd, rm, operand);
1427 IsUsingT32() && cond.Is(al) && rd.IsLow() && rm.IsLow() &&
1432 Asrs(cond, rd, rm, operand);
1434 Asr(cond, rd, rm, operand);
1446 void Asrs(Condition cond, Register rd, Register rm, const Operand& operand) {
1454 ITScope it_scope(this, &cond, guard);
1456 ITScope it_scope(allocator_, this, &cond, guard);
1458 asrs(cond, rd, rm, operand);
1464 void B(Condition cond, Label* label, BranchHint hint = kBranchWithoutHint) {
1473 bool can_encode = b_info(cond, size, label, &info);
1475 CheckEmitPoolForInstruction(info, label, &cond);
1480 b(cond, size, label);
1486 void BPreferNear(Condition cond, Label* label) { B(cond, label, kNear); }
1489 void Bfc(Condition cond, Register rd, uint32_t lsb, uint32_t width) {
1495 ITScope it_scope(this, &cond, guard);
1497 ITScope it_scope(allocator_, this, &cond, guard);
1499 bfc(cond, rd, lsb, width);
1506 Condition cond, Register rd, Register rn, uint32_t lsb, uint32_t width) {
1513 ITScope it_scope(this, &cond, guard);
1515 ITScope it_scope(allocator_, this, &cond, guard);
1517 bfi(cond, rd, rn, lsb, width);
1523 void Bic(Condition cond, Register rd, Register rn, const Operand& operand) {
1530 if (cond.Is(al) && operand.IsImmediate()) {
1545 ITScope it_scope(this, &cond, guard, can_use_it);
1547 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1549 bic(cond, rd, rn, operand);
1555 Condition cond,
1561 Bic(cond, rd, rn, operand);
1564 Bics(cond, rd, rn, operand);
1567 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
1571 Bics(cond, rd, rn, operand);
1573 Bic(cond, rd, rn, operand);
1585 void Bics(Condition cond, Register rd, Register rn, const Operand& operand) {
1593 ITScope it_scope(this, &cond, guard);
1595 ITScope it_scope(allocator_, this, &cond, guard);
1597 bics(cond, rd, rn, operand);
1603 void Bkpt(Condition cond, uint32_t imm) {
1608 ITScope it_scope(this, &cond, guard);
1610 ITScope it_scope(allocator_, this, &cond, guard);
1612 bkpt(cond, imm);
1616 void Bl(Condition cond, Label* label) {
1623 bool can_encode = bl_info(cond, label, &info);
1625 CheckEmitPoolForInstruction(info, label, &cond);
1631 ITScope it_scope(this, &cond, guard);
1633 ITScope it_scope(allocator_, this, &cond, guard);
1635 bl(cond, label);
1640 void Blx(Condition cond, Label* label) {
1647 bool can_encode = blx_info(cond, label, &info);
1649 CheckEmitPoolForInstruction(info, label, &cond);
1655 ITScope it_scope(this, &cond, guard);
1657 ITScope it_scope(allocator_, this, &cond, guard);
1659 blx(cond, label);
1664 void Blx(Condition cond, Register rm) {
1673 ITScope it_scope(this, &cond, guard, can_use_it);
1675 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1677 blx(cond, rm);
1681 void Bx(Condition cond, Register rm) {
1690 ITScope it_scope(this, &cond, guard, can_use_it);
1692 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1694 bx(cond, rm);
1698 void Bxj(Condition cond, Register rm) {
1704 ITScope it_scope(this, &cond, guard);
1706 ITScope it_scope(allocator_, this, &cond, guard);
1708 bxj(cond, rm);
1750 void Clrex(Condition cond) {
1755 ITScope it_scope(this, &cond, guard);
1757 ITScope it_scope(allocator_, this, &cond, guard);
1759 clrex(cond);
1763 void Clz(Condition cond, Register rd, Register rm) {
1770 ITScope it_scope(this, &cond, guard);
1772 ITScope it_scope(allocator_, this, &cond, guard);
1774 clz(cond, rd, rm);
1778 void Cmn(Condition cond, Register rn, const Operand& operand) {
1789 ITScope it_scope(this, &cond, guard, can_use_it);
1791 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1793 cmn(cond, rn, operand);
1797 void Cmp(Condition cond, Register rn, const Operand& operand) {
1811 ITScope it_scope(this, &cond, guard, can_use_it);
1813 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1815 cmp(cond, rn, operand);
1819 void Crc32b(Condition cond, Register rd, Register rn, Register rm) {
1827 ITScope it_scope(this, &cond, guard);
1829 ITScope it_scope(allocator_, this, &cond, guard);
1831 crc32b(cond, rd, rn, rm);
1835 void Crc32cb(Condition cond, Register rd, Register rn, Register rm) {
1843 ITScope it_scope(this, &cond, guard);
1845 ITScope it_scope(allocator_, this, &cond, guard);
1847 crc32cb(cond, rd, rn, rm);
1853 void Crc32ch(Condition cond, Register rd, Register rn, Register rm) {
1861 ITScope it_scope(this, &cond, guard);
1863 ITScope it_scope(allocator_, this, &cond, guard);
1865 crc32ch(cond, rd, rn, rm);
1871 void Crc32cw(Condition cond, Register rd, Register rn, Register rm) {
1879 ITScope it_scope(this, &cond, guard);
1881 ITScope it_scope(allocator_, this, &cond, guard);
1883 crc32cw(cond, rd, rn, rm);
1889 void Crc32h(Condition cond, Register rd, Register rn, Register rm) {
1897 ITScope it_scope(this, &cond, guard);
1899 ITScope it_scope(allocator_, this, &cond, guard);
1901 crc32h(cond, rd, rn, rm);
1905 void Crc32w(Condition cond, Register rd, Register rn, Register rm) {
1913 ITScope it_scope(this, &cond, guard);
1915 ITScope it_scope(allocator_, this, &cond, guard);
1917 crc32w(cond, rd, rn, rm);
1921 void Dmb(Condition cond, MemoryBarrier option) {
1926 ITScope it_scope(this, &cond, guard);
1928 ITScope it_scope(allocator_, this, &cond, guard);
1930 dmb(cond, option);
1934 void Dsb(Condition cond, MemoryBarrier option) {
1939 ITScope it_scope(this, &cond, guard);
1941 ITScope it_scope(allocator_, this, &cond, guard);
1943 dsb(cond, option);
1947 void Eor(Condition cond, Register rd, Register rn, const Operand& operand) {
1954 if (cond.Is(al) && rd.Is(rn) && operand.IsImmediate()) {
1969 ITScope it_scope(this, &cond, guard, can_use_it);
1971 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
1973 eor(cond, rd, rn, operand);
1979 Condition cond,
1985 Eor(cond, rd, rn, operand);
1988 Eors(cond, rd, rn, operand);
1991 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
1995 Eors(cond, rd, rn, operand);
1997 Eor(cond, rd, rn, operand);
2009 void Eors(Condition cond, Register rd, Register rn, const Operand& operand) {
2017 ITScope it_scope(this, &cond, guard);
2019 ITScope it_scope(allocator_, this, &cond, guard);
2021 eors(cond, rd, rn, operand);
2027 void Fldmdbx(Condition cond,
2037 ITScope it_scope(this, &cond, guard);
2039 ITScope it_scope(allocator_, this, &cond, guard);
2041 fldmdbx(cond, rn, write_back, dreglist);
2047 void Fldmiax(Condition cond,
2057 ITScope it_scope(this, &cond, guard);
2059 ITScope it_scope(allocator_, this, &cond, guard);
2061 fldmiax(cond, rn, write_back, dreglist);
2067 void Fstmdbx(Condition cond,
2077 ITScope it_scope(this, &cond, guard);
2079 ITScope it_scope(allocator_, this, &cond, guard);
2081 fstmdbx(cond, rn, write_back, dreglist);
2087 void Fstmiax(Condition cond,
2097 ITScope it_scope(this, &cond, guard);
2099 ITScope it_scope(allocator_, this, &cond, guard);
2101 fstmiax(cond, rn, write_back, dreglist);
2107 void Hlt(Condition cond, uint32_t imm) {
2112 ITScope it_scope(this, &cond, guard);
2114 ITScope it_scope(allocator_, this, &cond, guard);
2116 hlt(cond, imm);
2120 void Hvc(Condition cond, uint32_t imm) {
2125 ITScope it_scope(this, &cond, guard);
2127 ITScope it_scope(allocator_, this, &cond, guard);
2129 hvc(cond, imm);
2133 void Isb(Condition cond, MemoryBarrier option) {
2138 ITScope it_scope(this, &cond, guard);
2140 ITScope it_scope(allocator_, this, &cond, guard);
2142 isb(cond, option);
2146 void Lda(Condition cond, Register rt, const MemOperand& operand) {
2153 ITScope it_scope(this, &cond, guard);
2155 ITScope it_scope(allocator_, this, &cond, guard);
2157 lda(cond, rt, operand);
2161 void Ldab(Condition cond, Register rt, const MemOperand& operand) {
2168 ITScope it_scope(this, &cond, guard);
2170 ITScope it_scope(allocator_, this, &cond, guard);
2172 ldab(cond, rt, operand);
2176 void Ldaex(Condition cond, Register rt, const MemOperand& operand) {
2183 ITScope it_scope(this, &cond, guard);
2185 ITScope it_scope(allocator_, this, &cond, guard);
2187 ldaex(cond, rt, operand);
2191 void Ldaexb(Condition cond, Register rt, const MemOperand& operand) {
2198 ITScope it_scope(this, &cond, guard);
2200 ITScope it_scope(allocator_, this, &cond, guard);
2202 ldaexb(cond, rt, operand);
2208 void Ldaexd(Condition cond,
2219 ITScope it_scope(this, &cond, guard);
2221 ITScope it_scope(allocator_, this, &cond, guard);
2223 ldaexd(cond, rt, rt2, operand);
2229 void Ldaexh(Condition cond, Register rt, const MemOperand& operand) {
2236 ITScope it_scope(this, &cond, guard);
2238 ITScope it_scope(allocator_, this, &cond, guard);
2240 ldaexh(cond, rt, operand);
2246 void Ldah(Condition cond, Register rt, const MemOperand& operand) {
2253 ITScope it_scope(this, &cond, guard);
2255 ITScope it_scope(allocator_, this, &cond, guard);
2257 ldah(cond, rt, operand);
2261 void Ldm(Condition cond,
2271 ITScope it_scope(this, &cond, guard);
2273 ITScope it_scope(allocator_, this, &cond, guard);
2275 ldm(cond, rn, write_back, registers);
2281 void Ldmda(Condition cond,
2291 ITScope it_scope(this, &cond, guard);
2293 ITScope it_scope(allocator_, this, &cond, guard);
2295 ldmda(cond, rn, write_back, registers);
2301 void Ldmdb(Condition cond,
2311 ITScope it_scope(this, &cond, guard);
2313 ITScope it_scope(allocator_, this, &cond, guard);
2315 ldmdb(cond, rn, write_back, registers);
2321 void Ldmea(Condition cond,
2331 ITScope it_scope(this, &cond, guard);
2333 ITScope it_scope(allocator_, this, &cond, guard);
2335 ldmea(cond, rn, write_back, registers);
2341 void Ldmed(Condition cond,
2351 ITScope it_scope(this, &cond, guard);
2353 ITScope it_scope(allocator_, this, &cond, guard);
2355 ldmed(cond, rn, write_back, registers);
2361 void Ldmfa(Condition cond,
2371 ITScope it_scope(this, &cond, guard);
2373 ITScope it_scope(allocator_, this, &cond, guard);
2375 ldmfa(cond, rn, write_back, registers);
2381 void Ldmfd(Condition cond,
2391 ITScope it_scope(this, &cond, guard);
2393 ITScope it_scope(allocator_, this, &cond, guard);
2395 ldmfd(cond, rn, write_back, registers);
2401 void Ldmib(Condition cond,
2411 ITScope it_scope(this, &cond, guard);
2413 ITScope it_scope(allocator_, this, &cond, guard);
2415 ldmib(cond, rn, write_back, registers);
2421 void Ldr(Condition cond, Register rt, const MemOperand& operand) {
2444 ITScope it_scope(this, &cond, guard, can_use_it);
2446 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2448 ldr(cond, rt, operand);
2453 void Ldrb(Condition cond, Register rt, const MemOperand& operand) {
2471 ITScope it_scope(this, &cond, guard, can_use_it);
2473 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2475 ldrb(cond, rt, operand);
2480 void Ldrd(Condition cond,
2491 ITScope it_scope(this, &cond, guard);
2493 ITScope it_scope(allocator_, this, &cond, guard);
2495 ldrd(cond, rt, rt2, operand);
2502 void Ldrex(Condition cond, Register rt, const MemOperand& operand) {
2509 ITScope it_scope(this, &cond, guard);
2511 ITScope it_scope(allocator_, this, &cond, guard);
2513 ldrex(cond, rt, operand);
2517 void Ldrexb(Condition cond, Register rt, const MemOperand& operand) {
2524 ITScope it_scope(this, &cond, guard);
2526 ITScope it_scope(allocator_, this, &cond, guard);
2528 ldrexb(cond, rt, operand);
2534 void Ldrexd(Condition cond,
2545 ITScope it_scope(this, &cond, guard);
2547 ITScope it_scope(allocator_, this, &cond, guard);
2549 ldrexd(cond, rt, rt2, operand);
2555 void Ldrexh(Condition cond, Register rt, const MemOperand& operand) {
2562 ITScope it_scope(this, &cond, guard);
2564 ITScope it_scope(allocator_, this, &cond, guard);
2566 ldrexh(cond, rt, operand);
2572 void Ldrh(Condition cond, Register rt, const MemOperand& operand) {
2590 ITScope it_scope(this, &cond, guard, can_use_it);
2592 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2594 ldrh(cond, rt, operand);
2599 void Ldrsb(Condition cond, Register rt, const MemOperand& operand) {
2612 ITScope it_scope(this, &cond, guard, can_use_it);
2614 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2616 ldrsb(cond, rt, operand);
2621 void Ldrsh(Condition cond, Register rt, const MemOperand& operand) {
2634 ITScope it_scope(this, &cond, guard, can_use_it);
2636 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2638 ldrsh(cond, rt, operand);
2643 void Lsl(Condition cond, Register rd, Register rm, const Operand& operand) {
2658 ITScope it_scope(this, &cond, guard, can_use_it);
2660 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2662 lsl(cond, rd, rm, operand);
2668 Condition cond,
2674 Lsl(cond, rd, rm, operand);
2677 Lsls(cond, rd, rm, operand);
2681 IsUsingT32() && cond.Is(al) && rd.IsLow() && rm.IsLow() &&
2686 Lsls(cond, rd, rm, operand);
2688 Lsl(cond, rd, rm, operand);
2700 void Lsls(Condition cond, Register rd, Register rm, const Operand& operand) {
2708 ITScope it_scope(this, &cond, guard);
2710 ITScope it_scope(allocator_, this, &cond, guard);
2712 lsls(cond, rd, rm, operand);
2718 void Lsr(Condition cond, Register rd, Register rm, const Operand& operand) {
2733 ITScope it_scope(this, &cond, guard, can_use_it);
2735 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2737 lsr(cond, rd, rm, operand);
2743 Condition cond,
2749 Lsr(cond, rd, rm, operand);
2752 Lsrs(cond, rd, rm, operand);
2756 IsUsingT32() && cond.Is(al) && rd.IsLow() && rm.IsLow() &&
2761 Lsrs(cond, rd, rm, operand);
2763 Lsr(cond, rd, rm, operand);
2775 void Lsrs(Condition cond, Register rd, Register rm, const Operand& operand) {
2783 ITScope it_scope(this, &cond, guard);
2785 ITScope it_scope(allocator_, this, &cond, guard);
2787 lsrs(cond, rd, rm, operand);
2793 void Mla(Condition cond, Register rd, Register rn, Register rm, Register ra) {
2802 ITScope it_scope(this, &cond, guard);
2804 ITScope it_scope(allocator_, this, &cond, guard);
2806 mla(cond, rd, rn, rm, ra);
2812 Condition cond,
2819 Mla(cond, rd, rn, rm, ra);
2822 Mlas(cond, rd, rn, rm, ra);
2825 Mla(cond, rd, rn, rm, ra);
2835 Condition cond, Register rd, Register rn, Register rm, Register ra) {
2844 ITScope it_scope(this, &cond, guard);
2846 ITScope it_scope(allocator_, this, &cond, guard);
2848 mlas(cond, rd, rn, rm, ra);
2854 void Mls(Condition cond, Register rd, Register rn, Register rm, Register ra) {
2863 ITScope it_scope(this, &cond, guard);
2865 ITScope it_scope(allocator_, this, &cond, guard);
2867 mls(cond, rd, rn, rm, ra);
2873 void Mov(Condition cond, Register rd, const Operand& operand) {
2904 ITScope it_scope(this, &cond, guard, can_use_it);
2906 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
2908 mov(cond, rd, operand);
2912 Condition cond,
2917 Mov(cond, rd, operand);
2920 Movs(cond, rd, operand);
2927 IsUsingT32() && cond.Is(al) &&
2943 Movs(cond, rd, operand);
2945 Mov(cond, rd, operand);
2954 void Movs(Condition cond, Register rd, const Operand& operand) {
2961 ITScope it_scope(this, &cond, guard);
2963 ITScope it_scope(allocator_, this, &cond, guard);
2965 movs(cond, rd, operand);
2969 void Movt(Condition cond, Register rd, const Operand& operand) {
2976 ITScope it_scope(this, &cond, guard);
2978 ITScope it_scope(allocator_, this, &cond, guard);
2980 movt(cond, rd, operand);
2984 void Mrs(Condition cond, Register rd, SpecialRegister spec_reg) {
2990 ITScope it_scope(this, &cond, guard);
2992 ITScope it_scope(allocator_, this, &cond, guard);
2994 mrs(cond, rd, spec_reg);
2998 void Msr(Condition cond,
3006 ITScope it_scope(this, &cond, guard);
3008 ITScope it_scope(allocator_, this, &cond, guard);
3010 msr(cond, spec_reg, operand);
3016 void Mul(Condition cond, Register rd, Register rn, Register rm) {
3027 ITScope it_scope(this, &cond, guard, can_use_it);
3029 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
3031 mul(cond, rd, rn, rm);
3035 Condition cond,
3041 Mul(cond, rd, rn, rm);
3044 Muls(cond, rd, rn, rm);
3047 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
3050 Muls(cond, rd, rn, rm);
3052 Mul(cond, rd, rn, rm);
3061 void Muls(Condition cond, Register rd, Register rn, Register rm) {
3069 ITScope it_scope(this, &cond, guard);
3071 ITScope it_scope(allocator_, this, &cond, guard);
3073 muls(cond, rd, rn, rm);
3077 void Mvn(Condition cond, Register rd, const Operand& operand) {
3088 ITScope it_scope(this, &cond, guard, can_use_it);
3090 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
3092 mvn(cond, rd, operand);
3096 Condition cond,
3101 Mvn(cond, rd, operand);
3104 Mvns(cond, rd, operand);
3107 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
3111 Mvns(cond, rd, operand);
3113 Mvn(cond, rd, operand);
3122 void Mvns(Condition cond, Register rd, const Operand& operand) {
3129 ITScope it_scope(this, &cond, guard);
3131 ITScope it_scope(allocator_, this, &cond, guard);
3133 mvns(cond, rd, operand);
3137 void Nop(Condition cond) {
3142 ITScope it_scope(this, &cond, guard);
3144 ITScope it_scope(allocator_, this, &cond, guard);
3146 nop(cond);
3150 void Orn(Condition cond, Register rd, Register rn, const Operand& operand) {
3157 if (cond.Is(al) && operand.IsImmediate()) {
3168 ITScope it_scope(this, &cond, guard);
3170 ITScope it_scope(allocator_, this, &cond, guard);
3172 orn(cond, rd, rn, operand);
3178 Condition cond,
3184 Orn(cond, rd, rn, operand);
3187 Orns(cond, rd, rn, operand);
3190 Orn(cond, rd, rn, operand);
3201 void Orns(Condition cond, Register rd, Register rn, const Operand& operand) {
3209 ITScope it_scope(this, &cond, guard);
3211 ITScope it_scope(allocator_, this, &cond, guard);
3213 orns(cond, rd, rn, operand);
3219 void Orr(Condition cond, Register rd, Register rn, const Operand& operand) {
3230 if (cond.Is(al) && operand.IsImmediate()) {
3245 ITScope it_scope(this, &cond, guard, can_use_it);
3247 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
3249 orr(cond, rd, rn, operand);
3255 Condition cond,
3261 Orr(cond, rd, rn, operand);
3264 Orrs(cond, rd, rn, operand);
3271 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
3275 Orrs(cond, rd, rn, operand);
3277 Orr(cond, rd, rn, operand);
3289 void Orrs(Condition cond, Register rd, Register rn, const Operand& operand) {
3297 ITScope it_scope(this, &cond, guard);
3299 ITScope it_scope(allocator_, this, &cond, guard);
3301 orrs(cond, rd, rn, operand);
3307 void Pkhbt(Condition cond, Register rd, Register rn, const Operand& operand) {
3315 ITScope it_scope(this, &cond, guard);
3317 ITScope it_scope(allocator_, this, &cond, guard);
3319 pkhbt(cond, rd, rn, operand);
3325 void Pkhtb(Condition cond, Register rd, Register rn, const Operand& operand) {
3333 ITScope it_scope(this, &cond, guard);
3335 ITScope it_scope(allocator_, this, &cond, guard);
3337 pkhtb(cond, rd, rn, operand);
3344 void Pld(Condition cond, const MemOperand& operand) {
3350 ITScope it_scope(this, &cond, guard);
3352 ITScope it_scope(allocator_, this, &cond, guard);
3354 pld(cond, operand);
3358 void Pldw(Condition cond, const MemOperand& operand) {
3364 ITScope it_scope(this, &cond, guard);
3366 ITScope it_scope(allocator_, this, &cond, guard);
3368 pldw(cond, operand);
3372 void Pli(Condition cond, const MemOperand& operand) {
3378 ITScope it_scope(this, &cond, guard);
3380 ITScope it_scope(allocator_, this, &cond, guard);
3382 pli(cond, operand);
3387 void Pop(Condition cond, RegisterList registers) {
3393 ITScope it_scope(this, &cond, guard);
3395 ITScope it_scope(allocator_, this, &cond, guard);
3399 pop(cond, registers.GetFirstAvailableRegister());
3401 pop(cond, registers);
3406 void Pop(Condition cond, Register rt) {
3412 ITScope it_scope(this, &cond, guard);
3414 ITScope it_scope(allocator_, this, &cond, guard);
3416 pop(cond, rt);
3420 void Push(Condition cond, RegisterList registers) {
3426 ITScope it_scope(this, &cond, guard);
3428 ITScope it_scope(allocator_, this, &cond, guard);
3432 push(cond, registers.GetFirstAvailableRegister());
3434 push(cond, registers);
3439 void Push(Condition cond, Register rt) {
3445 ITScope it_scope(this, &cond, guard);
3447 ITScope it_scope(allocator_, this, &cond, guard);
3451 push(cond, RegisterList(rt));
3453 push(cond, rt);
3458 void Qadd(Condition cond, Register rd, Register rm, Register rn) {
3466 ITScope it_scope(this, &cond, guard);
3468 ITScope it_scope(allocator_, this, &cond, guard);
3470 qadd(cond, rd, rm, rn);
3474 void Qadd16(Condition cond, Register rd, Register rn, Register rm) {
3482 ITScope it_scope(this, &cond, guard);
3484 ITScope it_scope(allocator_, this, &cond, guard);
3486 qadd16(cond, rd, rn, rm);
3490 void Qadd8(Condition cond, Register rd, Register rn, Register rm) {
3498 ITScope it_scope(this, &cond, guard);
3500 ITScope it_scope(allocator_, this, &cond, guard);
3502 qadd8(cond, rd, rn, rm);
3506 void Qasx(Condition cond, Register rd, Register rn, Register rm) {
3514 ITScope it_scope(this, &cond, guard);
3516 ITScope it_scope(allocator_, this, &cond, guard);
3518 qasx(cond, rd, rn, rm);
3522 void Qdadd(Condition cond, Register rd, Register rm, Register rn) {
3530 ITScope it_scope(this, &cond, guard);
3532 ITScope it_scope(allocator_, this, &cond, guard);
3534 qdadd(cond, rd, rm, rn);
3538 void Qdsub(Condition cond, Register rd, Register rm, Register rn) {
3546 ITScope it_scope(this, &cond, guard);
3548 ITScope it_scope(allocator_, this, &cond, guard);
3550 qdsub(cond, rd, rm, rn);
3554 void Qsax(Condition cond, Register rd, Register rn, Register rm) {
3562 ITScope it_scope(this, &cond, guard);
3564 ITScope it_scope(allocator_, this, &cond, guard);
3566 qsax(cond, rd, rn, rm);
3570 void Qsub(Condition cond, Register rd, Register rm, Register rn) {
3578 ITScope it_scope(this, &cond, guard);
3580 ITScope it_scope(allocator_, this, &cond, guard);
3582 qsub(cond, rd, rm, rn);
3586 void Qsub16(Condition cond, Register rd, Register rn, Register rm) {
3594 ITScope it_scope(this, &cond, guard);
3596 ITScope it_scope(allocator_, this, &cond, guard);
3598 qsub16(cond, rd, rn, rm);
3602 void Qsub8(Condition cond, Register rd, Register rn, Register rm) {
3610 ITScope it_scope(this, &cond, guard);
3612 ITScope it_scope(allocator_, this, &cond, guard);
3614 qsub8(cond, rd, rn, rm);
3618 void Rbit(Condition cond, Register rd, Register rm) {
3625 ITScope it_scope(this, &cond, guard);
3627 ITScope it_scope(allocator_, this, &cond, guard);
3629 rbit(cond, rd, rm);
3633 void Rev(Condition cond, Register rd, Register rm) {
3640 ITScope it_scope(this, &cond, guard);
3642 ITScope it_scope(allocator_, this, &cond, guard);
3644 rev(cond, rd, rm);
3648 void Rev16(Condition cond, Register rd, Register rm) {
3655 ITScope it_scope(this, &cond, guard);
3657 ITScope it_scope(allocator_, this, &cond, guard);
3659 rev16(cond, rd, rm);
3663 void Revsh(Condition cond, Register rd, Register rm) {
3670 ITScope it_scope(this, &cond, guard);
3672 ITScope it_scope(allocator_, this, &cond, guard);
3674 revsh(cond, rd, rm);
3678 void Ror(Condition cond, Register rd, Register rm, const Operand& operand) {
3690 ITScope it_scope(this, &cond, guard, can_use_it);
3692 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
3694 ror(cond, rd, rm, operand);
3700 Condition cond,
3706 Ror(cond, rd, rm, operand);
3709 Rors(cond, rd, rm, operand);
3712 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
3716 Rors(cond, rd, rm, operand);
3718 Ror(cond, rd, rm, operand);
3730 void Rors(Condition cond, Register rd, Register rm, const Operand& operand) {
3738 ITScope it_scope(this, &cond, guard);
3740 ITScope it_scope(allocator_, this, &cond, guard);
3742 rors(cond, rd, rm, operand);
3748 void Rrx(Condition cond, Register rd, Register rm) {
3755 ITScope it_scope(this, &cond, guard);
3757 ITScope it_scope(allocator_, this, &cond, guard);
3759 rrx(cond, rd, rm);
3762 void Rrx(FlagsUpdate flags, Condition cond, Register rd, Register rm) {
3765 Rrx(cond, rd, rm);
3768 Rrxs(cond, rd, rm);
3771 Rrx(cond, rd, rm);
3779 void Rrxs(Condition cond, Register rd, Register rm) {
3786 ITScope it_scope(this, &cond, guard);
3788 ITScope it_scope(allocator_, this, &cond, guard);
3790 rrxs(cond, rd, rm);
3794 void Rsb(Condition cond, Register rd, Register rn, const Operand& operand) {
3806 ITScope it_scope(this, &cond, guard, can_use_it);
3808 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
3810 rsb(cond, rd, rn, operand);
3816 Condition cond,
3822 Rsb(cond, rd, rn, operand);
3825 Rsbs(cond, rd, rn, operand);
3828 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
3832 Rsbs(cond, rd, rn, operand);
3834 Rsb(cond, rd, rn, operand);
3846 void Rsbs(Condition cond, Register rd, Register rn, const Operand& operand) {
3854 ITScope it_scope(this, &cond, guard);
3856 ITScope it_scope(allocator_, this, &cond, guard);
3858 rsbs(cond, rd, rn, operand);
3864 void Rsc(Condition cond, Register rd, Register rn, const Operand& operand) {
3872 ITScope it_scope(this, &cond, guard);
3874 ITScope it_scope(allocator_, this, &cond, guard);
3876 rsc(cond, rd, rn, operand);
3882 Condition cond,
3888 Rsc(cond, rd, rn, operand);
3891 Rscs(cond, rd, rn, operand);
3894 Rsc(cond, rd, rn, operand);
3905 void Rscs(Condition cond, Register rd, Register rn, const Operand& operand) {
3913 ITScope it_scope(this, &cond, guard);
3915 ITScope it_scope(allocator_, this, &cond, guard);
3917 rscs(cond, rd, rn, operand);
3923 void Sadd16(Condition cond, Register rd, Register rn, Register rm) {
3931 ITScope it_scope(this, &cond, guard);
3933 ITScope it_scope(allocator_, this, &cond, guard);
3935 sadd16(cond, rd, rn, rm);
3939 void Sadd8(Condition cond, Register rd, Register rn, Register rm) {
3947 ITScope it_scope(this, &cond, guard);
3949 ITScope it_scope(allocator_, this, &cond, guard);
3951 sadd8(cond, rd, rn, rm);
3955 void Sasx(Condition cond, Register rd, Register rn, Register rm) {
3963 ITScope it_scope(this, &cond, guard);
3965 ITScope it_scope(allocator_, this, &cond, guard);
3967 sasx(cond, rd, rn, rm);
3971 void Sbc(Condition cond, Register rd, Register rn, const Operand& operand) {
3983 ITScope it_scope(this, &cond, guard, can_use_it);
3985 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
3987 sbc(cond, rd, rn, operand);
3993 Condition cond,
3999 Sbc(cond, rd, rn, operand);
4002 Sbcs(cond, rd, rn, operand);
4005 bool setflags_is_smaller = IsUsingT32() && cond.Is(al) && rd.IsLow() &&
4009 Sbcs(cond, rd, rn, operand);
4011 Sbc(cond, rd, rn, operand);
4023 void Sbcs(Condition cond, Register rd, Register rn, const Operand& operand) {
4031 ITScope it_scope(this, &cond, guard);
4033 ITScope it_scope(allocator_, this, &cond, guard);
4035 sbcs(cond, rd, rn, operand);
4042 Condition cond, Register rd, Register rn, uint32_t lsb, uint32_t width) {
4049 ITScope it_scope(this, &cond, guard);
4051 ITScope it_scope(allocator_, this, &cond, guard);
4053 sbfx(cond, rd, rn, lsb, width);
4059 void Sdiv(Condition cond, Register rd, Register rn, Register rm) {
4067 ITScope it_scope(this, &cond, guard);
4069 ITScope it_scope(allocator_, this, &cond, guard);
4071 sdiv(cond, rd, rn, rm);
4075 void Sel(Condition cond, Register rd, Register rn, Register rm) {
4083 ITScope it_scope(this, &cond, guard);
4085 ITScope it_scope(allocator_, this, &cond, guard);
4087 sel(cond, rd, rn, rm);
4091 void Shadd16(Condition cond, Register rd, Register rn, Register rm) {
4099 ITScope it_scope(this, &cond, guard);
4101 ITScope it_scope(allocator_, this, &cond, guard);
4103 shadd16(cond, rd, rn, rm);
4109 void Shadd8(Condition cond, Register rd, Register rn, Register rm) {
4117 ITScope it_scope(this, &cond, guard);
4119 ITScope it_scope(allocator_, this, &cond, guard);
4121 shadd8(cond, rd, rn, rm);
4125 void Shasx(Condition cond, Register rd, Register rn, Register rm) {
4133 ITScope it_scope(this, &cond, guard);
4135 ITScope it_scope(allocator_, this, &cond, guard);
4137 shasx(cond, rd, rn, rm);
4141 void Shsax(Condition cond, Register rd, Register rn, Register rm) {
4149 ITScope it_scope(this, &cond, guard);
4151 ITScope it_scope(allocator_, this, &cond, guard);
4153 shsax(cond, rd, rn, rm);
4157 void Shsub16(Condition cond, Register rd, Register rn, Register rm) {
4165 ITScope it_scope(this, &cond, guard);
4167 ITScope it_scope(allocator_, this, &cond, guard);
4169 shsub16(cond, rd, rn, rm);
4175 void Shsub8(Condition cond, Register rd, Register rn, Register rm) {
4183 ITScope it_scope(this, &cond, guard);
4185 ITScope it_scope(allocator_, this, &cond, guard);
4187 shsub8(cond, rd, rn, rm);
4192 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4201 ITScope it_scope(this, &cond, guard);
4203 ITScope it_scope(allocator_, this, &cond, guard);
4205 smlabb(cond, rd, rn, rm, ra);
4212 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4221 ITScope it_scope(this, &cond, guard);
4223 ITScope it_scope(allocator_, this, &cond, guard);
4225 smlabt(cond, rd, rn, rm, ra);
4232 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4241 ITScope it_scope(this, &cond, guard);
4243 ITScope it_scope(allocator_, this, &cond, guard);
4245 smlad(cond, rd, rn, rm, ra);
4252 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4261 ITScope it_scope(this, &cond, guard);
4263 ITScope it_scope(allocator_, this, &cond, guard);
4265 smladx(cond, rd, rn, rm, ra);
4272 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4281 ITScope it_scope(this, &cond, guard);
4283 ITScope it_scope(allocator_, this, &cond, guard);
4285 smlal(cond, rdlo, rdhi, rn, rm);
4292 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4301 ITScope it_scope(this, &cond, guard);
4303 ITScope it_scope(allocator_, this, &cond, guard);
4305 smlalbb(cond, rdlo, rdhi, rn, rm);
4312 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4321 ITScope it_scope(this, &cond, guard);
4323 ITScope it_scope(allocator_, this, &cond, guard);
4325 smlalbt(cond, rdlo, rdhi, rn, rm);
4332 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4341 ITScope it_scope(this, &cond, guard);
4343 ITScope it_scope(allocator_, this, &cond, guard);
4345 smlald(cond, rdlo, rdhi, rn, rm);
4352 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4361 ITScope it_scope(this, &cond, guard);
4363 ITScope it_scope(allocator_, this, &cond, guard);
4365 smlaldx(cond, rdlo, rdhi, rn, rm);
4372 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4381 ITScope it_scope(this, &cond, guard);
4383 ITScope it_scope(allocator_, this, &cond, guard);
4385 smlals(cond, rdlo, rdhi, rn, rm);
4392 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4401 ITScope it_scope(this, &cond, guard);
4403 ITScope it_scope(allocator_, this, &cond, guard);
4405 smlaltb(cond, rdlo, rdhi, rn, rm);
4412 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4421 ITScope it_scope(this, &cond, guard);
4423 ITScope it_scope(allocator_, this, &cond, guard);
4425 smlaltt(cond, rdlo, rdhi, rn, rm);
4432 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4441 ITScope it_scope(this, &cond, guard);
4443 ITScope it_scope(allocator_, this, &cond, guard);
4445 smlatb(cond, rd, rn, rm, ra);
4452 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4461 ITScope it_scope(this, &cond, guard);
4463 ITScope it_scope(allocator_, this, &cond, guard);
4465 smlatt(cond, rd, rn, rm, ra);
4472 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4481 ITScope it_scope(this, &cond, guard);
4483 ITScope it_scope(allocator_, this, &cond, guard);
4485 smlawb(cond, rd, rn, rm, ra);
4492 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4501 ITScope it_scope(this, &cond, guard);
4503 ITScope it_scope(allocator_, this, &cond, guard);
4505 smlawt(cond, rd, rn, rm, ra);
4512 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4521 ITScope it_scope(this, &cond, guard);
4523 ITScope it_scope(allocator_, this, &cond, guard);
4525 smlsd(cond, rd, rn, rm, ra);
4532 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4541 ITScope it_scope(this, &cond, guard);
4543 ITScope it_scope(allocator_, this, &cond, guard);
4545 smlsdx(cond, rd, rn, rm, ra);
4552 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4561 ITScope it_scope(this, &cond, guard);
4563 ITScope it_scope(allocator_, this, &cond, guard);
4565 smlsld(cond, rdlo, rdhi, rn, rm);
4572 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4581 ITScope it_scope(this, &cond, guard);
4583 ITScope it_scope(allocator_, this, &cond, guard);
4585 smlsldx(cond, rdlo, rdhi, rn, rm);
4592 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4601 ITScope it_scope(this, &cond, guard);
4603 ITScope it_scope(allocator_, this, &cond, guard);
4605 smmla(cond, rd, rn, rm, ra);
4612 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4621 ITScope it_scope(this, &cond, guard);
4623 ITScope it_scope(allocator_, this, &cond, guard);
4625 smmlar(cond, rd, rn, rm, ra);
4632 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4641 ITScope it_scope(this, &cond, guard);
4643 ITScope it_scope(allocator_, this, &cond, guard);
4645 smmls(cond, rd, rn, rm, ra);
4652 Condition cond, Register rd, Register rn, Register rm, Register ra) {
4661 ITScope it_scope(this, &cond, guard);
4663 ITScope it_scope(allocator_, this, &cond, guard);
4665 smmlsr(cond, rd, rn, rm, ra);
4671 void Smmul(Condition cond, Register rd, Register rn, Register rm) {
4679 ITScope it_scope(this, &cond, guard);
4681 ITScope it_scope(allocator_, this, &cond, guard);
4683 smmul(cond, rd, rn, rm);
4687 void Smmulr(Condition cond, Register rd, Register rn, Register rm) {
4695 ITScope it_scope(this, &cond, guard);
4697 ITScope it_scope(allocator_, this, &cond, guard);
4699 smmulr(cond, rd, rn, rm);
4703 void Smuad(Condition cond, Register rd, Register rn, Register rm) {
4711 ITScope it_scope(this, &cond, guard);
4713 ITScope it_scope(allocator_, this, &cond, guard);
4715 smuad(cond, rd, rn, rm);
4719 void Smuadx(Condition cond, Register rd, Register rn, Register rm) {
4727 ITScope it_scope(this, &cond, guard);
4729 ITScope it_scope(allocator_, this, &cond, guard);
4731 smuadx(cond, rd, rn, rm);
4735 void Smulbb(Condition cond, Register rd, Register rn, Register rm) {
4743 ITScope it_scope(this, &cond, guard);
4745 ITScope it_scope(allocator_, this, &cond, guard);
4747 smulbb(cond, rd, rn, rm);
4751 void Smulbt(Condition cond, Register rd, Register rn, Register rm) {
4759 ITScope it_scope(this, &cond, guard);
4761 ITScope it_scope(allocator_, this, &cond, guard);
4763 smulbt(cond, rd, rn, rm);
4768 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4777 ITScope it_scope(this, &cond, guard);
4779 ITScope it_scope(allocator_, this, &cond, guard);
4781 smull(cond, rdlo, rdhi, rn, rm);
4787 Condition cond,
4794 Smull(cond, rdlo, rdhi, rn, rm);
4797 Smulls(cond, rdlo, rdhi, rn, rm);
4800 Smull(cond, rdlo, rdhi, rn, rm);
4813 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
4822 ITScope it_scope(this, &cond, guard);
4824 ITScope it_scope(allocator_, this, &cond, guard);
4826 smulls(cond, rdlo, rdhi, rn, rm);
4832 void Smultb(Condition cond, Register rd, Register rn, Register rm) {
4840 ITScope it_scope(this, &cond, guard);
4842 ITScope it_scope(allocator_, this, &cond, guard);
4844 smultb(cond, rd, rn, rm);
4848 void Smultt(Condition cond, Register rd, Register rn, Register rm) {
4856 ITScope it_scope(this, &cond, guard);
4858 ITScope it_scope(allocator_, this, &cond, guard);
4860 smultt(cond, rd, rn, rm);
4864 void Smulwb(Condition cond, Register rd, Register rn, Register rm) {
4872 ITScope it_scope(this, &cond, guard);
4874 ITScope it_scope(allocator_, this, &cond, guard);
4876 smulwb(cond, rd, rn, rm);
4880 void Smulwt(Condition cond, Register rd, Register rn, Register rm) {
4888 ITScope it_scope(this, &cond, guard);
4890 ITScope it_scope(allocator_, this, &cond, guard);
4892 smulwt(cond, rd, rn, rm);
4896 void Smusd(Condition cond, Register rd, Register rn, Register rm) {
4904 ITScope it_scope(this, &cond, guard);
4906 ITScope it_scope(allocator_, this, &cond, guard);
4908 smusd(cond, rd, rn, rm);
4912 void Smusdx(Condition cond, Register rd, Register rn, Register rm) {
4920 ITScope it_scope(this, &cond, guard);
4922 ITScope it_scope(allocator_, this, &cond, guard);
4924 smusdx(cond, rd, rn, rm);
4928 void Ssat(Condition cond, Register rd, uint32_t imm, const Operand& operand) {
4935 ITScope it_scope(this, &cond, guard);
4937 ITScope it_scope(allocator_, this, &cond, guard);
4939 ssat(cond, rd, imm, operand);
4945 void Ssat16(Condition cond, Register rd, uint32_t imm, Register rn) {
4952 ITScope it_scope(this, &cond, guard);
4954 ITScope it_scope(allocator_, this, &cond, guard);
4956 ssat16(cond, rd, imm, rn);
4962 void Ssax(Condition cond, Register rd, Register rn, Register rm) {
4970 ITScope it_scope(this, &cond, guard);
4972 ITScope it_scope(allocator_, this, &cond, guard);
4974 ssax(cond, rd, rn, rm);
4978 void Ssub16(Condition cond, Register rd, Register rn, Register rm) {
4986 ITScope it_scope(this, &cond, guard);
4988 ITScope it_scope(allocator_, this, &cond, guard);
4990 ssub16(cond, rd, rn, rm);
4994 void Ssub8(Condition cond, Register rd, Register rn, Register rm) {
5002 ITScope it_scope(this, &cond, guard);
5004 ITScope it_scope(allocator_, this, &cond, guard);
5006 ssub8(cond, rd, rn, rm);
5010 void Stl(Condition cond, Register rt, const MemOperand& operand) {
5017 ITScope it_scope(this, &cond, guard);
5019 ITScope it_scope(allocator_, this, &cond, guard);
5021 stl(cond, rt, operand);
5025 void Stlb(Condition cond, Register rt, const MemOperand& operand) {
5032 ITScope it_scope(this, &cond, guard);
5034 ITScope it_scope(allocator_, this, &cond, guard);
5036 stlb(cond, rt, operand);
5040 void Stlex(Condition cond,
5051 ITScope it_scope(this, &cond, guard);
5053 ITScope it_scope(allocator_, this, &cond, guard);
5055 stlex(cond, rd, rt, operand);
5061 void Stlexb(Condition cond,
5072 ITScope it_scope(this, &cond, guard);
5074 ITScope it_scope(allocator_, this, &cond, guard);
5076 stlexb(cond, rd, rt, operand);
5082 void Stlexd(Condition cond,
5095 ITScope it_scope(this, &cond, guard);
5097 ITScope it_scope(allocator_, this, &cond, guard);
5099 stlexd(cond, rd, rt, rt2, operand);
5108 void Stlexh(Condition cond,
5119 ITScope it_scope(this, &cond, guard);
5121 ITScope it_scope(allocator_, this, &cond, guard);
5123 stlexh(cond, rd, rt, operand);
5129 void Stlh(Condition cond, Register rt, const MemOperand& operand) {
5136 ITScope it_scope(this, &cond, guard);
5138 ITScope it_scope(allocator_, this, &cond, guard);
5140 stlh(cond, rt, operand);
5144 void Stm(Condition cond,
5154 ITScope it_scope(this, &cond, guard);
5156 ITScope it_scope(allocator_, this, &cond, guard);
5158 stm(cond, rn, write_back, registers);
5164 void Stmda(Condition cond,
5174 ITScope it_scope(this, &cond, guard);
5176 ITScope it_scope(allocator_, this, &cond, guard);
5178 stmda(cond, rn, write_back, registers);
5184 void Stmdb(Condition cond,
5194 ITScope it_scope(this, &cond, guard);
5196 ITScope it_scope(allocator_, this, &cond, guard);
5198 stmdb(cond, rn, write_back, registers);
5204 void Stmea(Condition cond,
5214 ITScope it_scope(this, &cond, guard);
5216 ITScope it_scope(allocator_, this, &cond, guard);
5218 stmea(cond, rn, write_back, registers);
5224 void Stmed(Condition cond,
5234 ITScope it_scope(this, &cond, guard);
5236 ITScope it_scope(allocator_, this, &cond, guard);
5238 stmed(cond, rn, write_back, registers);
5244 void Stmfa(Condition cond,
5254 ITScope it_scope(this, &cond, guard);
5256 ITScope it_scope(allocator_, this, &cond, guard);
5258 stmfa(cond, rn, write_back, registers);
5264 void Stmfd(Condition cond,
5274 ITScope it_scope(this, &cond, guard);
5276 ITScope it_scope(allocator_, this, &cond, guard);
5278 stmfd(cond, rn, write_back, registers);
5284 void Stmib(Condition cond,
5294 ITScope it_scope(this, &cond, guard);
5296 ITScope it_scope(allocator_, this, &cond, guard);
5298 stmib(cond, rn, write_back, registers);
5304 void Str(Condition cond, Register rt, const MemOperand& operand) {
5327 ITScope it_scope(this, &cond, guard, can_use_it);
5329 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
5331 str(cond, rt, operand);
5335 void Strb(Condition cond, Register rt, const MemOperand& operand) {
5353 ITScope it_scope(this, &cond, guard, can_use_it);
5355 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
5357 strb(cond, rt, operand);
5361 void Strd(Condition cond,
5372 ITScope it_scope(this, &cond, guard);
5374 ITScope it_scope(allocator_, this, &cond, guard);
5376 strd(cond, rt, rt2, operand);
5382 void Strex(Condition cond,
5393 ITScope it_scope(this, &cond, guard);
5395 ITScope it_scope(allocator_, this, &cond, guard);
5397 strex(cond, rd, rt, operand);
5403 void Strexb(Condition cond,
5414 ITScope it_scope(this, &cond, guard);
5416 ITScope it_scope(allocator_, this, &cond, guard);
5418 strexb(cond, rd, rt, operand);
5424 void Strexd(Condition cond,
5437 ITScope it_scope(this, &cond, guard);
5439 ITScope it_scope(allocator_, this, &cond, guard);
5441 strexd(cond, rd, rt, rt2, operand);
5450 void Strexh(Condition cond,
5461 ITScope it_scope(this, &cond, guard);
5463 ITScope it_scope(allocator_, this, &cond, guard);
5465 strexh(cond, rd, rt, operand);
5471 void Strh(Condition cond, Register rt, const MemOperand& operand) {
5489 ITScope it_scope(this, &cond, guard, can_use_it);
5491 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
5493 strh(cond, rt, operand);
5497 void Sub(Condition cond, Register rd, Register rn, const Operand& operand) {
5504 if (cond.Is(al) && rd.Is(rn) && operand.IsImmediate()) {
5521 ITScope it_scope(this, &cond, guard, can_use_it);
5523 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
5525 sub(cond, rd, rn, operand);
5531 Condition cond,
5537 Sub(cond, rd, rn, operand);
5540 Subs(cond, rd, rn, operand);
5544 IsUsingT32() && cond.Is(al) &&
5551 Subs(cond, rd, rn, operand);
5560 Adds(cond, rd, rn, -operand.GetSignedImmediate());
5562 Sub(cond, rd, rn, operand);
5575 void Subs(Condition cond, Register rd, Register rn, const Operand& operand) {
5583 ITScope it_scope(this, &cond, guard);
5585 ITScope it_scope(allocator_, this, &cond, guard);
5587 subs(cond, rd, rn, operand);
5593 void Svc(Condition cond, uint32_t imm) {
5598 ITScope it_scope(this, &cond, guard);
5600 ITScope it_scope(allocator_, this, &cond, guard);
5602 svc(cond, imm);
5606 void Sxtab(Condition cond, Register rd, Register rn, const Operand& operand) {
5614 ITScope it_scope(this, &cond, guard);
5616 ITScope it_scope(allocator_, this, &cond, guard);
5618 sxtab(cond, rd, rn, operand);
5624 void Sxtab16(Condition cond,
5635 ITScope it_scope(this, &cond, guard);
5637 ITScope it_scope(allocator_, this, &cond, guard);
5639 sxtab16(cond, rd, rn, operand);
5645 void Sxtah(Condition cond, Register rd, Register rn, const Operand& operand) {
5653 ITScope it_scope(this, &cond, guard);
5655 ITScope it_scope(allocator_, this, &cond, guard);
5657 sxtah(cond, rd, rn, operand);
5663 void Sxtb(Condition cond, Register rd, const Operand& operand) {
5670 ITScope it_scope(this, &cond, guard);
5672 ITScope it_scope(allocator_, this, &cond, guard);
5674 sxtb(cond, rd, operand);
5678 void Sxtb16(Condition cond, Register rd, const Operand& operand) {
5685 ITScope it_scope(this, &cond, guard);
5687 ITScope it_scope(allocator_, this, &cond, guard);
5689 sxtb16(cond, rd, operand);
5693 void Sxth(Condition cond, Register rd, const Operand& operand) {
5700 ITScope it_scope(this, &cond, guard);
5702 ITScope it_scope(allocator_, this, &cond, guard);
5704 sxth(cond, rd, operand);
5708 void Teq(Condition cond, Register rn, const Operand& operand) {
5715 ITScope it_scope(this, &cond, guard);
5717 ITScope it_scope(allocator_, this, &cond, guard);
5719 teq(cond, rn, operand);
5723 void Tst(Condition cond, Register rn, const Operand& operand) {
5734 ITScope it_scope(this, &cond, guard, can_use_it);
5736 ITScope it_scope(allocator_, this, &cond, guard, can_use_it);
5738 tst(cond, rn, operand);
5742 void Uadd16(Condition cond, Register rd, Register rn, Register rm) {
5750 ITScope it_scope(this, &cond, guard);
5752 ITScope it_scope(allocator_, this, &cond, guard);
5754 uadd16(cond, rd, rn, rm);
5758 void Uadd8(Condition cond, Register rd, Register rn, Register rm) {
5766 ITScope it_scope(this, &cond, guard);
5768 ITScope it_scope(allocator_, this, &cond, guard);
5770 uadd8(cond, rd, rn, rm);
5774 void Uasx(Condition cond, Register rd, Register rn, Register rm) {
5782 ITScope it_scope(this, &cond, guard);
5784 ITScope it_scope(allocator_, this, &cond, guard);
5786 uasx(cond, rd, rn, rm);
5791 Condition cond, Register rd, Register rn, uint32_t lsb, uint32_t width) {
5798 ITScope it_scope(this, &cond, guard);
5800 ITScope it_scope(allocator_, this, &cond, guard);
5802 ubfx(cond, rd, rn, lsb, width);
5808 void Udf(Condition cond, uint32_t imm) {
5813 ITScope it_scope(this, &cond, guard);
5815 ITScope it_scope(allocator_, this, &cond, guard);
5817 udf(cond, imm);
5821 void Udiv(Condition cond, Register rd, Register rn, Register rm) {
5829 ITScope it_scope(this, &cond, guard);
5831 ITScope it_scope(allocator_, this, &cond, guard);
5833 udiv(cond, rd, rn, rm);
5837 void Uhadd16(Condition cond, Register rd, Register rn, Register rm) {
5845 ITScope it_scope(this, &cond, guard);
5847 ITScope it_scope(allocator_, this, &cond, guard);
5849 uhadd16(cond, rd, rn, rm);
5855 void Uhadd8(Condition cond, Register rd, Register rn, Register rm) {
5863 ITScope it_scope(this, &cond, guard);
5865 ITScope it_scope(allocator_, this, &cond, guard);
5867 uhadd8(cond, rd, rn, rm);
5871 void Uhasx(Condition cond, Register rd, Register rn, Register rm) {
5879 ITScope it_scope(this, &cond, guard);
5881 ITScope it_scope(allocator_, this, &cond, guard);
5883 uhasx(cond, rd, rn, rm);
5887 void Uhsax(Condition cond, Register rd, Register rn, Register rm) {
5895 ITScope it_scope(this, &cond, guard);
5897 ITScope it_scope(allocator_, this, &cond, guard);
5899 uhsax(cond, rd, rn, rm);
5903 void Uhsub16(Condition cond, Register rd, Register rn, Register rm) {
5911 ITScope it_scope(this, &cond, guard);
5913 ITScope it_scope(allocator_, this, &cond, guard);
5915 uhsub16(cond, rd, rn, rm);
5921 void Uhsub8(Condition cond, Register rd, Register rn, Register rm) {
5929 ITScope it_scope(this, &cond, guard);
5931 ITScope it_scope(allocator_, this, &cond, guard);
5933 uhsub8(cond, rd, rn, rm);
5938 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
5947 ITScope it_scope(this, &cond, guard);
5949 ITScope it_scope(allocator_, this, &cond, guard);
5951 umaal(cond, rdlo, rdhi, rn, rm);
5958 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
5967 ITScope it_scope(this, &cond, guard);
5969 ITScope it_scope(allocator_, this, &cond, guard);
5971 umlal(cond, rdlo, rdhi, rn, rm);
5977 Condition cond,
5984 Umlal(cond, rdlo, rdhi, rn, rm);
5987 Umlals(cond, rdlo, rdhi, rn, rm);
5990 Umlal(cond, rdlo, rdhi, rn, rm);
6003 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
6012 ITScope it_scope(this, &cond, guard);
6014 ITScope it_scope(allocator_, this, &cond, guard);
6016 umlals(cond, rdlo, rdhi, rn, rm);
6023 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
6032 ITScope it_scope(this, &cond, guard);
6034 ITScope it_scope(allocator_, this, &cond, guard);
6036 umull(cond, rdlo, rdhi, rn, rm);
6042 Condition cond,
6049 Umull(cond, rdlo, rdhi, rn, rm);
6052 Umulls(cond, rdlo, rdhi, rn, rm);
6055 Umull(cond, rdlo, rdhi, rn, rm);
6068 Condition cond, Register rdlo, Register rdhi, Register rn, Register rm) {
6077 ITScope it_scope(this, &cond, guard);
6079 ITScope it_scope(allocator_, this, &cond, guard);
6081 umulls(cond, rdlo, rdhi, rn, rm);
6087 void Uqadd16(Condition cond, Register rd, Register rn, Register rm) {
6095 ITScope it_scope(this, &cond, guard);
6097 ITScope it_scope(allocator_, this, &cond, guard);
6099 uqadd16(cond, rd, rn, rm);
6105 void Uqadd8(Condition cond, Register rd, Register rn, Register rm) {
6113 ITScope it_scope(this, &cond, guard);
6115 ITScope it_scope(allocator_, this, &cond, guard);
6117 uqadd8(cond, rd, rn, rm);
6121 void Uqasx(Condition cond, Register rd, Register rn, Register rm) {
6129 ITScope it_scope(this, &cond, guard);
6131 ITScope it_scope(allocator_, this, &cond, guard);
6133 uqasx(cond, rd, rn, rm);
6137 void Uqsax(Condition cond, Register rd, Register rn, Register rm) {
6145 ITScope it_scope(this, &cond, guard);
6147 ITScope it_scope(allocator_, this, &cond, guard);
6149 uqsax(cond, rd, rn, rm);
6153 void Uqsub16(Condition cond, Register rd, Register rn, Register rm) {
6161 ITScope it_scope(this, &cond, guard);
6163 ITScope it_scope(allocator_, this, &cond, guard);
6165 uqsub16(cond, rd, rn, rm);
6171 void Uqsub8(Condition cond, Register rd, Register rn, Register rm) {
6179 ITScope it_scope(this, &cond, guard);
6181 ITScope it_scope(allocator_, this, &cond, guard);
6183 uqsub8(cond, rd, rn, rm);
6187 void Usad8(Condition cond, Register rd, Register rn, Register rm) {
6195 ITScope it_scope(this, &cond, guard);
6197 ITScope it_scope(allocator_, this, &cond, guard);
6199 usad8(cond, rd, rn, rm);
6204 Condition cond, Register rd, Register rn, Register rm, Register ra) {
6213 ITScope it_scope(this, &cond, guard);
6215 ITScope it_scope(allocator_, this, &cond, guard);
6217 usada8(cond, rd, rn, rm, ra);
6223 void Usat(Condition cond, Register rd, uint32_t imm, const Operand& operand) {
6230 ITScope it_scope(this, &cond, guard);
6232 ITScope it_scope(allocator_, this, &cond, guard);
6234 usat(cond, rd, imm, operand);
6240 void Usat16(Condition cond, Register rd, uint32_t imm, Register rn) {
6247 ITScope it_scope(this, &cond, guard);
6249 ITScope it_scope(allocator_, this, &cond, guard);
6251 usat16(cond, rd, imm, rn);
6257 void Usax(Condition cond, Register rd, Register rn, Register rm) {
6265 ITScope it_scope(this, &cond, guard);
6267 ITScope it_scope(allocator_, this, &cond, guard);
6269 usax(cond, rd, rn, rm);
6273 void Usub16(Condition cond, Register rd, Register rn, Register rm) {
6281 ITScope it_scope(this, &cond, guard);
6283 ITScope it_scope(allocator_, this, &cond, guard);
6285 usub16(cond, rd, rn, rm);
6289 void Usub8(Condition cond, Register rd, Register rn, Register rm) {
6297 ITScope it_scope(this, &cond, guard);
6299 ITScope it_scope(allocator_, this, &cond, guard);
6301 usub8(cond, rd, rn, rm);
6305 void Uxtab(Condition cond, Register rd, Register rn, const Operand& operand) {
6313 ITScope it_scope(this, &cond, guard);
6315 ITScope it_scope(allocator_, this, &cond, guard);
6317 uxtab(cond, rd, rn, operand);
6323 void Uxtab16(Condition cond,
6334 ITScope it_scope(this, &cond, guard);
6336 ITScope it_scope(allocator_, this, &cond, guard);
6338 uxtab16(cond, rd, rn, operand);
6344 void Uxtah(Condition cond, Register rd, Register rn, const Operand& operand) {
6352 ITScope it_scope(this, &cond, guard);
6354 ITScope it_scope(allocator_, this, &cond, guard);
6356 uxtah(cond, rd, rn, operand);
6362 void Uxtb(Condition cond, Register rd, const Operand& operand) {
6369 ITScope it_scope(this, &cond, guard);
6371 ITScope it_scope(allocator_, this, &cond, guard);
6373 uxtb(cond, rd, operand);
6377 void Uxtb16(Condition cond, Register rd, const Operand& operand) {
6384 ITScope it_scope(this, &cond, guard);
6386 ITScope it_scope(allocator_, this, &cond, guard);
6388 uxtb16(cond, rd, operand);
6392 void Uxth(Condition cond, Register rd, const Operand& operand) {
6399 ITScope it_scope(this, &cond, guard);
6401 ITScope it_scope(allocator_, this, &cond, guard);
6403 uxth(cond, rd, operand);
6408 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6416 ITScope it_scope(this, &cond, guard);
6418 ITScope it_scope(allocator_, this, &cond, guard);
6420 vaba(cond, dt, rd, rn, rm);
6427 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6435 ITScope it_scope(this, &cond, guard);
6437 ITScope it_scope(allocator_, this, &cond, guard);
6439 vaba(cond, dt, rd, rn, rm);
6446 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
6454 ITScope it_scope(this, &cond, guard);
6456 ITScope it_scope(allocator_, this, &cond, guard);
6458 vabal(cond, dt, rd, rn, rm);
6465 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6473 ITScope it_scope(this, &cond, guard);
6475 ITScope it_scope(allocator_, this, &cond, guard);
6477 vabd(cond, dt, rd, rn, rm);
6484 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6492 ITScope it_scope(this, &cond, guard);
6494 ITScope it_scope(allocator_, this, &cond, guard);
6496 vabd(cond, dt, rd, rn, rm);
6503 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
6511 ITScope it_scope(this, &cond, guard);
6513 ITScope it_scope(allocator_, this, &cond, guard);
6515 vabdl(cond, dt, rd, rn, rm);
6521 void Vabs(Condition cond, DataType dt, DRegister rd, DRegister rm) {
6528 ITScope it_scope(this, &cond, guard);
6530 ITScope it_scope(allocator_, this, &cond, guard);
6532 vabs(cond, dt, rd, rm);
6536 void Vabs(Condition cond, DataType dt, QRegister rd, QRegister rm) {
6543 ITScope it_scope(this, &cond, guard);
6545 ITScope it_scope(allocator_, this, &cond, guard);
6547 vabs(cond, dt, rd, rm);
6551 void Vabs(Condition cond, DataType dt, SRegister rd, SRegister rm) {
6558 ITScope it_scope(this, &cond, guard);
6560 ITScope it_scope(allocator_, this, &cond, guard);
6562 vabs(cond, dt, rd, rm);
6567 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6575 ITScope it_scope(this, &cond, guard);
6577 ITScope it_scope(allocator_, this, &cond, guard);
6579 vacge(cond, dt, rd, rn, rm);
6586 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6594 ITScope it_scope(this, &cond, guard);
6596 ITScope it_scope(allocator_, this, &cond, guard);
6598 vacge(cond, dt, rd, rn, rm);
6605 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6613 ITScope it_scope(this, &cond, guard);
6615 ITScope it_scope(allocator_, this, &cond, guard);
6617 vacgt(cond, dt, rd, rn, rm);
6624 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6632 ITScope it_scope(this, &cond, guard);
6634 ITScope it_scope(allocator_, this, &cond, guard);
6636 vacgt(cond, dt, rd, rn, rm);
6643 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6651 ITScope it_scope(this, &cond, guard);
6653 ITScope it_scope(allocator_, this, &cond, guard);
6655 vacle(cond, dt, rd, rn, rm);
6662 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6670 ITScope it_scope(this, &cond, guard);
6672 ITScope it_scope(allocator_, this, &cond, guard);
6674 vacle(cond, dt, rd, rn, rm);
6681 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6689 ITScope it_scope(this, &cond, guard);
6691 ITScope it_scope(allocator_, this, &cond, guard);
6693 vaclt(cond, dt, rd, rn, rm);
6700 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6708 ITScope it_scope(this, &cond, guard);
6710 ITScope it_scope(allocator_, this, &cond, guard);
6712 vaclt(cond, dt, rd, rn, rm);
6719 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6727 ITScope it_scope(this, &cond, guard);
6729 ITScope it_scope(allocator_, this, &cond, guard);
6731 vadd(cond, dt, rd, rn, rm);
6738 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6746 ITScope it_scope(this, &cond, guard);
6748 ITScope it_scope(allocator_, this, &cond, guard);
6750 vadd(cond, dt, rd, rn, rm);
6757 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
6765 ITScope it_scope(this, &cond, guard);
6767 ITScope it_scope(allocator_, this, &cond, guard);
6769 vadd(cond, dt, rd, rn, rm);
6776 Condition cond, DataType dt, DRegister rd, QRegister rn, QRegister rm) {
6784 ITScope it_scope(this, &cond, guard);
6786 ITScope it_scope(allocator_, this, &cond, guard);
6788 vaddhn(cond, dt, rd, rn, rm);
6795 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
6803 ITScope it_scope(this, &cond, guard);
6805 ITScope it_scope(allocator_, this, &cond, guard);
6807 vaddl(cond, dt, rd, rn, rm);
6814 Condition cond, DataType dt, QRegister rd, QRegister rn, DRegister rm) {
6822 ITScope it_scope(this, &cond, guard);
6824 ITScope it_scope(allocator_, this, &cond, guard);
6826 vaddw(cond, dt, rd, rn, rm);
6832 void Vand(Condition cond,
6844 ITScope it_scope(this, &cond, guard);
6846 ITScope it_scope(allocator_, this, &cond, guard);
6848 vand(cond, dt, rd, rn, operand);
6854 void Vand(Condition cond,
6866 ITScope it_scope(this, &cond, guard);
6868 ITScope it_scope(allocator_, this, &cond, guard);
6870 vand(cond, dt, rd, rn, operand);
6876 void Vbic(Condition cond,
6888 ITScope it_scope(this, &cond, guard);
6890 ITScope it_scope(allocator_, this, &cond, guard);
6892 vbic(cond, dt, rd, rn, operand);
6898 void Vbic(Condition cond,
6910 ITScope it_scope(this, &cond, guard);
6912 ITScope it_scope(allocator_, this, &cond, guard);
6914 vbic(cond, dt, rd, rn, operand);
6921 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6929 ITScope it_scope(this, &cond, guard);
6931 ITScope it_scope(allocator_, this, &cond, guard);
6933 vbif(cond, dt, rd, rn, rm);
6938 void Vbif(Condition cond, DRegister rd, DRegister rn, DRegister rm) {
6939 Vbif(cond, kDataTypeValueNone, rd, rn, rm);
6946 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
6954 ITScope it_scope(this, &cond, guard);
6956 ITScope it_scope(allocator_, this, &cond, guard);
6958 vbif(cond, dt, rd, rn, rm);
6963 void Vbif(Condition cond, QRegister rd, QRegister rn, QRegister rm) {
6964 Vbif(cond, kDataTypeValueNone, rd, rn, rm);
6971 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
6979 ITScope it_scope(this, &cond, guard);
6981 ITScope it_scope(allocator_, this, &cond, guard);
6983 vbit(cond, dt, rd, rn, rm);
6988 void Vbit(Condition cond, DRegister rd, DRegister rn, DRegister rm) {
6989 Vbit(cond, kDataTypeValueNone, rd, rn, rm);
6996 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7004 ITScope it_scope(this, &cond, guard);
7006 ITScope it_scope(allocator_, this, &cond, guard);
7008 vbit(cond, dt, rd, rn, rm);
7013 void Vbit(Condition cond, QRegister rd, QRegister rn, QRegister rm) {
7014 Vbit(cond, kDataTypeValueNone, rd, rn, rm);
7021 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
7029 ITScope it_scope(this, &cond, guard);
7031 ITScope it_scope(allocator_, this, &cond, guard);
7033 vbsl(cond, dt, rd, rn, rm);
7038 void Vbsl(Condition cond, DRegister rd, DRegister rn, DRegister rm) {
7039 Vbsl(cond, kDataTypeValueNone, rd, rn, rm);
7046 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7054 ITScope it_scope(this, &cond, guard);
7056 ITScope it_scope(allocator_, this, &cond, guard);
7058 vbsl(cond, dt, rd, rn, rm);
7063 void Vbsl(Condition cond, QRegister rd, QRegister rn, QRegister rm) {
7064 Vbsl(cond, kDataTypeValueNone, rd, rn, rm);
7070 void Vceq(Condition cond,
7082 ITScope it_scope(this, &cond, guard);
7084 ITScope it_scope(allocator_, this, &cond, guard);
7086 vceq(cond, dt, rd, rm, operand);
7092 void Vceq(Condition cond,
7104 ITScope it_scope(this, &cond, guard);
7106 ITScope it_scope(allocator_, this, &cond, guard);
7108 vceq(cond, dt, rd, rm, operand);
7115 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
7123 ITScope it_scope(this, &cond, guard);
7125 ITScope it_scope(allocator_, this, &cond, guard);
7127 vceq(cond, dt, rd, rn, rm);
7134 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7142 ITScope it_scope(this, &cond, guard);
7144 ITScope it_scope(allocator_, this, &cond, guard);
7146 vceq(cond, dt, rd, rn, rm);
7152 void Vcge(Condition cond,
7164 ITScope it_scope(this, &cond, guard);
7166 ITScope it_scope(allocator_, this, &cond, guard);
7168 vcge(cond, dt, rd, rm, operand);
7174 void Vcge(Condition cond,
7186 ITScope it_scope(this, &cond, guard);
7188 ITScope it_scope(allocator_, this, &cond, guard);
7190 vcge(cond, dt, rd, rm, operand);
7197 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
7205 ITScope it_scope(this, &cond, guard);
7207 ITScope it_scope(allocator_, this, &cond, guard);
7209 vcge(cond, dt, rd, rn, rm);
7216 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7224 ITScope it_scope(this, &cond, guard);
7226 ITScope it_scope(allocator_, this, &cond, guard);
7228 vcge(cond, dt, rd, rn, rm);
7234 void Vcgt(Condition cond,
7246 ITScope it_scope(this, &cond, guard);
7248 ITScope it_scope(allocator_, this, &cond, guard);
7250 vcgt(cond, dt, rd, rm, operand);
7256 void Vcgt(Condition cond,
7268 ITScope it_scope(this, &cond, guard);
7270 ITScope it_scope(allocator_, this, &cond, guard);
7272 vcgt(cond, dt, rd, rm, operand);
7279 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
7287 ITScope it_scope(this, &cond, guard);
7289 ITScope it_scope(allocator_, this, &cond, guard);
7291 vcgt(cond, dt, rd, rn, rm);
7298 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7306 ITScope it_scope(this, &cond, guard);
7308 ITScope it_scope(allocator_, this, &cond, guard);
7310 vcgt(cond, dt, rd, rn, rm);
7316 void Vcle(Condition cond,
7328 ITScope it_scope(this, &cond, guard);
7330 ITScope it_scope(allocator_, this, &cond, guard);
7332 vcle(cond, dt, rd, rm, operand);
7338 void Vcle(Condition cond,
7350 ITScope it_scope(this, &cond, guard);
7352 ITScope it_scope(allocator_, this, &cond, guard);
7354 vcle(cond, dt, rd, rm, operand);
7361 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
7369 ITScope it_scope(this, &cond, guard);
7371 ITScope it_scope(allocator_, this, &cond, guard);
7373 vcle(cond, dt, rd, rn, rm);
7380 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7388 ITScope it_scope(this, &cond, guard);
7390 ITScope it_scope(allocator_, this, &cond, guard);
7392 vcle(cond, dt, rd, rn, rm);
7398 void Vcls(Condition cond, DataType dt, DRegister rd, DRegister rm) {
7405 ITScope it_scope(this, &cond, guard);
7407 ITScope it_scope(allocator_, this, &cond, guard);
7409 vcls(cond, dt, rd, rm);
7413 void Vcls(Condition cond, DataType dt, QRegister rd, QRegister rm) {
7420 ITScope it_scope(this, &cond, guard);
7422 ITScope it_scope(allocator_, this, &cond, guard);
7424 vcls(cond, dt, rd, rm);
7428 void Vclt(Condition cond,
7440 ITScope it_scope(this, &cond, guard);
7442 ITScope it_scope(allocator_, this, &cond, guard);
7444 vclt(cond, dt, rd, rm, operand);
7450 void Vclt(Condition cond,
7462 ITScope it_scope(this, &cond, guard);
7464 ITScope it_scope(allocator_, this, &cond, guard);
7466 vclt(cond, dt, rd, rm, operand);
7473 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
7481 ITScope it_scope(this, &cond, guard);
7483 ITScope it_scope(allocator_, this, &cond, guard);
7485 vclt(cond, dt, rd, rn, rm);
7492 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
7500 ITScope it_scope(this, &cond, guard);
7502 ITScope it_scope(allocator_, this, &cond, guard);
7504 vclt(cond, dt, rd, rn, rm);
7510 void Vclz(Condition cond, DataType dt, DRegister rd, DRegister rm) {
7517 ITScope it_scope(this, &cond, guard);
7519 ITScope it_scope(allocator_, this, &cond, guard);
7521 vclz(cond, dt, rd, rm);
7525 void Vclz(Condition cond, DataType dt, QRegister rd, QRegister rm) {
7532 ITScope it_scope(this, &cond, guard);
7534 ITScope it_scope(allocator_, this, &cond, guard);
7536 vclz(cond, dt, rd, rm);
7540 void Vcmp(Condition cond,
7550 ITScope it_scope(this, &cond, guard);
7552 ITScope it_scope(allocator_, this, &cond, guard);
7554 vcmp(cond, dt, rd, operand);
7560 void Vcmp(Condition cond,
7570 ITScope it_scope(this, &cond, guard);
7572 ITScope it_scope(allocator_, this, &cond, guard);
7574 vcmp(cond, dt, rd, operand);
7580 void Vcmpe(Condition cond,
7590 ITScope it_scope(this, &cond, guard);
7592 ITScope it_scope(allocator_, this, &cond, guard);
7594 vcmpe(cond, dt, rd, operand);
7600 void Vcmpe(Condition cond,
7610 ITScope it_scope(this, &cond, guard);
7612 ITScope it_scope(allocator_, this, &cond, guard);
7614 vcmpe(cond, dt, rd, operand);
7620 void Vcnt(Condition cond, DataType dt, DRegister rd, DRegister rm) {
7627 ITScope it_scope(this, &cond, guard);
7629 ITScope it_scope(allocator_, this, &cond, guard);
7631 vcnt(cond, dt, rd, rm);
7635 void Vcnt(Condition cond, DataType dt, QRegister rd, QRegister rm) {
7642 ITScope it_scope(this, &cond, guard);
7644 ITScope it_scope(allocator_, this, &cond, guard);
7646 vcnt(cond, dt, rd, rm);
7651 Condition cond, DataType dt1, DataType dt2, DRegister rd, SRegister rm) {
7658 ITScope it_scope(this, &cond, guard);
7660 ITScope it_scope(allocator_, this, &cond, guard);
7662 vcvt(cond, dt1, dt2, rd, rm);
7669 Condition cond, DataType dt1, DataType dt2, SRegister rd, DRegister rm) {
7676 ITScope it_scope(this, &cond, guard);
7678 ITScope it_scope(allocator_, this, &cond, guard);
7680 vcvt(cond, dt1, dt2, rd, rm);
7686 void Vcvt(Condition cond,
7698 ITScope it_scope(this, &cond, guard);
7700 ITScope it_scope(allocator_, this, &cond, guard);
7702 vcvt(cond, dt1, dt2, rd, rm, fbits);
7709 void Vcvt(Condition cond,
7721 ITScope it_scope(this, &cond, guard);
7723 ITScope it_scope(allocator_, this, &cond, guard);
7725 vcvt(cond, dt1, dt2, rd, rm, fbits);
7732 void Vcvt(Condition cond,
7744 ITScope it_scope(this, &cond, guard);
7746 ITScope it_scope(allocator_, this, &cond, guard);
7748 vcvt(cond, dt1, dt2, rd, rm, fbits);
7756 Condition cond, DataType dt1, DataType dt2, DRegister rd, DRegister rm) {
7763 ITScope it_scope(this, &cond, guard);
7765 ITScope it_scope(allocator_, this, &cond, guard);
7767 vcvt(cond, dt1, dt2, rd, rm);
7774 Condition cond, DataType dt1, DataType dt2, QRegister rd, QRegister rm) {
7781 ITScope it_scope(this, &cond, guard);
7783 ITScope it_scope(allocator_, this, &cond, guard);
7785 vcvt(cond, dt1, dt2, rd, rm);
7792 Condition cond, DataType dt1, DataType dt2, DRegister rd, QRegister rm) {
7799 ITScope it_scope(this, &cond, guard);
7801 ITScope it_scope(allocator_, this, &cond, guard);
7803 vcvt(cond, dt1, dt2, rd, rm);
7810 Condition cond, DataType dt1, DataType dt2, QRegister rd, DRegister rm) {
7817 ITScope it_scope(this, &cond, guard);
7819 ITScope it_scope(allocator_, this, &cond, guard);
7821 vcvt(cond, dt1, dt2, rd, rm);
7828 Condition cond, DataType dt1, DataType dt2, SRegister rd, SRegister rm) {
7835 ITScope it_scope(this, &cond, guard);
7837 ITScope it_scope(allocator_, this, &cond, guard);
7839 vcvt(cond, dt1, dt2, rd, rm);
7882 Condition cond, DataType dt1, DataType dt2, SRegister rd, SRegister rm) {
7889 ITScope it_scope(this, &cond, guard);
7891 ITScope it_scope(allocator_, this, &cond, guard);
7893 vcvtb(cond, dt1, dt2, rd, rm);
7900 Condition cond, DataType dt1, DataType dt2, DRegister rd, SRegister rm) {
7907 ITScope it_scope(this, &cond, guard);
7909 ITScope it_scope(allocator_, this, &cond, guard);
7911 vcvtb(cond, dt1, dt2, rd, rm);
7918 Condition cond, DataType dt1, DataType dt2, SRegister rd, DRegister rm) {
7925 ITScope it_scope(this, &cond, guard);
7927 ITScope it_scope(allocator_, this, &cond, guard);
7929 vcvtb(cond, dt1, dt2, rd, rm);
8044 Condition cond, DataType dt1, DataType dt2, SRegister rd, SRegister rm) {
8051 ITScope it_scope(this, &cond, guard);
8053 ITScope it_scope(allocator_, this, &cond, guard);
8055 vcvtr(cond, dt1, dt2, rd, rm);
8062 Condition cond, DataType dt1, DataType dt2, SRegister rd, DRegister rm) {
8069 ITScope it_scope(this, &cond, guard);
8071 ITScope it_scope(allocator_, this, &cond, guard);
8073 vcvtr(cond, dt1, dt2, rd, rm);
8080 Condition cond, DataType dt1, DataType dt2, SRegister rd, SRegister rm) {
8087 ITScope it_scope(this, &cond, guard);
8089 ITScope it_scope(allocator_, this, &cond, guard);
8091 vcvtt(cond, dt1, dt2, rd, rm);
8098 Condition cond, DataType dt1, DataType dt2, DRegister rd, SRegister rm) {
8105 ITScope it_scope(this, &cond, guard);
8107 ITScope it_scope(allocator_, this, &cond, guard);
8109 vcvtt(cond, dt1, dt2, rd, rm);
8116 Condition cond, DataType dt1, DataType dt2, SRegister rd, DRegister rm) {
8123 ITScope it_scope(this, &cond, guard);
8125 ITScope it_scope(allocator_, this, &cond, guard);
8127 vcvtt(cond, dt1, dt2, rd, rm);
8134 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
8142 ITScope it_scope(this, &cond, guard);
8144 ITScope it_scope(allocator_, this, &cond, guard);
8146 vdiv(cond, dt, rd, rn, rm);
8153 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8161 ITScope it_scope(this, &cond, guard);
8163 ITScope it_scope(allocator_, this, &cond, guard);
8165 vdiv(cond, dt, rd, rn, rm);
8171 void Vdup(Condition cond, DataType dt, QRegister rd, Register rt) {
8178 ITScope it_scope(this, &cond, guard);
8180 ITScope it_scope(allocator_, this, &cond, guard);
8182 vdup(cond, dt, rd, rt);
8186 void Vdup(Condition cond, DataType dt, DRegister rd, Register rt) {
8193 ITScope it_scope(this, &cond, guard);
8195 ITScope it_scope(allocator_, this, &cond, guard);
8197 vdup(cond, dt, rd, rt);
8201 void Vdup(Condition cond, DataType dt, DRegister rd, DRegisterLane rm) {
8208 ITScope it_scope(this, &cond, guard);
8210 ITScope it_scope(allocator_, this, &cond, guard);
8212 vdup(cond, dt, rd, rm);
8218 void Vdup(Condition cond, DataType dt, QRegister rd, DRegisterLane rm) {
8225 ITScope it_scope(this, &cond, guard);
8227 ITScope it_scope(allocator_, this, &cond, guard);
8229 vdup(cond, dt, rd, rm);
8236 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8244 ITScope it_scope(this, &cond, guard);
8246 ITScope it_scope(allocator_, this, &cond, guard);
8248 veor(cond, dt, rd, rn, rm);
8253 void Veor(Condition cond, DRegister rd, DRegister rn, DRegister rm) {
8254 Veor(cond, kDataTypeValueNone, rd, rn, rm);
8261 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
8269 ITScope it_scope(this, &cond, guard);
8271 ITScope it_scope(allocator_, this, &cond, guard);
8273 veor(cond, dt, rd, rn, rm);
8278 void Veor(Condition cond, QRegister rd, QRegister rn, QRegister rm) {
8279 Veor(cond, kDataTypeValueNone, rd, rn, rm);
8285 void Vext(Condition cond,
8299 ITScope it_scope(this, &cond, guard);
8301 ITScope it_scope(allocator_, this, &cond, guard);
8303 vext(cond, dt, rd, rn, rm, operand);
8313 void Vext(Condition cond,
8327 ITScope it_scope(this, &cond, guard);
8329 ITScope it_scope(allocator_, this, &cond, guard);
8331 vext(cond, dt, rd, rn, rm, operand);
8342 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8350 ITScope it_scope(this, &cond, guard);
8352 ITScope it_scope(allocator_, this, &cond, guard);
8354 vfma(cond, dt, rd, rn, rm);
8361 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
8369 ITScope it_scope(this, &cond, guard);
8371 ITScope it_scope(allocator_, this, &cond, guard);
8373 vfma(cond, dt, rd, rn, rm);
8380 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
8388 ITScope it_scope(this, &cond, guard);
8390 ITScope it_scope(allocator_, this, &cond, guard);
8392 vfma(cond, dt, rd, rn, rm);
8399 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8407 ITScope it_scope(this, &cond, guard);
8409 ITScope it_scope(allocator_, this, &cond, guard);
8411 vfms(cond, dt, rd, rn, rm);
8418 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
8426 ITScope it_scope(this, &cond, guard);
8428 ITScope it_scope(allocator_, this, &cond, guard);
8430 vfms(cond, dt, rd, rn, rm);
8437 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
8445 ITScope it_scope(this, &cond, guard);
8447 ITScope it_scope(allocator_, this, &cond, guard);
8449 vfms(cond, dt, rd, rn, rm);
8456 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
8464 ITScope it_scope(this, &cond, guard);
8466 ITScope it_scope(allocator_, this, &cond, guard);
8468 vfnma(cond, dt, rd, rn, rm);
8475 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8483 ITScope it_scope(this, &cond, guard);
8485 ITScope it_scope(allocator_, this, &cond, guard);
8487 vfnma(cond, dt, rd, rn, rm);
8494 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
8502 ITScope it_scope(this, &cond, guard);
8504 ITScope it_scope(allocator_, this, &cond, guard);
8506 vfnms(cond, dt, rd, rn, rm);
8513 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8521 ITScope it_scope(this, &cond, guard);
8523 ITScope it_scope(allocator_, this, &cond, guard);
8525 vfnms(cond, dt, rd, rn, rm);
8532 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8540 ITScope it_scope(this, &cond, guard);
8542 ITScope it_scope(allocator_, this, &cond, guard);
8544 vhadd(cond, dt, rd, rn, rm);
8551 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
8559 ITScope it_scope(this, &cond, guard);
8561 ITScope it_scope(allocator_, this, &cond, guard);
8563 vhadd(cond, dt, rd, rn, rm);
8570 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8578 ITScope it_scope(this, &cond, guard);
8580 ITScope it_scope(allocator_, this, &cond, guard);
8582 vhsub(cond, dt, rd, rn, rm);
8589 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
8597 ITScope it_scope(this, &cond, guard);
8599 ITScope it_scope(allocator_, this, &cond, guard);
8601 vhsub(cond, dt, rd, rn, rm);
8607 void Vld1(Condition cond,
8617 ITScope it_scope(this, &cond, guard);
8619 ITScope it_scope(allocator_, this, &cond, guard);
8621 vld1(cond, dt, nreglist, operand);
8629 void Vld2(Condition cond,
8639 ITScope it_scope(this, &cond, guard);
8641 ITScope it_scope(allocator_, this, &cond, guard);
8643 vld2(cond, dt, nreglist, operand);
8651 void Vld3(Condition cond,
8661 ITScope it_scope(this, &cond, guard);
8663 ITScope it_scope(allocator_, this, &cond, guard);
8665 vld3(cond, dt, nreglist, operand);
8673 void Vld3(Condition cond,
8683 ITScope it_scope(this, &cond, guard);
8685 ITScope it_scope(allocator_, this, &cond, guard);
8687 vld3(cond, dt, nreglist, operand);
8695 void Vld4(Condition cond,
8705 ITScope it_scope(this, &cond, guard);
8707 ITScope it_scope(allocator_, this, &cond, guard);
8709 vld4(cond, dt, nreglist, operand);
8717 void Vldm(Condition cond,
8728 ITScope it_scope(this, &cond, guard);
8730 ITScope it_scope(allocator_, this, &cond, guard);
8732 vldm(cond, dt, rn, write_back, dreglist);
8740 void Vldm(Condition cond,
8744 Vldm(cond, kDataTypeValueNone, rn, write_back, dreglist);
8750 void Vldm(Condition cond,
8761 ITScope it_scope(this, &cond, guard);
8763 ITScope it_scope(allocator_, this, &cond, guard);
8765 vldm(cond, dt, rn, write_back, sreglist);
8773 void Vldm(Condition cond,
8777 Vldm(cond, kDataTypeValueNone, rn, write_back, sreglist);
8783 void Vldmdb(Condition cond,
8794 ITScope it_scope(this, &cond, guard);
8796 ITScope it_scope(allocator_, this, &cond, guard);
8798 vldmdb(cond, dt, rn, write_back, dreglist);
8806 void Vldmdb(Condition cond,
8810 Vldmdb(cond, kDataTypeValueNone, rn, write_back, dreglist);
8816 void Vldmdb(Condition cond,
8827 ITScope it_scope(this, &cond, guard);
8829 ITScope it_scope(allocator_, this, &cond, guard);
8831 vldmdb(cond, dt, rn, write_back, sreglist);
8839 void Vldmdb(Condition cond,
8843 Vldmdb(cond, kDataTypeValueNone, rn, write_back, sreglist);
8849 void Vldmia(Condition cond,
8860 ITScope it_scope(this, &cond, guard);
8862 ITScope it_scope(allocator_, this, &cond, guard);
8864 vldmia(cond, dt, rn, write_back, dreglist);
8872 void Vldmia(Condition cond,
8876 Vldmia(cond, kDataTypeValueNone, rn, write_back, dreglist);
8882 void Vldmia(Condition cond,
8893 ITScope it_scope(this, &cond, guard);
8895 ITScope it_scope(allocator_, this, &cond, guard);
8897 vldmia(cond, dt, rn, write_back, sreglist);
8905 void Vldmia(Condition cond,
8909 Vldmia(cond, kDataTypeValueNone, rn, write_back, sreglist);
8916 void Vldr(Condition cond,
8926 ITScope it_scope(this, &cond, guard);
8928 ITScope it_scope(allocator_, this, &cond, guard);
8930 vldr(cond, dt, rd, operand);
8935 void Vldr(Condition cond, DRegister rd, const MemOperand& operand) {
8936 Vldr(cond, Untyped64, rd, operand);
8943 void Vldr(Condition cond,
8953 ITScope it_scope(this, &cond, guard);
8955 ITScope it_scope(allocator_, this, &cond, guard);
8957 vldr(cond, dt, rd, operand);
8962 void Vldr(Condition cond, SRegister rd, const MemOperand& operand) {
8963 Vldr(cond, Untyped32, rd, operand);
8970 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
8978 ITScope it_scope(this, &cond, guard);
8980 ITScope it_scope(allocator_, this, &cond, guard);
8982 vmax(cond, dt, rd, rn, rm);
8989 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
8997 ITScope it_scope(this, &cond, guard);
8999 ITScope it_scope(allocator_, this, &cond, guard);
9001 vmax(cond, dt, rd, rn, rm);
9038 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9046 ITScope it_scope(this, &cond, guard);
9048 ITScope it_scope(allocator_, this, &cond, guard);
9050 vmin(cond, dt, rd, rn, rm);
9057 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
9065 ITScope it_scope(this, &cond, guard);
9067 ITScope it_scope(allocator_, this, &cond, guard);
9069 vmin(cond, dt, rd, rn, rm);
9105 void Vmla(Condition cond,
9117 ITScope it_scope(this, &cond, guard);
9119 ITScope it_scope(allocator_, this, &cond, guard);
9121 vmla(cond, dt, rd, rn, rm);
9127 void Vmla(Condition cond,
9139 ITScope it_scope(this, &cond, guard);
9141 ITScope it_scope(allocator_, this, &cond, guard);
9143 vmla(cond, dt, rd, rn, rm);
9150 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9158 ITScope it_scope(this, &cond, guard);
9160 ITScope it_scope(allocator_, this, &cond, guard);
9162 vmla(cond, dt, rd, rn, rm);
9169 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
9177 ITScope it_scope(this, &cond, guard);
9179 ITScope it_scope(allocator_, this, &cond, guard);
9181 vmla(cond, dt, rd, rn, rm);
9188 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
9196 ITScope it_scope(this, &cond, guard);
9198 ITScope it_scope(allocator_, this, &cond, guard);
9200 vmla(cond, dt, rd, rn, rm);
9206 void Vmlal(Condition cond,
9218 ITScope it_scope(this, &cond, guard);
9220 ITScope it_scope(allocator_, this, &cond, guard);
9222 vmlal(cond, dt, rd, rn, rm);
9229 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
9237 ITScope it_scope(this, &cond, guard);
9239 ITScope it_scope(allocator_, this, &cond, guard);
9241 vmlal(cond, dt, rd, rn, rm);
9247 void Vmls(Condition cond,
9259 ITScope it_scope(this, &cond, guard);
9261 ITScope it_scope(allocator_, this, &cond, guard);
9263 vmls(cond, dt, rd, rn, rm);
9269 void Vmls(Condition cond,
9281 ITScope it_scope(this, &cond, guard);
9283 ITScope it_scope(allocator_, this, &cond, guard);
9285 vmls(cond, dt, rd, rn, rm);
9292 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9300 ITScope it_scope(this, &cond, guard);
9302 ITScope it_scope(allocator_, this, &cond, guard);
9304 vmls(cond, dt, rd, rn, rm);
9311 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
9319 ITScope it_scope(this, &cond, guard);
9321 ITScope it_scope(allocator_, this, &cond, guard);
9323 vmls(cond, dt, rd, rn, rm);
9330 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
9338 ITScope it_scope(this, &cond, guard);
9340 ITScope it_scope(allocator_, this, &cond, guard);
9342 vmls(cond, dt, rd, rn, rm);
9348 void Vmlsl(Condition cond,
9360 ITScope it_scope(this, &cond, guard);
9362 ITScope it_scope(allocator_, this, &cond, guard);
9364 vmlsl(cond, dt, rd, rn, rm);
9371 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
9379 ITScope it_scope(this, &cond, guard);
9381 ITScope it_scope(allocator_, this, &cond, guard);
9383 vmlsl(cond, dt, rd, rn, rm);
9389 void Vmov(Condition cond, Register rt, SRegister rn) {
9396 ITScope it_scope(this, &cond, guard);
9398 ITScope it_scope(allocator_, this, &cond, guard);
9400 vmov(cond, rt, rn);
9404 void Vmov(Condition cond, SRegister rn, Register rt) {
9411 ITScope it_scope(this, &cond, guard);
9413 ITScope it_scope(allocator_, this, &cond, guard);
9415 vmov(cond, rn, rt);
9419 void Vmov(Condition cond, Register rt, Register rt2, DRegister rm) {
9427 ITScope it_scope(this, &cond, guard);
9429 ITScope it_scope(allocator_, this, &cond, guard);
9431 vmov(cond, rt, rt2, rm);
9435 void Vmov(Condition cond, DRegister rm, Register rt, Register rt2) {
9443 ITScope it_scope(this, &cond, guard);
9445 ITScope it_scope(allocator_, this, &cond, guard);
9447 vmov(cond, rm, rt, rt2);
9452 Condition cond, Register rt, Register rt2, SRegister rm, SRegister rm1) {
9461 ITScope it_scope(this, &cond, guard);
9463 ITScope it_scope(allocator_, this, &cond, guard);
9465 vmov(cond, rt, rt2, rm, rm1);
9472 Condition cond, SRegister rm, SRegister rm1, Register rt, Register rt2) {
9481 ITScope it_scope(this, &cond, guard);
9483 ITScope it_scope(allocator_, this, &cond, guard);
9485 vmov(cond, rm, rm1, rt, rt2);
9491 void Vmov(Condition cond, DataType dt, DRegisterLane rd, Register rt) {
9498 ITScope it_scope(this, &cond, guard);
9500 ITScope it_scope(allocator_, this, &cond, guard);
9502 vmov(cond, dt, rd, rt);
9507 void Vmov(Condition cond, DRegisterLane rd, Register rt) {
9508 Vmov(cond, kDataTypeValueNone, rd, rt);
9514 void Vmov(Condition cond,
9524 ITScope it_scope(this, &cond, guard);
9526 ITScope it_scope(allocator_, this, &cond, guard);
9528 vmov(cond, dt, rd, operand);
9534 void Vmov(Condition cond,
9544 ITScope it_scope(this, &cond, guard);
9546 ITScope it_scope(allocator_, this, &cond, guard);
9548 vmov(cond, dt, rd, operand);
9554 void Vmov(Condition cond,
9564 ITScope it_scope(this, &cond, guard);
9566 ITScope it_scope(allocator_, this, &cond, guard);
9568 vmov(cond, dt, rd, operand);
9574 void Vmov(Condition cond, DataType dt, Register rt, DRegisterLane rn) {
9581 ITScope it_scope(this, &cond, guard);
9583 ITScope it_scope(allocator_, this, &cond, guard);
9585 vmov(cond, dt, rt, rn);
9590 void Vmov(Condition cond, Register rt, DRegisterLane rn) {
9591 Vmov(cond, kDataTypeValueNone, rt, rn);
9597 void Vmovl(Condition cond, DataType dt, QRegister rd, DRegister rm) {
9604 ITScope it_scope(this, &cond, guard);
9606 ITScope it_scope(allocator_, this, &cond, guard);
9608 vmovl(cond, dt, rd, rm);
9612 void Vmovn(Condition cond, DataType dt, DRegister rd, QRegister rm) {
9619 ITScope it_scope(this, &cond, guard);
9621 ITScope it_scope(allocator_, this, &cond, guard);
9623 vmovn(cond, dt, rd, rm);
9627 void Vmrs(Condition cond,
9635 ITScope it_scope(this, &cond, guard);
9637 ITScope it_scope(allocator_, this, &cond, guard);
9639 vmrs(cond, rt, spec_reg);
9645 void Vmsr(Condition cond, SpecialFPRegister spec_reg, Register rt) {
9651 ITScope it_scope(this, &cond, guard);
9653 ITScope it_scope(allocator_, this, &cond, guard);
9655 vmsr(cond, spec_reg, rt);
9659 void Vmul(Condition cond,
9672 ITScope it_scope(this, &cond, guard);
9674 ITScope it_scope(allocator_, this, &cond, guard);
9676 vmul(cond, dt, rd, rn, dm, index);
9683 void Vmul(Condition cond,
9696 ITScope it_scope(this, &cond, guard);
9698 ITScope it_scope(allocator_, this, &cond, guard);
9700 vmul(cond, dt, rd, rn, dm, index);
9708 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9716 ITScope it_scope(this, &cond, guard);
9718 ITScope it_scope(allocator_, this, &cond, guard);
9720 vmul(cond, dt, rd, rn, rm);
9727 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
9735 ITScope it_scope(this, &cond, guard);
9737 ITScope it_scope(allocator_, this, &cond, guard);
9739 vmul(cond, dt, rd, rn, rm);
9746 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
9754 ITScope it_scope(this, &cond, guard);
9756 ITScope it_scope(allocator_, this, &cond, guard);
9758 vmul(cond, dt, rd, rn, rm);
9764 void Vmull(Condition cond,
9777 ITScope it_scope(this, &cond, guard);
9779 ITScope it_scope(allocator_, this, &cond, guard);
9781 vmull(cond, dt, rd, rn, dm, index);
9789 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
9797 ITScope it_scope(this, &cond, guard);
9799 ITScope it_scope(allocator_, this, &cond, guard);
9801 vmull(cond, dt, rd, rn, rm);
9807 void Vmvn(Condition cond,
9817 ITScope it_scope(this, &cond, guard);
9819 ITScope it_scope(allocator_, this, &cond, guard);
9821 vmvn(cond, dt, rd, operand);
9827 void Vmvn(Condition cond,
9837 ITScope it_scope(this, &cond, guard);
9839 ITScope it_scope(allocator_, this, &cond, guard);
9841 vmvn(cond, dt, rd, operand);
9847 void Vneg(Condition cond, DataType dt, DRegister rd, DRegister rm) {
9854 ITScope it_scope(this, &cond, guard);
9856 ITScope it_scope(allocator_, this, &cond, guard);
9858 vneg(cond, dt, rd, rm);
9862 void Vneg(Condition cond, DataType dt, QRegister rd, QRegister rm) {
9869 ITScope it_scope(this, &cond, guard);
9871 ITScope it_scope(allocator_, this, &cond, guard);
9873 vneg(cond, dt, rd, rm);
9877 void Vneg(Condition cond, DataType dt, SRegister rd, SRegister rm) {
9884 ITScope it_scope(this, &cond, guard);
9886 ITScope it_scope(allocator_, this, &cond, guard);
9888 vneg(cond, dt, rd, rm);
9893 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
9901 ITScope it_scope(this, &cond, guard);
9903 ITScope it_scope(allocator_, this, &cond, guard);
9905 vnmla(cond, dt, rd, rn, rm);
9912 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9920 ITScope it_scope(this, &cond, guard);
9922 ITScope it_scope(allocator_, this, &cond, guard);
9924 vnmla(cond, dt, rd, rn, rm);
9931 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
9939 ITScope it_scope(this, &cond, guard);
9941 ITScope it_scope(allocator_, this, &cond, guard);
9943 vnmls(cond, dt, rd, rn, rm);
9950 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9958 ITScope it_scope(this, &cond, guard);
9960 ITScope it_scope(allocator_, this, &cond, guard);
9962 vnmls(cond, dt, rd, rn, rm);
9969 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
9977 ITScope it_scope(this, &cond, guard);
9979 ITScope it_scope(allocator_, this, &cond, guard);
9981 vnmul(cond, dt, rd, rn, rm);
9988 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
9996 ITScope it_scope(this, &cond, guard);
9998 ITScope it_scope(allocator_, this, &cond, guard);
10000 vnmul(cond, dt, rd, rn, rm);
10006 void Vorn(Condition cond,
10018 ITScope it_scope(this, &cond, guard);
10020 ITScope it_scope(allocator_, this, &cond, guard);
10022 vorn(cond, dt, rd, rn, operand);
10028 void Vorn(Condition cond,
10040 ITScope it_scope(this, &cond, guard);
10042 ITScope it_scope(allocator_, this, &cond, guard);
10044 vorn(cond, dt, rd, rn, operand);
10050 void Vorr(Condition cond,
10062 ITScope it_scope(this, &cond, guard);
10064 ITScope it_scope(allocator_, this, &cond, guard);
10066 vorr(cond, dt, rd, rn, operand);
10071 void Vorr(Condition cond,
10075 Vorr(cond, kDataTypeValueNone, rd, rn, operand);
10081 void Vorr(Condition cond,
10093 ITScope it_scope(this, &cond, guard);
10095 ITScope it_scope(allocator_, this, &cond, guard);
10097 vorr(cond, dt, rd, rn, operand);
10102 void Vorr(Condition cond,
10106 Vorr(cond, kDataTypeValueNone, rd, rn, operand);
10112 void Vpadal(Condition cond, DataType dt, DRegister rd, DRegister rm) {
10119 ITScope it_scope(this, &cond, guard);
10121 ITScope it_scope(allocator_, this, &cond, guard);
10123 vpadal(cond, dt, rd, rm);
10129 void Vpadal(Condition cond, DataType dt, QRegister rd, QRegister rm) {
10136 ITScope it_scope(this, &cond, guard);
10138 ITScope it_scope(allocator_, this, &cond, guard);
10140 vpadal(cond, dt, rd, rm);
10147 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10155 ITScope it_scope(this, &cond, guard);
10157 ITScope it_scope(allocator_, this, &cond, guard);
10159 vpadd(cond, dt, rd, rn, rm);
10165 void Vpaddl(Condition cond, DataType dt, DRegister rd, DRegister rm) {
10172 ITScope it_scope(this, &cond, guard);
10174 ITScope it_scope(allocator_, this, &cond, guard);
10176 vpaddl(cond, dt, rd, rm);
10182 void Vpaddl(Condition cond, DataType dt, QRegister rd, QRegister rm) {
10189 ITScope it_scope(this, &cond, guard);
10191 ITScope it_scope(allocator_, this, &cond, guard);
10193 vpaddl(cond, dt, rd, rm);
10200 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10208 ITScope it_scope(this, &cond, guard);
10210 ITScope it_scope(allocator_, this, &cond, guard);
10212 vpmax(cond, dt, rd, rn, rm);
10219 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10227 ITScope it_scope(this, &cond, guard);
10229 ITScope it_scope(allocator_, this, &cond, guard);
10231 vpmin(cond, dt, rd, rn, rm);
10237 void Vpop(Condition cond, DataType dt, DRegisterList dreglist) {
10243 ITScope it_scope(this, &cond, guard);
10245 ITScope it_scope(allocator_, this, &cond, guard);
10247 vpop(cond, dt, dreglist);
10250 void Vpop(Condition cond, DRegisterList dreglist) {
10251 Vpop(cond, kDataTypeValueNone, dreglist);
10255 void Vpop(Condition cond, DataType dt, SRegisterList sreglist) {
10261 ITScope it_scope(this, &cond, guard);
10263 ITScope it_scope(allocator_, this, &cond, guard);
10265 vpop(cond, dt, sreglist);
10268 void Vpop(Condition cond, SRegisterList sreglist) {
10269 Vpop(cond, kDataTypeValueNone, sreglist);
10273 void Vpush(Condition cond, DataType dt, DRegisterList dreglist) {
10279 ITScope it_scope(this, &cond, guard);
10281 ITScope it_scope(allocator_, this, &cond, guard);
10283 vpush(cond, dt, dreglist);
10286 void Vpush(Condition cond, DRegisterList dreglist) {
10287 Vpush(cond, kDataTypeValueNone, dreglist);
10293 void Vpush(Condition cond, DataType dt, SRegisterList sreglist) {
10299 ITScope it_scope(this, &cond, guard);
10301 ITScope it_scope(allocator_, this, &cond, guard);
10303 vpush(cond, dt, sreglist);
10306 void Vpush(Condition cond, SRegisterList sreglist) {
10307 Vpush(cond, kDataTypeValueNone, sreglist);
10313 void Vqabs(Condition cond, DataType dt, DRegister rd, DRegister rm) {
10320 ITScope it_scope(this, &cond, guard);
10322 ITScope it_scope(allocator_, this, &cond, guard);
10324 vqabs(cond, dt, rd, rm);
10328 void Vqabs(Condition cond, DataType dt, QRegister rd, QRegister rm) {
10335 ITScope it_scope(this, &cond, guard);
10337 ITScope it_scope(allocator_, this, &cond, guard);
10339 vqabs(cond, dt, rd, rm);
10344 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10352 ITScope it_scope(this, &cond, guard);
10354 ITScope it_scope(allocator_, this, &cond, guard);
10356 vqadd(cond, dt, rd, rn, rm);
10363 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
10371 ITScope it_scope(this, &cond, guard);
10373 ITScope it_scope(allocator_, this, &cond, guard);
10375 vqadd(cond, dt, rd, rn, rm);
10382 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
10390 ITScope it_scope(this, &cond, guard);
10392 ITScope it_scope(allocator_, this, &cond, guard);
10394 vqdmlal(cond, dt, rd, rn, rm);
10400 void Vqdmlal(Condition cond,
10413 ITScope it_scope(this, &cond, guard);
10415 ITScope it_scope(allocator_, this, &cond, guard);
10417 vqdmlal(cond, dt, rd, rn, dm, index);
10425 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
10433 ITScope it_scope(this, &cond, guard);
10435 ITScope it_scope(allocator_, this, &cond, guard);
10437 vqdmlsl(cond, dt, rd, rn, rm);
10443 void Vqdmlsl(Condition cond,
10456 ITScope it_scope(this, &cond, guard);
10458 ITScope it_scope(allocator_, this, &cond, guard);
10460 vqdmlsl(cond, dt, rd, rn, dm, index);
10468 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10476 ITScope it_scope(this, &cond, guard);
10478 ITScope it_scope(allocator_, this, &cond, guard);
10480 vqdmulh(cond, dt, rd, rn, rm);
10487 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
10495 ITScope it_scope(this, &cond, guard);
10497 ITScope it_scope(allocator_, this, &cond, guard);
10499 vqdmulh(cond, dt, rd, rn, rm);
10505 void Vqdmulh(Condition cond,
10517 ITScope it_scope(this, &cond, guard);
10519 ITScope it_scope(allocator_, this, &cond, guard);
10521 vqdmulh(cond, dt, rd, rn, rm);
10527 void Vqdmulh(Condition cond,
10539 ITScope it_scope(this, &cond, guard);
10541 ITScope it_scope(allocator_, this, &cond, guard);
10543 vqdmulh(cond, dt, rd, rn, rm);
10550 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
10558 ITScope it_scope(this, &cond, guard);
10560 ITScope it_scope(allocator_, this, &cond, guard);
10562 vqdmull(cond, dt, rd, rn, rm);
10568 void Vqdmull(Condition cond,
10580 ITScope it_scope(this, &cond, guard);
10582 ITScope it_scope(allocator_, this, &cond, guard);
10584 vqdmull(cond, dt, rd, rn, rm);
10590 void Vqmovn(Condition cond, DataType dt, DRegister rd, QRegister rm) {
10597 ITScope it_scope(this, &cond, guard);
10599 ITScope it_scope(allocator_, this, &cond, guard);
10601 vqmovn(cond, dt, rd, rm);
10607 void Vqmovun(Condition cond, DataType dt, DRegister rd, QRegister rm) {
10614 ITScope it_scope(this, &cond, guard);
10616 ITScope it_scope(allocator_, this, &cond, guard);
10618 vqmovun(cond, dt, rd, rm);
10624 void Vqneg(Condition cond, DataType dt, DRegister rd, DRegister rm) {
10631 ITScope it_scope(this, &cond, guard);
10633 ITScope it_scope(allocator_, this, &cond, guard);
10635 vqneg(cond, dt, rd, rm);
10639 void Vqneg(Condition cond, DataType dt, QRegister rd, QRegister rm) {
10646 ITScope it_scope(this, &cond, guard);
10648 ITScope it_scope(allocator_, this, &cond, guard);
10650 vqneg(cond, dt, rd, rm);
10655 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10663 ITScope it_scope(this, &cond, guard);
10665 ITScope it_scope(allocator_, this, &cond, guard);
10667 vqrdmulh(cond, dt, rd, rn, rm);
10674 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
10682 ITScope it_scope(this, &cond, guard);
10684 ITScope it_scope(allocator_, this, &cond, guard);
10686 vqrdmulh(cond, dt, rd, rn, rm);
10692 void Vqrdmulh(Condition cond,
10704 ITScope it_scope(this, &cond, guard);
10706 ITScope it_scope(allocator_, this, &cond, guard);
10708 vqrdmulh(cond, dt, rd, rn, rm);
10714 void Vqrdmulh(Condition cond,
10726 ITScope it_scope(this, &cond, guard);
10728 ITScope it_scope(allocator_, this, &cond, guard);
10730 vqrdmulh(cond, dt, rd, rn, rm);
10737 Condition cond, DataType dt, DRegister rd, DRegister rm, DRegister rn) {
10745 ITScope it_scope(this, &cond, guard);
10747 ITScope it_scope(allocator_, this, &cond, guard);
10749 vqrshl(cond, dt, rd, rm, rn);
10756 Condition cond, DataType dt, QRegister rd, QRegister rm, QRegister rn) {
10764 ITScope it_scope(this, &cond, guard);
10766 ITScope it_scope(allocator_, this, &cond, guard);
10768 vqrshl(cond, dt, rd, rm, rn);
10774 void Vqrshrn(Condition cond,
10786 ITScope it_scope(this, &cond, guard);
10788 ITScope it_scope(allocator_, this, &cond, guard);
10790 vqrshrn(cond, dt, rd, rm, operand);
10799 void Vqrshrun(Condition cond,
10811 ITScope it_scope(this, &cond, guard);
10813 ITScope it_scope(allocator_, this, &cond, guard);
10815 vqrshrun(cond, dt, rd, rm, operand);
10824 void Vqshl(Condition cond,
10836 ITScope it_scope(this, &cond, guard);
10838 ITScope it_scope(allocator_, this, &cond, guard);
10840 vqshl(cond, dt, rd, rm, operand);
10846 void Vqshl(Condition cond,
10858 ITScope it_scope(this, &cond, guard);
10860 ITScope it_scope(allocator_, this, &cond, guard);
10862 vqshl(cond, dt, rd, rm, operand);
10868 void Vqshlu(Condition cond,
10880 ITScope it_scope(this, &cond, guard);
10882 ITScope it_scope(allocator_, this, &cond, guard);
10884 vqshlu(cond, dt, rd, rm, operand);
10893 void Vqshlu(Condition cond,
10905 ITScope it_scope(this, &cond, guard);
10907 ITScope it_scope(allocator_, this, &cond, guard);
10909 vqshlu(cond, dt, rd, rm, operand);
10918 void Vqshrn(Condition cond,
10930 ITScope it_scope(this, &cond, guard);
10932 ITScope it_scope(allocator_, this, &cond, guard);
10934 vqshrn(cond, dt, rd, rm, operand);
10943 void Vqshrun(Condition cond,
10955 ITScope it_scope(this, &cond, guard);
10957 ITScope it_scope(allocator_, this, &cond, guard);
10959 vqshrun(cond, dt, rd, rm, operand);
10969 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
10977 ITScope it_scope(this, &cond, guard);
10979 ITScope it_scope(allocator_, this, &cond, guard);
10981 vqsub(cond, dt, rd, rn, rm);
10988 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
10996 ITScope it_scope(this, &cond, guard);
10998 ITScope it_scope(allocator_, this, &cond, guard);
11000 vqsub(cond, dt, rd, rn, rm);
11007 Condition cond, DataType dt, DRegister rd, QRegister rn, QRegister rm) {
11015 ITScope it_scope(this, &cond, guard);
11017 ITScope it_scope(allocator_, this, &cond, guard);
11019 vraddhn(cond, dt, rd, rn, rm);
11025 void Vrecpe(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11032 ITScope it_scope(this, &cond, guard);
11034 ITScope it_scope(allocator_, this, &cond, guard);
11036 vrecpe(cond, dt, rd, rm);
11042 void Vrecpe(Condition cond, DataType dt, QRegister rd, QRegister rm) {
11049 ITScope it_scope(this, &cond, guard);
11051 ITScope it_scope(allocator_, this, &cond, guard);
11053 vrecpe(cond, dt, rd, rm);
11060 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
11068 ITScope it_scope(this, &cond, guard);
11070 ITScope it_scope(allocator_, this, &cond, guard);
11072 vrecps(cond, dt, rd, rn, rm);
11079 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
11087 ITScope it_scope(this, &cond, guard);
11089 ITScope it_scope(allocator_, this, &cond, guard);
11091 vrecps(cond, dt, rd, rn, rm);
11097 void Vrev16(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11104 ITScope it_scope(this, &cond, guard);
11106 ITScope it_scope(allocator_, this, &cond, guard);
11108 vrev16(cond, dt, rd, rm);
11114 void Vrev16(Condition cond, DataType dt, QRegister rd, QRegister rm) {
11121 ITScope it_scope(this, &cond, guard);
11123 ITScope it_scope(allocator_, this, &cond, guard);
11125 vrev16(cond, dt, rd, rm);
11131 void Vrev32(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11138 ITScope it_scope(this, &cond, guard);
11140 ITScope it_scope(allocator_, this, &cond, guard);
11142 vrev32(cond, dt, rd, rm);
11148 void Vrev32(Condition cond, DataType dt, QRegister rd, QRegister rm) {
11155 ITScope it_scope(this, &cond, guard);
11157 ITScope it_scope(allocator_, this, &cond, guard);
11159 vrev32(cond, dt, rd, rm);
11165 void Vrev64(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11172 ITScope it_scope(this, &cond, guard);
11174 ITScope it_scope(allocator_, this, &cond, guard);
11176 vrev64(cond, dt, rd, rm);
11182 void Vrev64(Condition cond, DataType dt, QRegister rd, QRegister rm) {
11189 ITScope it_scope(this, &cond, guard);
11191 ITScope it_scope(allocator_, this, &cond, guard);
11193 vrev64(cond, dt, rd, rm);
11200 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
11208 ITScope it_scope(this, &cond, guard);
11210 ITScope it_scope(allocator_, this, &cond, guard);
11212 vrhadd(cond, dt, rd, rn, rm);
11219 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
11227 ITScope it_scope(this, &cond, guard);
11229 ITScope it_scope(allocator_, this, &cond, guard);
11231 vrhadd(cond, dt, rd, rn, rm);
11345 void Vrintr(Condition cond, DataType dt, SRegister rd, SRegister rm) {
11352 ITScope it_scope(this, &cond, guard);
11354 ITScope it_scope(allocator_, this, &cond, guard);
11356 vrintr(cond, dt, rd, rm);
11362 void Vrintr(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11369 ITScope it_scope(this, &cond, guard);
11371 ITScope it_scope(allocator_, this, &cond, guard);
11373 vrintr(cond, dt, rd, rm);
11379 void Vrintx(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11386 ITScope it_scope(this, &cond, guard);
11388 ITScope it_scope(allocator_, this, &cond, guard);
11390 vrintx(cond, dt, rd, rm);
11405 void Vrintx(Condition cond, DataType dt, SRegister rd, SRegister rm) {
11412 ITScope it_scope(this, &cond, guard);
11414 ITScope it_scope(allocator_, this, &cond, guard);
11416 vrintx(cond, dt, rd, rm);
11422 void Vrintz(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11429 ITScope it_scope(this, &cond, guard);
11431 ITScope it_scope(allocator_, this, &cond, guard);
11433 vrintz(cond, dt, rd, rm);
11448 void Vrintz(Condition cond, DataType dt, SRegister rd, SRegister rm) {
11455 ITScope it_scope(this, &cond, guard);
11457 ITScope it_scope(allocator_, this, &cond, guard);
11459 vrintz(cond, dt, rd, rm);
11466 Condition cond, DataType dt, DRegister rd, DRegister rm, DRegister rn) {
11474 ITScope it_scope(this, &cond, guard);
11476 ITScope it_scope(allocator_, this, &cond, guard);
11478 vrshl(cond, dt, rd, rm, rn);
11485 Condition cond, DataType dt, QRegister rd, QRegister rm, QRegister rn) {
11493 ITScope it_scope(this, &cond, guard);
11495 ITScope it_scope(allocator_, this, &cond, guard);
11497 vrshl(cond, dt, rd, rm, rn);
11503 void Vrshr(Condition cond,
11515 ITScope it_scope(this, &cond, guard);
11517 ITScope it_scope(allocator_, this, &cond, guard);
11519 vrshr(cond, dt, rd, rm, operand);
11525 void Vrshr(Condition cond,
11537 ITScope it_scope(this, &cond, guard);
11539 ITScope it_scope(allocator_, this, &cond, guard);
11541 vrshr(cond, dt, rd, rm, operand);
11547 void Vrshrn(Condition cond,
11559 ITScope it_scope(this, &cond, guard);
11561 ITScope it_scope(allocator_, this, &cond, guard);
11563 vrshrn(cond, dt, rd, rm, operand);
11572 void Vrsqrte(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11579 ITScope it_scope(this, &cond, guard);
11581 ITScope it_scope(allocator_, this, &cond, guard);
11583 vrsqrte(cond, dt, rd, rm);
11589 void Vrsqrte(Condition cond, DataType dt, QRegister rd, QRegister rm) {
11596 ITScope it_scope(this, &cond, guard);
11598 ITScope it_scope(allocator_, this, &cond, guard);
11600 vrsqrte(cond, dt, rd, rm);
11607 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
11615 ITScope it_scope(this, &cond, guard);
11617 ITScope it_scope(allocator_, this, &cond, guard);
11619 vrsqrts(cond, dt, rd, rn, rm);
11626 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
11634 ITScope it_scope(this, &cond, guard);
11636 ITScope it_scope(allocator_, this, &cond, guard);
11638 vrsqrts(cond, dt, rd, rn, rm);
11644 void Vrsra(Condition cond,
11656 ITScope it_scope(this, &cond, guard);
11658 ITScope it_scope(allocator_, this, &cond, guard);
11660 vrsra(cond, dt, rd, rm, operand);
11666 void Vrsra(Condition cond,
11678 ITScope it_scope(this, &cond, guard);
11680 ITScope it_scope(allocator_, this, &cond, guard);
11682 vrsra(cond, dt, rd, rm, operand);
11689 Condition cond, DataType dt, DRegister rd, QRegister rn, QRegister rm) {
11697 ITScope it_scope(this, &cond, guard);
11699 ITScope it_scope(allocator_, this, &cond, guard);
11701 vrsubhn(cond, dt, rd, rn, rm);
11787 void Vshl(Condition cond,
11799 ITScope it_scope(this, &cond, guard);
11801 ITScope it_scope(allocator_, this, &cond, guard);
11803 vshl(cond, dt, rd, rm, operand);
11809 void Vshl(Condition cond,
11821 ITScope it_scope(this, &cond, guard);
11823 ITScope it_scope(allocator_, this, &cond, guard);
11825 vshl(cond, dt, rd, rm, operand);
11831 void Vshll(Condition cond,
11843 ITScope it_scope(this, &cond, guard);
11845 ITScope it_scope(allocator_, this, &cond, guard);
11847 vshll(cond, dt, rd, rm, operand);
11853 void Vshr(Condition cond,
11865 ITScope it_scope(this, &cond, guard);
11867 ITScope it_scope(allocator_, this, &cond, guard);
11869 vshr(cond, dt, rd, rm, operand);
11875 void Vshr(Condition cond,
11887 ITScope it_scope(this, &cond, guard);
11889 ITScope it_scope(allocator_, this, &cond, guard);
11891 vshr(cond, dt, rd, rm, operand);
11897 void Vshrn(Condition cond,
11909 ITScope it_scope(this, &cond, guard);
11911 ITScope it_scope(allocator_, this, &cond, guard);
11913 vshrn(cond, dt, rd, rm, operand);
11919 void Vsli(Condition cond,
11931 ITScope it_scope(this, &cond, guard);
11933 ITScope it_scope(allocator_, this, &cond, guard);
11935 vsli(cond, dt, rd, rm, operand);
11941 void Vsli(Condition cond,
11953 ITScope it_scope(this, &cond, guard);
11955 ITScope it_scope(allocator_, this, &cond, guard);
11957 vsli(cond, dt, rd, rm, operand);
11963 void Vsqrt(Condition cond, DataType dt, SRegister rd, SRegister rm) {
11970 ITScope it_scope(this, &cond, guard);
11972 ITScope it_scope(allocator_, this, &cond, guard);
11974 vsqrt(cond, dt, rd, rm);
11978 void Vsqrt(Condition cond, DataType dt, DRegister rd, DRegister rm) {
11985 ITScope it_scope(this, &cond, guard);
11987 ITScope it_scope(allocator_, this, &cond, guard);
11989 vsqrt(cond, dt, rd, rm);
11993 void Vsra(Condition cond,
12005 ITScope it_scope(this, &cond, guard);
12007 ITScope it_scope(allocator_, this, &cond, guard);
12009 vsra(cond, dt, rd, rm, operand);
12015 void Vsra(Condition cond,
12027 ITScope it_scope(this, &cond, guard);
12029 ITScope it_scope(allocator_, this, &cond, guard);
12031 vsra(cond, dt, rd, rm, operand);
12037 void Vsri(Condition cond,
12049 ITScope it_scope(this, &cond, guard);
12051 ITScope it_scope(allocator_, this, &cond, guard);
12053 vsri(cond, dt, rd, rm, operand);
12059 void Vsri(Condition cond,
12071 ITScope it_scope(this, &cond, guard);
12073 ITScope it_scope(allocator_, this, &cond, guard);
12075 vsri(cond, dt, rd, rm, operand);
12081 void Vst1(Condition cond,
12091 ITScope it_scope(this, &cond, guard);
12093 ITScope it_scope(allocator_, this, &cond, guard);
12095 vst1(cond, dt, nreglist, operand);
12103 void Vst2(Condition cond,
12113 ITScope it_scope(this, &cond, guard);
12115 ITScope it_scope(allocator_, this, &cond, guard);
12117 vst2(cond, dt, nreglist, operand);
12125 void Vst3(Condition cond,
12135 ITScope it_scope(this, &cond, guard);
12137 ITScope it_scope(allocator_, this, &cond, guard);
12139 vst3(cond, dt, nreglist, operand);
12147 void Vst3(Condition cond,
12157 ITScope it_scope(this, &cond, guard);
12159 ITScope it_scope(allocator_, this, &cond, guard);
12161 vst3(cond, dt, nreglist, operand);
12169 void Vst4(Condition cond,
12179 ITScope it_scope(this, &cond, guard);
12181 ITScope it_scope(allocator_, this, &cond, guard);
12183 vst4(cond, dt, nreglist, operand);
12191 void Vstm(Condition cond,
12202 ITScope it_scope(this, &cond, guard);
12204 ITScope it_scope(allocator_, this, &cond, guard);
12206 vstm(cond, dt, rn, write_back, dreglist);
12214 void Vstm(Condition cond,
12218 Vstm(cond, kDataTypeValueNone, rn, write_back, dreglist);
12224 void Vstm(Condition cond,
12235 ITScope it_scope(this, &cond, guard);
12237 ITScope it_scope(allocator_, this, &cond, guard);
12239 vstm(cond, dt, rn, write_back, sreglist);
12247 void Vstm(Condition cond,
12251 Vstm(cond, kDataTypeValueNone, rn, write_back, sreglist);
12257 void Vstmdb(Condition cond,
12268 ITScope it_scope(this, &cond, guard);
12270 ITScope it_scope(allocator_, this, &cond, guard);
12272 vstmdb(cond, dt, rn, write_back, dreglist);
12280 void Vstmdb(Condition cond,
12284 Vstmdb(cond, kDataTypeValueNone, rn, write_back, dreglist);
12290 void Vstmdb(Condition cond,
12301 ITScope it_scope(this, &cond, guard);
12303 ITScope it_scope(allocator_, this, &cond, guard);
12305 vstmdb(cond, dt, rn, write_back, sreglist);
12313 void Vstmdb(Condition cond,
12317 Vstmdb(cond, kDataTypeValueNone, rn, write_back, sreglist);
12323 void Vstmia(Condition cond,
12334 ITScope it_scope(this, &cond, guard);
12336 ITScope it_scope(allocator_, this, &cond, guard);
12338 vstmia(cond, dt, rn, write_back, dreglist);
12346 void Vstmia(Condition cond,
12350 Vstmia(cond, kDataTypeValueNone, rn, write_back, dreglist);
12356 void Vstmia(Condition cond,
12367 ITScope it_scope(this, &cond, guard);
12369 ITScope it_scope(allocator_, this, &cond, guard);
12371 vstmia(cond, dt, rn, write_back, sreglist);
12379 void Vstmia(Condition cond,
12383 Vstmia(cond, kDataTypeValueNone, rn, write_back, sreglist);
12389 void Vstr(Condition cond,
12399 ITScope it_scope(this, &cond, guard);
12401 ITScope it_scope(allocator_, this, &cond, guard);
12403 vstr(cond, dt, rd, operand);
12408 void Vstr(Condition cond, DRegister rd, const MemOperand& operand) {
12409 Vstr(cond, Untyped64, rd, operand);
12415 void Vstr(Condition cond,
12425 ITScope it_scope(this, &cond, guard);
12427 ITScope it_scope(allocator_, this, &cond, guard);
12429 vstr(cond, dt, rd, operand);
12434 void Vstr(Condition cond, SRegister rd, const MemOperand& operand) {
12435 Vstr(cond, Untyped32, rd, operand);
12442 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
12450 ITScope it_scope(this, &cond, guard);
12452 ITScope it_scope(allocator_, this, &cond, guard);
12454 vsub(cond, dt, rd, rn, rm);
12461 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
12469 ITScope it_scope(this, &cond, guard);
12471 ITScope it_scope(allocator_, this, &cond, guard);
12473 vsub(cond, dt, rd, rn, rm);
12480 Condition cond, DataType dt, SRegister rd, SRegister rn, SRegister rm) {
12488 ITScope it_scope(this, &cond, guard);
12490 ITScope it_scope(allocator_, this, &cond, guard);
12492 vsub(cond, dt, rd, rn, rm);
12499 Condition cond, DataType dt, DRegister rd, QRegister rn, QRegister rm) {
12507 ITScope it_scope(this, &cond, guard);
12509 ITScope it_scope(allocator_, this, &cond, guard);
12511 vsubhn(cond, dt, rd, rn, rm);
12518 Condition cond, DataType dt, QRegister rd, DRegister rn, DRegister rm) {
12526 ITScope it_scope(this, &cond, guard);
12528 ITScope it_scope(allocator_, this, &cond, guard);
12530 vsubl(cond, dt, rd, rn, rm);
12537 Condition cond, DataType dt, QRegister rd, QRegister rn, DRegister rm) {
12545 ITScope it_scope(this, &cond, guard);
12547 ITScope it_scope(allocator_, this, &cond, guard);
12549 vsubw(cond, dt, rd, rn, rm);
12555 void Vswp(Condition cond, DataType dt, DRegister rd, DRegister rm) {
12562 ITScope it_scope(this, &cond, guard);
12564 ITScope it_scope(allocator_, this, &cond, guard);
12566 vswp(cond, dt, rd, rm);
12569 void Vswp(Condition cond, DRegister rd, DRegister rm) {
12570 Vswp(cond, kDataTypeValueNone, rd, rm);
12576 void Vswp(Condition cond, DataType dt, QRegister rd, QRegister rm) {
12583 ITScope it_scope(this, &cond, guard);
12585 ITScope it_scope(allocator_, this, &cond, guard);
12587 vswp(cond, dt, rd, rm);
12590 void Vswp(Condition cond, QRegister rd, QRegister rm) {
12591 Vswp(cond, kDataTypeValueNone, rd, rm);
12597 void Vtbl(Condition cond,
12609 ITScope it_scope(this, &cond, guard);
12611 ITScope it_scope(allocator_, this, &cond, guard);
12613 vtbl(cond, dt, rd, nreglist, rm);
12622 void Vtbx(Condition cond,
12634 ITScope it_scope(this, &cond, guard);
12636 ITScope it_scope(allocator_, this, &cond, guard);
12638 vtbx(cond, dt, rd, nreglist, rm);
12647 void Vtrn(Condition cond, DataType dt, DRegister rd, DRegister rm) {
12654 ITScope it_scope(this, &cond, guard);
12656 ITScope it_scope(allocator_, this, &cond, guard);
12658 vtrn(cond, dt, rd, rm);
12662 void Vtrn(Condition cond, DataType dt, QRegister rd, QRegister rm) {
12669 ITScope it_scope(this, &cond, guard);
12671 ITScope it_scope(allocator_, this, &cond, guard);
12673 vtrn(cond, dt, rd, rm);
12678 Condition cond, DataType dt, DRegister rd, DRegister rn, DRegister rm) {
12686 ITScope it_scope(this, &cond, guard);
12688 ITScope it_scope(allocator_, this, &cond, guard);
12690 vtst(cond, dt, rd, rn, rm);
12697 Condition cond, DataType dt, QRegister rd, QRegister rn, QRegister rm) {
12705 ITScope it_scope(this, &cond, guard);
12707 ITScope it_scope(allocator_, this, &cond, guard);
12709 vtst(cond, dt, rd, rn, rm);
12715 void Vuzp(Condition cond, DataType dt, DRegister rd, DRegister rm) {
12722 ITScope it_scope(this, &cond, guard);
12724 ITScope it_scope(allocator_, this, &cond, guard);
12726 vuzp(cond, dt, rd, rm);
12730 void Vuzp(Condition cond, DataType dt, QRegister rd, QRegister rm) {
12737 ITScope it_scope(this, &cond, guard);
12739 ITScope it_scope(allocator_, this, &cond, guard);
12741 vuzp(cond, dt, rd, rm);
12745 void Vzip(Condition cond, DataType dt, DRegister rd, DRegister rm) {
12752 ITScope it_scope(this, &cond, guard);
12754 ITScope it_scope(allocator_, this, &cond, guard);
12756 vzip(cond, dt, rd, rm);
12760 void Vzip(Condition cond, DataType dt, QRegister rd, QRegister rm) {
12767 ITScope it_scope(this, &cond, guard);
12769 ITScope it_scope(allocator_, this, &cond, guard);
12771 vzip(cond, dt, rd, rm);
12775 void Yield(Condition cond) {
12780 ITScope it_scope(this, &cond, guard);
12782 ITScope it_scope(allocator_, this, &cond, guard);
12784 yield(cond);
12787 void Vabs(Condition cond, VRegister rd, VRegister rm) {
12791 Vabs(cond, F32, rd.S(), rm.S());
12793 Vabs(cond, F64, rd.D(), rm.D());
12797 void Vadd(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12802 Vadd(cond, F32, rd.S(), rn.S(), rm.S());
12804 Vadd(cond, F64, rd.D(), rn.D(), rm.D());
12808 void Vcmp(Condition cond, VRegister rd, VRegister rm) {
12812 Vcmp(cond, F32, rd.S(), rm.S());
12814 Vcmp(cond, F64, rd.D(), rm.D());
12818 void Vcmpe(Condition cond, VRegister rd, VRegister rm) {
12822 Vcmpe(cond, F32, rd.S(), rm.S());
12824 Vcmpe(cond, F64, rd.D(), rm.D());
12828 void Vdiv(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12833 Vdiv(cond, F32, rd.S(), rn.S(), rm.S());
12835 Vdiv(cond, F64, rd.D(), rn.D(), rm.D());
12839 void Vfma(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12844 Vfma(cond, F32, rd.S(), rn.S(), rm.S());
12846 Vfma(cond, F64, rd.D(), rn.D(), rm.D());
12850 void Vfms(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12855 Vfms(cond, F32, rd.S(), rn.S(), rm.S());
12857 Vfms(cond, F64, rd.D(), rn.D(), rm.D());
12861 void Vfnma(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12866 Vfnma(cond, F32, rd.S(), rn.S(), rm.S());
12868 Vfnma(cond, F64, rd.D(), rn.D(), rm.D());
12874 void Vfnms(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12879 Vfnms(cond, F32, rd.S(), rn.S(), rm.S());
12881 Vfnms(cond, F64, rd.D(), rn.D(), rm.D());
12907 void Vmla(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12912 Vmla(cond, F32, rd.S(), rn.S(), rm.S());
12914 Vmla(cond, F64, rd.D(), rn.D(), rm.D());
12918 void Vmls(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12923 Vmls(cond, F32, rd.S(), rn.S(), rm.S());
12925 Vmls(cond, F64, rd.D(), rn.D(), rm.D());
12929 void Vmov(Condition cond, VRegister rd, VRegister rm) {
12933 Vmov(cond, F32, rd.S(), rm.S());
12935 Vmov(cond, F64, rd.D(), rm.D());
12939 void Vmul(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12944 Vmul(cond, F32, rd.S(), rn.S(), rm.S());
12946 Vmul(cond, F64, rd.D(), rn.D(), rm.D());
12950 void Vneg(Condition cond, VRegister rd, VRegister rm) {
12954 Vneg(cond, F32, rd.S(), rm.S());
12956 Vneg(cond, F64, rd.D(), rm.D());
12960 void Vnmla(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12965 Vnmla(cond, F32, rd.S(), rn.S(), rm.S());
12967 Vnmla(cond, F64, rd.D(), rn.D(), rm.D());
12973 void Vnmls(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12978 Vnmls(cond, F32, rd.S(), rn.S(), rm.S());
12980 Vnmls(cond, F64, rd.D(), rn.D(), rm.D());
12986 void Vnmul(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
12991 Vnmul(cond, F32, rd.S(), rn.S(), rm.S());
12993 Vnmul(cond, F64, rd.D(), rn.D(), rm.D());
13035 void Vrintr(Condition cond, VRegister rd, VRegister rm) {
13039 Vrintr(cond, F32, rd.S(), rm.S());
13041 Vrintr(cond, F64, rd.D(), rm.D());
13045 void Vrintx(Condition cond, VRegister rd, VRegister rm) {
13049 Vrintx(cond, F32, rd.S(), rm.S());
13051 Vrintx(cond, F64, rd.D(), rm.D());
13055 void Vrintz(Condition cond, VRegister rd, VRegister rm) {
13059 Vrintz(cond, F32, rd.S(), rm.S());
13061 Vrintz(cond, F64, rd.D(), rm.D());
13105 void Vsqrt(Condition cond, VRegister rd, VRegister rm) {
13109 Vsqrt(cond, F32, rd.S(), rm.S());
13111 Vsqrt(cond, F64, rd.D(), rm.D());
13115 void Vsub(Condition cond, VRegister rd, VRegister rn, VRegister rm) {
13120 Vsub(cond, F32, rd.S(), rn.S(), rm.S());
13122 Vsub(cond, F64, rd.D(), rn.D(), rm.D());
13227 "void Vrintr(Condition cond, DataType dt, SRegister rd, SRegister rm)",
13228 void Vrintr(Condition cond,
13235 return Vrintr(cond, dt1, rd, rm);
13246 "void Vrintr(Condition cond, DataType dt, DRegister rd, DRegister rm)",
13247 void Vrintr(Condition cond,
13254 return Vrintr(cond, dt1, rd, rm);
13265 "void Vrintx(Condition cond, DataType dt, DRegister rd, DRegister rm)",
13266 void Vrintx(Condition cond,
13273 return Vrintx(cond, dt1, rd, rm);
13292 "void Vrintx(Condition cond, DataType dt, SRegister rd, SRegister rm)",
13293 void Vrintx(Condition cond,
13300 return Vrintx(cond, dt1, rd, rm);
13311 "void Vrintz(Condition cond, DataType dt, DRegister rd, DRegister rm)",
13312 void Vrintz(Condition cond,
13319 return Vrintz(cond, dt1, rd, rm);
13338 "void Vrintz(Condition cond, DataType dt, SRegister rd, SRegister rm)",
13339 void Vrintz(Condition cond,
13346 return Vrintz(cond, dt1, rd, rm);
13357 bool NeedBranch(Condition* cond) { return !cond->Is(al) && IsUsingT32(); }