/external/v8/src/crankshaft/arm64/ |
H A D | lithium-codegen-arm64.h | 108 DoubleRegister double_scratch() { return crankshaft_fp_scratch; } function in class:v8::internal::LCodeGen
|
/external/v8/src/arm/ |
H A D | code-stubs-arm.cc | 98 LowDwVfpRegister double_scratch = kScratchDoubleReg; local 104 __ vldr(double_scratch, MemOperand(input_reg, double_offset)); 105 __ vmov(scratch_low, scratch_high, double_scratch); 108 __ vcvt_s32_f64(double_scratch.low(), double_scratch); 109 __ vmov(result_reg, double_scratch.low()); 707 const DwVfpRegister double_scratch = d3; local 757 __ vcvt_f64_u32(double_scratch, single_scratch); 758 __ VFPCompareAndSetFlags(double_scratch, double_exponent); 768 __ vmov(double_scratch, 0. [all...] |
/external/v8/src/arm64/ |
H A D | code-stubs-arm64.cc | 85 DoubleRegister double_scratch = d0; // only used if !skip_fastpath() local 95 __ Push(double_scratch); 97 __ Ldr(double_scratch, MemOperand(input, double_offset)); 100 __ TryConvertDoubleToInt64(result, double_scratch, &done); 101 __ Fmov(result, double_scratch); 146 __ Pop(double_scratch); 156 FPRegister double_scratch, 231 __ Ldr(double_scratch, FieldMemOperand(right, HeapNumber::kValueOffset)); 232 __ Fcmp(double_scratch, double_scratch); 154 EmitIdenticalObjectComparison(MacroAssembler* masm, Register left, Register right, Register scratch, FPRegister double_scratch, Label* slow, Condition cond) argument [all...] |
/external/v8/src/ia32/ |
H A D | code-stubs-ia32.cc | 337 const XMMRegister double_scratch = xmm4; local 388 __ DoubleToI(exponent, double_exponent, double_scratch, 406 // Load double_scratch with 0.5. 408 __ movd(double_scratch, scratch); 409 __ cvtss2sd(double_scratch, double_scratch); 411 __ ucomisd(double_scratch, double_exponent); 419 __ movd(double_scratch, scratch); 420 __ cvtss2sd(double_scratch, double_scratch); [all...] |
/external/v8/src/mips/ |
H A D | code-stubs-mips.cc | 101 DoubleRegister double_scratch = kLithiumScratchDouble; local 107 __ ldc1(double_scratch, MemOperand(input_reg, double_offset)); 114 __ Trunc_w_d(double_scratch, double_scratch); 116 __ mfc1(scratch3, double_scratch); 771 const DoubleRegister double_scratch = f6; local 820 double_scratch, 832 __ Move(double_scratch, 0.5); 838 double_scratch); 839 // double_scratch ca [all...] |
H A D | macro-assembler-mips.cc | 2632 DoubleRegister double_scratch, 2636 DCHECK(!double_input.is(double_scratch)); 2645 cvt_w_d(double_scratch, double_input); 2646 mfc1(result, double_scratch); 2647 cvt_d_w(double_scratch, double_scratch); 2648 BranchF(&done, NULL, eq, double_input, double_scratch); 2665 Round_w_d(double_scratch, double_input); 2668 Trunc_w_d(double_scratch, double_input); 2671 Ceil_w_d(double_scratch, double_inpu 4753 DoubleRegister double_scratch = f2; local [all...] |
/external/v8/src/mips64/ |
H A D | code-stubs-mips64.cc | 100 DoubleRegister double_scratch = kLithiumScratchDouble; local 105 __ ldc1(double_scratch, MemOperand(input_reg, double_offset)); 112 __ Trunc_w_d(double_scratch, double_scratch); 114 __ mfc1(scratch3, double_scratch); 768 const DoubleRegister double_scratch = f6; local 817 double_scratch, 830 __ Move(double_scratch, 0.5); 836 double_scratch); 837 // double_scratch ca [all...] |
/external/v8/src/ppc/ |
H A D | code-stubs-ppc.cc | 92 DoubleRegister double_scratch = kScratchDoubleReg; local 100 __ lfd(double_scratch, MemOperand(input_reg, double_offset)); 103 __ ConvertDoubleToInt64(double_scratch, 745 const DoubleRegister double_scratch = d0; local 790 double_scratch); 800 __ LoadDoubleLiteral(double_scratch, 0.5, scratch); 801 __ fcmpu(double_exponent, double_scratch); 806 __ LoadDoubleLiteral(double_scratch, -V8_INFINITY, scratch); 807 __ fcmpu(double_base, double_scratch); 809 __ fneg(double_result, double_scratch); [all...] |
H A D | macro-assembler-ppc.cc | 2245 Register scratch1, DoubleRegister double_scratch, Label* fail, 2257 lfd(double_scratch, FieldMemOperand(value_reg, HeapNumber::kValueOffset)); 2259 CanonicalizeNaN(double_scratch); 2263 SmiToDouble(double_scratch, value_reg); 2268 stfd(double_scratch, FieldMemOperand(scratch1, FixedDoubleArray::kHeaderSize - 2516 DoubleRegister double_scratch) { 2517 TryDoubleToInt32Exact(scratch1, double_input, scratch2, double_scratch); 2559 DoubleRegister double_scratch) { 2561 DCHECK(!double_input.is(double_scratch)); 2567 result, double_scratch); 2192 STATIC_ASSERT(Map::kInstanceTypeOffset < 4096); STATIC_ASSERT(LAST_TYPE < 256); lbz(type_reg, FieldMemOperand(map, Map::kInstanceTypeOffset)); cmpi(type_reg, Operand(type)); } void MacroAssembler::CompareRoot(Register obj, Heap::RootListIndex index) { DCHECK(!obj.is(r0)); LoadRoot(r0, index); cmp(obj, r0); } void MacroAssembler::CheckFastElements(Register map, Register scratch, Label* fail) { STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); STATIC_ASSERT(FAST_ELEMENTS == 2); STATIC_ASSERT(FAST_HOLEY_ELEMENTS == 3); lbz(scratch, FieldMemOperand(map, Map::kBitField2Offset)); STATIC_ASSERT(Map::kMaximumBitField2FastHoleyElementValue < 0x8000); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue)); bgt(fail); } void MacroAssembler::CheckFastObjectElements(Register map, Register scratch, Label* fail) { STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); STATIC_ASSERT(FAST_ELEMENTS == 2); STATIC_ASSERT(FAST_HOLEY_ELEMENTS == 3); lbz(scratch, FieldMemOperand(map, Map::kBitField2Offset)); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue)); ble(fail); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue)); bgt(fail); } void MacroAssembler::CheckFastSmiElements(Register map, Register scratch, Label* fail) { STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); lbz(scratch, FieldMemOperand(map, Map::kBitField2Offset)); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue)); bgt(fail); } void MacroAssembler::StoreNumberToDoubleElements( Register value_reg, Register key_reg, Register elements_reg, Register scratch1, DoubleRegister double_scratch, Label* fail, int elements_offset) { DCHECK(!AreAliased(value_reg, key_reg, elements_reg, scratch1)); Label smi_value, store; JumpIfSmi(value_reg, &smi_value); CheckMap(value_reg, scratch1, isolate()->factory()->heap_number_map(), fail, DONT_DO_SMI_CHECK); lfd(double_scratch, FieldMemOperand(value_reg, HeapNumber::kValueOffset)); CanonicalizeNaN(double_scratch); b(&store); bind(&smi_value); SmiToDouble(double_scratch, value_reg); bind(&store); SmiToDoubleArrayOffset(scratch1, key_reg); add(scratch1, elements_reg, scratch1); stfd(double_scratch, FieldMemOperand(scratch1, FixedDoubleArray::kHeaderSize - elements_offset)); } void MacroAssembler::AddAndCheckForOverflow(Register dst, Register left, Register right, Register overflow_dst, Register scratch) { DCHECK(!dst.is(overflow_dst)); DCHECK(!dst.is(scratch)); DCHECK(!overflow_dst.is(scratch)); DCHECK(!overflow_dst.is(left)); DCHECK(!overflow_dst.is(right)); bool left_is_right = left.is(right); RCBit xorRC = left_is_right ? SetRC : LeaveRC; if (dst.is(left)) { mr(scratch, left); add(dst, left, right); xor_(overflow_dst, dst, scratch, xorRC); if (!left_is_right) xor_(scratch, dst, right); } else if (dst.is(right)) { mr(scratch, right); add(dst, left, right); xor_(overflow_dst, dst, left, xorRC); if (!left_is_right) xor_(scratch, dst, scratch); } else { add(dst, left, right); xor_(overflow_dst, dst, left, xorRC); if (!left_is_right) xor_(scratch, dst, right); } if (!left_is_right) and_(overflow_dst, scratch, overflow_dst, SetRC); } void MacroAssembler::AddAndCheckForOverflow(Register dst, Register left, intptr_t right, Register overflow_dst, Register scratch) { Register original_left = left; DCHECK(!dst.is(overflow_dst)); DCHECK(!dst.is(scratch)); DCHECK(!overflow_dst.is(scratch)); DCHECK(!overflow_dst.is(left)); if (dst.is(left)) { original_left = overflow_dst; mr(original_left, left); } Add(dst, left, right, scratch); xor_(overflow_dst, dst, original_left); if (right >= 0) argument 2514 TestDoubleIsInt32(DoubleRegister double_input, Register scratch1, Register scratch2, DoubleRegister double_scratch) argument 2556 TryDoubleToInt32Exact(Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch) argument 2583 TryInt32Floor(Register result, DoubleRegister double_input, Register input_high, Register scratch, DoubleRegister double_scratch, Label* done, Label* exact) argument 2626 DoubleRegister double_scratch = kScratchDoubleReg; local 2672 DoubleRegister double_scratch = kScratchDoubleReg; local 3745 ClampDoubleToUint8(Register result_reg, DoubleRegister input_reg, DoubleRegister double_scratch) argument [all...] |
/external/v8/src/s390/ |
H A D | code-stubs-s390.cc | 90 DoubleRegister double_scratch = kScratchDoubleReg; local 98 __ LoadDouble(double_scratch, MemOperand(input_reg, double_offset)); 101 __ ConvertDoubleToInt64(double_scratch, 722 const DoubleRegister double_scratch = d0; local 767 double_scratch); 777 __ LoadDoubleLiteral(double_scratch, 0.5, scratch); 778 __ cdbr(double_exponent, double_scratch); 783 __ LoadDoubleLiteral(double_scratch, -V8_INFINITY, scratch); 784 __ cdbr(double_base, double_scratch); 786 __ lcdbr(double_result, double_scratch); [all...] |
H A D | macro-assembler-s390.cc | 2150 Register scratch1, DoubleRegister double_scratch, Label* fail, 2162 LoadDouble(double_scratch, 2165 CanonicalizeNaN(double_scratch); 2169 SmiToDouble(double_scratch, value_reg); 2173 StoreDouble(double_scratch, 2390 DoubleRegister double_scratch) { 2391 TryDoubleToInt32Exact(scratch1, double_input, scratch2, double_scratch); 2426 DoubleRegister double_scratch) { 2428 DCHECK(!double_input.is(double_scratch)); 2434 result, double_scratch); 2388 TestDoubleIsInt32(DoubleRegister double_input, Register scratch1, Register scratch2, DoubleRegister double_scratch) argument 2423 TryDoubleToInt32Exact(Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch) argument 2450 TryInt32Floor(Register result, DoubleRegister double_input, Register input_high, Register scratch, DoubleRegister double_scratch, Label* done, Label* exact) argument 2497 DoubleRegister double_scratch = kScratchDoubleReg; local 2540 DoubleRegister double_scratch = kScratchDoubleReg; local 3483 ClampDoubleToUint8(Register result_reg, DoubleRegister input_reg, DoubleRegister double_scratch) argument [all...] |
/external/v8/src/x64/ |
H A D | code-stubs-x64.cc | 222 const XMMRegister double_scratch = xmm4; local 272 __ DoubleToI(exponent, double_exponent, double_scratch, 290 // Load double_scratch with 0.5. 292 __ Movq(double_scratch, scratch); 294 __ Ucomisd(double_scratch, double_exponent); 302 __ Movq(double_scratch, scratch); 303 __ Ucomisd(double_scratch, double_base); 311 __ Subsd(double_result, double_scratch); 316 __ Xorpd(double_scratch, double_scratch); [all...] |
/external/v8/src/crankshaft/arm/ |
H A D | lithium-codegen-arm.cc | 3985 DwVfpRegister double_scratch = double_scratch0(); local 4009 __ VFPCanonicalizeNaN(double_scratch, value); 4010 __ vstr(double_scratch, scratch, 0); 4651 LowDwVfpRegister double_scratch = double_scratch0(); local 4704 __ TryDoubleToInt32Exact(input_reg, double_scratch2, double_scratch); 4774 LowDwVfpRegister double_scratch = double_scratch0(); local 4779 __ TryDoubleToInt32Exact(result_reg, double_input, double_scratch); 4799 LowDwVfpRegister double_scratch = double_scratch0(); local 4804 __ TryDoubleToInt32Exact(result_reg, double_input, double_scratch);
|
/external/v8/src/crankshaft/mips/ |
H A D | lithium-codegen-mips.cc | 3919 DoubleRegister double_scratch = double_scratch0(); local 3951 __ ldc1(double_scratch, 3953 __ sdc1(double_scratch, MemOperand(scratch, 0)); 4593 DoubleRegister double_scratch = double_scratch0(); local 4644 __ ldc1(double_scratch, 4650 double_scratch, 4662 __ Mfhc1(scratch1, double_scratch);
|
/external/v8/src/crankshaft/mips64/ |
H A D | lithium-codegen-mips64.cc | 4137 DoubleRegister double_scratch = double_scratch0(); local 4167 __ FPUCanonicalizeNaN(double_scratch, value); 4168 __ sdc1(double_scratch, MemOperand(scratch, 0)); 4797 DoubleRegister double_scratch = double_scratch0(); local 4848 __ ldc1(double_scratch, 4854 double_scratch, 4866 __ mfhc1(scratch1, double_scratch); // Get exponent/sign bits.
|
/external/v8/src/crankshaft/ppc/ |
H A D | lithium-codegen-ppc.cc | 4243 DoubleRegister double_scratch = double_scratch0(); local 4273 __ CanonicalizeNaN(double_scratch, value); 4274 __ stfd(double_scratch, MemOperand(elements, base_offset)); 4912 DoubleRegister double_scratch = double_scratch0(); local 4965 double_scratch); 5033 DoubleRegister double_scratch = double_scratch0(); local 5039 double_scratch); 5058 DoubleRegister double_scratch = double_scratch0(); local 5064 double_scratch);
|
/external/v8/src/crankshaft/s390/ |
H A D | lithium-codegen-s390.cc | 4145 DoubleRegister double_scratch = double_scratch0(); local 4186 __ CanonicalizeNaN(double_scratch, value); 4189 __ std(double_scratch, MemOperand(scratch, elements, address_offset)); 4191 __ std(double_scratch, MemOperand(elements, address_offset)); 4827 DoubleRegister double_scratch = double_scratch0(); local 4877 double_scratch); 4942 DoubleRegister double_scratch = double_scratch0(); local 4948 double_scratch); 4966 DoubleRegister double_scratch = double_scratch0(); local 4972 double_scratch); [all...] |