Lines Matching full:exponent
611 // Get double and extract exponent.
616 // Double to remove sign bit, shift exponent down to least significant bits.
617 // and subtract bias to get the unshifted, unbiased exponent.
621 // Check whether the exponent is too big for a 63 bit unsigned integer.
624 // Handle exponent range 0..62.
629 // Exponent negative or 63+.
631 // If exponent negative or above 83, number contains no significant bits in
635 // Exponent in rage 63..83.
636 // Mantissa * 2^exponent contains bits in the range 2^0..2^31, namely
637 // the least significant exponent-52 bits.
649 // Left shift mantissa by (exponent - mantissabits - 1) to save the
1716 // Move exponent and sign bits to low bits.
2001 const Register exponent = rdx;
2003 const Register exponent = rdi;
2020 // The exponent and base are supplied as arguments on the stack.
2024 __ movq(exponent, Operand(rsp, 1 * kPointerSize));
2038 __ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear);
2039 __ SmiToInteger32(exponent, exponent);
2043 __ CompareRoot(FieldOperand(exponent, HeapObject::kMapOffset),
2046 __ movsd(double_exponent, FieldOperand(exponent, HeapNumber::kValueOffset));
2048 __ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear);
2049 __ SmiToInteger32(exponent, exponent);
2053 __ movsd(double_exponent, FieldOperand(exponent, HeapNumber::kValueOffset));
2059 __ cvttsd2si(exponent, double_exponent);
2061 __ cmpl(exponent, Immediate(0x80000000u));
2063 __ cvtlsi2sd(double_scratch, exponent);
2064 // Already ruled out NaNs for exponent.
2077 // Already ruled out NaNs for exponent.
2109 // Already ruled out NaNs for exponent.
2149 // Exponent is in st(1) and base is in st(0)
2179 // Calculate power with integer exponent.
2182 // Back up exponent as we need to check if exponent is negative later.
2183 __ movq(scratch, exponent); // Back up exponent.
2187 // Get absolute value of exponent.
2203 // If the exponent is negative, return 1/result.
2204 __ testl(exponent, exponent);
2213 // and may not have contained the exponent value in the first place when the
2214 // input was a smi. We reset it with exponent value before bailing out.
2216 __ cvtlsi2sd(double_exponent, exponent);
2234 // Move base to the correct argument register. Exponent is already in xmm1.