Home | History | Annotate | Download | only in x64

Lines Matching refs:src2

1313 void MacroAssembler::SmiOrIfSmis(Register dst, Register src1, Register src2,
1316 if (dst.is(src1) || dst.is(src2)) {
1318 DCHECK(!src2.is(kScratchRegister));
1320 orp(kScratchRegister, src2);
1325 orp(dst, src2);
1518 Register src2,
1521 Condition both_smi = CheckBothSmi(src1, src2);
1527 Register src2,
1530 Condition both_smi = CheckBothNonNegativeSmi(src1, src2);
1704 T src2,
1709 masm->addp(dst, src2);
1712 masm->subp(dst, src2);
1717 masm->addp(dst, src2);
1725 Register src2,
1729 DCHECK(!dst.is(src2));
1730 SmiAddHelper<Register>(this, dst, src1, src2, on_not_smi_result, near_jump);
1736 const Operand& src2,
1740 DCHECK(!src2.AddressUsesRegister(dst));
1741 SmiAddHelper<Operand>(this, dst, src1, src2, on_not_smi_result, near_jump);
1747 Register src2) {
1753 addp(kScratchRegister, src2);
1756 leap(dst, Operand(src1, src2, times_1, 0));
1758 addp(dst, src2);
1768 T src2,
1773 masm->subp(dst, src2);
1776 masm->addp(dst, src2);
1781 masm->subp(dst, src2);
1789 Register src2,
1793 DCHECK(!dst.is(src2));
1794 SmiSubHelper<Register>(this, dst, src1, src2, on_not_smi_result, near_jump);
1800 const Operand& src2,
1804 DCHECK(!src2.AddressUsesRegister(dst));
1805 SmiSubHelper<Operand>(this, dst, src1, src2, on_not_smi_result, near_jump);
1813 T src2) {
1819 masm->subp(dst, src2);
1824 void MacroAssembler::SmiSub(Register dst, Register src1, Register src2) {
1825 DCHECK(!dst.is(src2));
1826 SmiSubNoOverflowHelper<Register>(this, dst, src1, src2);
1832 const Operand& src2) {
1833 SmiSubNoOverflowHelper<Operand>(this, dst, src1, src2);
1839 Register src2,
1842 DCHECK(!dst.is(src2));
1845 DCHECK(!src2.is(kScratchRegister));
1851 imulp(dst, src2);
1861 xorp(dst, src2);
1875 imulp(dst, src2);
1882 // One of src1 and src2 is zero, the check whether the other is
1885 xorp(kScratchRegister, src2);
1894 Register src2,
1898 DCHECK(!src2.is(kScratchRegister));
1900 DCHECK(!src2.is(rax));
1901 DCHECK(!src2.is(rdx));
1905 testp(src2, src2);
1922 testp(src2, src2);
1932 SmiToInteger32(src2, src2);
1935 idivl(src2);
1936 Integer32ToSmi(src2, src2);
1957 Register src2,
1962 DCHECK(!src2.is(kScratchRegister));
1963 DCHECK(!src2.is(rax));
1964 DCHECK(!src2.is(rdx));
1966 DCHECK(!src1.is(src2));
1968 testp(src2, src2);
1975 SmiToInteger32(src2, src2);
1981 cmpl(src2, Immediate(-1));
1984 Integer32ToSmi(src2, src2);
1993 idivl(src2);
1995 Integer32ToSmi(src2, src2);
2031 void MacroAssembler::SmiAnd(Register dst, Register src1, Register src2) {
2032 DCHECK(!dst.is(src2));
2036 andp(dst, src2);
2054 void MacroAssembler::SmiOr(Register dst, Register src1, Register src2) {
2056 DCHECK(!src1.is(src2));
2059 orp(dst, src2);
2075 void MacroAssembler::SmiXor(Register dst, Register src1, Register src2) {
2077 DCHECK(!src1.is(src2));
2080 xorp(dst, src2);
2166 Register src2,
2175 SmiToInteger32(rcx, src2);
2183 DCHECK(!src2.is(kScratchRegister));
2184 DCHECK(!dst.is(src2));
2187 if (src1.is(rcx) || src2.is(rcx)) {
2195 SmiToInteger32(rcx, src2);
2198 // As src1 or src2 could not be dst, we do not need to restore them for
2200 if (src1.is(rcx) || src2.is(rcx)) {
2204 movq(src2, kScratchRegister);
2217 Register src2,
2222 DCHECK(!src2.is(kScratchRegister));
2223 DCHECK(!dst.is(src2));
2225 if (src1.is(rcx) || src2.is(rcx)) {
2233 SmiToInteger32(rcx, src2);
2236 // As src1 or src2 could not be dst, we do not need to restore them for
2238 if (src1.is(rcx) || src2.is(rcx)) {
2242 movq(src2, kScratchRegister);
2254 Register src2) {
2257 DCHECK(!src2
2260 SmiToInteger32(rcx, src2);
2272 Register src2,
2277 DCHECK(!src2.is(kScratchRegister));
2279 DCHECK(!dst.is(src2));
2282 Condition not_both_smis = NegateCondition(CheckBothSmi(src1, src2));
2289 testl(kScratchRegister, src2);
2299 xorp(dst, src2);
2301 // If src1 is a smi, dst holds src1 ^ src2, else it is zero.
2303 // If src1 is a smi, dst is src2, else it is src1, i.e., the non-smi.
2806 void MacroAssembler::Ucomiss(XMMRegister src1, XMMRegister src2) {
2809 vucomiss(src1, src2);
2811 ucomiss(src1, src2);
2816 void MacroAssembler::Ucomiss(XMMRegister src1, const Operand& src2) {
2819 vucomiss(src1, src2);
2821 ucomiss(src1, src2);
2826 void MacroAssembler::Ucomisd(XMMRegister src1, XMMRegister src2) {
2829 vucomisd(src1, src2);
2831 ucomisd(src1, src2);
2836 void MacroAssembler::Ucomisd(XMMRegister src1, const Operand& src2) {
2839 vucomisd(src1, src2);
2841 ucomisd(src1, src2);