Searched defs:double_scratch (Results 1 - 17 of 17) sorted by relevance

/external/v8/src/crankshaft/arm64/
H A Dlithium-codegen-arm64.h108 DoubleRegister double_scratch() { return crankshaft_fp_scratch; } function in class:v8::internal::LCodeGen
/external/v8/src/arm/
H A Dcode-stubs-arm.cc87 LowDwVfpRegister double_scratch = kScratchDoubleReg; local
93 __ vldr(double_scratch, MemOperand(input_reg, double_offset));
94 __ vmov(scratch_low, scratch_high, double_scratch);
97 __ vcvt_s32_f64(double_scratch.low(), double_scratch);
98 __ vmov(result_reg, double_scratch.low());
686 const LowDwVfpRegister double_scratch = d3; local
702 __ TryDoubleToInt32Exact(scratch, double_exponent, double_scratch);
728 __ vmov(double_scratch, double_base); // Back up base.
738 __ vmul(double_result, double_result, double_scratch, c
[all...]
H A Dmacro-assembler-arm.cc2447 LowDwVfpRegister double_scratch) {
2448 DCHECK(!double_input.is(double_scratch));
2449 vcvt_s32_f64(double_scratch.low(), double_input);
2450 vcvt_f64_s32(double_scratch, double_scratch.low());
2451 VFPCompareAndSetFlags(double_input, double_scratch);
2457 LowDwVfpRegister double_scratch) {
2458 DCHECK(!double_input.is(double_scratch));
2459 vcvt_s32_f64(double_scratch.low(), double_input);
2460 vmov(result, double_scratch
3566 ClampDoubleToUint8(Register result_reg, DwVfpRegister input_reg, LowDwVfpRegister double_scratch) argument
[all...]
/external/v8/src/arm64/
H A Dcode-stubs-arm64.cc74 DoubleRegister double_scratch = d0; // only used if !skip_fastpath() local
84 __ Push(double_scratch);
86 __ Ldr(double_scratch, MemOperand(input, double_offset));
89 __ TryConvertDoubleToInt64(result, double_scratch, &done);
90 __ Fmov(result, double_scratch);
135 __ Pop(double_scratch);
145 FPRegister double_scratch,
214 __ Ldr(double_scratch, FieldMemOperand(right, HeapNumber::kValueOffset));
215 __ Fcmp(double_scratch, double_scratch);
143 EmitIdenticalObjectComparison(MacroAssembler* masm, Register left, Register right, Register scratch, FPRegister double_scratch, Label* slow, Condition cond) argument
[all...]
/external/v8/src/ia32/
H A Dcode-stubs-ia32.cc324 const XMMRegister double_scratch = xmm4; local
344 __ DoubleToI(exponent, double_exponent, double_scratch,
402 __ movsd(double_scratch, double_base); // Back up base.
417 __ movsd(double_result, double_scratch);
422 __ mulsd(double_scratch, double_scratch);
424 __ mulsd(double_result, double_scratch);
/external/v8/src/mips/
H A Dcode-stubs-mips.cc90 DoubleRegister double_scratch = kLithiumScratchDouble; local
96 __ ldc1(double_scratch, MemOperand(input_reg, double_offset));
103 __ Trunc_w_d(double_scratch, double_scratch);
105 __ mfc1(scratch3, double_scratch);
756 const DoubleRegister double_scratch = f6; local
777 double_scratch,
810 __ mov_d(double_scratch, double_base); // Back up base.
829 __ mul_d(double_result, double_result, double_scratch);
835 __ mul_d(double_scratch, double_scratc
[all...]
/external/v8/src/mips64/
H A Dcode-stubs-mips64.cc89 DoubleRegister double_scratch = kLithiumScratchDouble; local
94 __ ldc1(double_scratch, MemOperand(input_reg, double_offset));
101 __ Trunc_w_d(double_scratch, double_scratch);
103 __ mfc1(scratch3, double_scratch);
753 const DoubleRegister double_scratch = f6; local
774 double_scratch,
807 __ mov_d(double_scratch, double_base); // Back up base.
826 __ mul_d(double_result, double_result, double_scratch);
832 __ mul_d(double_scratch, double_scratc
[all...]
/external/v8/src/ppc/
H A Dcode-stubs-ppc.cc81 DoubleRegister double_scratch = kScratchDoubleReg; local
89 __ lfd(double_scratch, MemOperand(input_reg, double_offset));
92 __ ConvertDoubleToInt64(double_scratch,
728 const DoubleRegister double_scratch = d0; local
744 double_scratch);
772 __ fmr(double_scratch, double_base); // Back up base.
792 __ fmul(double_result, double_result, double_scratch);
796 __ fmul(double_scratch, double_scratch, double_scratch);
[all...]
H A Dmacro-assembler-ppc.cc2165 DoubleRegister double_scratch) {
2166 TryDoubleToInt32Exact(scratch1, double_input, scratch2, double_scratch);
2208 DoubleRegister double_scratch) {
2210 DCHECK(!double_input.is(double_scratch));
2216 result, double_scratch);
2226 fcfid(double_scratch, double_scratch);
2227 fcmpu(double_scratch, double_input);
2234 DoubleRegister double_scratch, Label* done,
2237 DCHECK(!double_input.is(double_scratch));
2163 TestDoubleIsInt32(DoubleRegister double_input, Register scratch1, Register scratch2, DoubleRegister double_scratch) argument
2205 TryDoubleToInt32Exact(Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch) argument
2232 TryInt32Floor(Register result, DoubleRegister double_input, Register input_high, Register scratch, DoubleRegister double_scratch, Label* done, Label* exact) argument
2275 DoubleRegister double_scratch = kScratchDoubleReg; local
2321 DoubleRegister double_scratch = kScratchDoubleReg; local
3249 ClampDoubleToUint8(Register result_reg, DoubleRegister input_reg, DoubleRegister double_scratch) argument
[all...]
/external/v8/src/s390/
H A Dcode-stubs-s390.cc79 DoubleRegister double_scratch = kScratchDoubleReg; local
87 __ LoadDouble(double_scratch, MemOperand(input_reg, double_offset));
90 __ ConvertDoubleToInt64(double_scratch,
705 const DoubleRegister double_scratch = d0; local
721 double_scratch);
747 __ ldr(double_scratch, double_base); // Back up base.
763 __ mdbr(double_result, double_scratch);
768 __ mdbr(double_scratch, double_scratch);
776 __ ldr(double_scratch, double_resul
[all...]
H A Dmacro-assembler-s390.cc1976 DoubleRegister double_scratch) {
1977 TryDoubleToInt32Exact(scratch1, double_input, scratch2, double_scratch);
2012 DoubleRegister double_scratch) {
2014 DCHECK(!double_input.is(double_scratch));
2020 result, double_scratch);
2030 lgdr(scratch, double_scratch);
2031 cdfbr(double_scratch, scratch);
2032 cdbr(double_scratch, double_input);
2038 DoubleRegister double_scratch, Label* done,
2041 DCHECK(!double_input.is(double_scratch));
1866 STATIC_ASSERT(Map::kInstanceTypeOffset < 4096); STATIC_ASSERT(LAST_TYPE < 256); LoadlB(type_reg, FieldMemOperand(map, Map::kInstanceTypeOffset)); CmpP(type_reg, Operand(type)); } void MacroAssembler::CompareRoot(Register obj, Heap::RootListIndex index) { CmpP(obj, MemOperand(kRootRegister, index << kPointerSizeLog2)); } void MacroAssembler::SmiToDouble(DoubleRegister value, Register smi) { SmiUntag(ip, smi); ConvertIntToDouble(ip, value); } void MacroAssembler::CompareMap(Register obj, Register scratch, Handle<Map> map, Label* early_success) { LoadP(scratch, FieldMemOperand(obj, HeapObject::kMapOffset)); CompareMap(obj, map, early_success); } void MacroAssembler::CompareMap(Register obj_map, Handle<Map> map, Label* early_success) { mov(r0, Operand(map)); CmpP(r0, FieldMemOperand(obj_map, HeapObject::kMapOffset)); } void MacroAssembler::CheckMap(Register obj, Register scratch, Handle<Map> map, Label* fail, SmiCheckType smi_check_type) { if (smi_check_type == DO_SMI_CHECK) { JumpIfSmi(obj, fail); } Label success; CompareMap(obj, scratch, map, &success); bne(fail); bind(&success); } void MacroAssembler::CheckMap(Register obj, Register scratch, Heap::RootListIndex index, Label* fail, SmiCheckType smi_check_type) { if (smi_check_type == DO_SMI_CHECK) { JumpIfSmi(obj, fail); } LoadP(scratch, FieldMemOperand(obj, HeapObject::kMapOffset)); CompareRoot(scratch, index); bne(fail); } void MacroAssembler::DispatchWeakMap(Register obj, Register scratch1, Register scratch2, Handle<WeakCell> cell, Handle<Code> success, SmiCheckType smi_check_type) { Label fail; if (smi_check_type == DO_SMI_CHECK) { JumpIfSmi(obj, &fail); } LoadP(scratch1, FieldMemOperand(obj, HeapObject::kMapOffset)); CmpWeakValue(scratch1, cell, scratch2); Jump(success, RelocInfo::CODE_TARGET, eq); bind(&fail); } void MacroAssembler::CmpWeakValue(Register value, Handle<WeakCell> cell, Register scratch, CRegister) { mov(scratch, Operand(cell)); CmpP(value, FieldMemOperand(scratch, WeakCell::kValueOffset)); } void MacroAssembler::GetWeakValue(Register value, Handle<WeakCell> cell) { mov(value, Operand(cell)); LoadP(value, FieldMemOperand(value, WeakCell::kValueOffset)); } void MacroAssembler::LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss) { GetWeakValue(value, cell); JumpIfSmi(value, miss); } void MacroAssembler::GetMapConstructor(Register result, Register map, Register temp, Register temp2) { Label done, loop; LoadP(result, FieldMemOperand(map, Map::kConstructorOrBackPointerOffset)); bind(&loop); JumpIfSmi(result, &done); CompareObjectType(result, temp, temp2, MAP_TYPE); bne(&done); LoadP(result, FieldMemOperand(result, Map::kConstructorOrBackPointerOffset)); b(&loop); bind(&done); } void MacroAssembler::CallStub(CodeStub* stub, TypeFeedbackId ast_id, Condition cond) { DCHECK(AllowThisStubCall(stub)); Call(stub->GetCode(), RelocInfo::CODE_TARGET, ast_id, cond); } void MacroAssembler::TailCallStub(CodeStub* stub, Condition cond) { Jump(stub->GetCode(), RelocInfo::CODE_TARGET, cond); } bool MacroAssembler::AllowThisStubCall(CodeStub* stub) { return has_frame_ || !stub->SometimesSetsUpAFrame(); } void MacroAssembler::TestDoubleIsInt32(DoubleRegister double_input, Register scratch1, Register scratch2, DoubleRegister double_scratch) { TryDoubleToInt32Exact(scratch1, double_input, scratch2, double_scratch); } void MacroAssembler::TestDoubleIsMinusZero(DoubleRegister input, Register scratch1, Register scratch2) { lgdr(scratch1, input); llihf(scratch2, Operand(0x80000000)); CmpP(scratch1, scratch2); } void MacroAssembler::TestDoubleSign(DoubleRegister input, Register scratch) { lgdr(scratch, input); cgfi(scratch, Operand::Zero()); } void MacroAssembler::TestHeapNumberSign(Register input, Register scratch) { LoadlW(scratch, FieldMemOperand(input, HeapNumber::kValueOffset + Register::kExponentOffset)); Cmp32(scratch, Operand::Zero()); } void MacroAssembler::TryDoubleToInt32Exact(Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch) { Label done; DCHECK(!double_input.is(double_scratch)); ConvertDoubleToInt64(double_input, scratch, result, double_scratch); TestIfInt32(result, r0); bne(&done); lgdr(scratch, double_scratch); cdfbr(double_scratch, scratch); cdbr(double_scratch, double_input); bind(&done); } void MacroAssembler::TryInt32Floor(Register result, DoubleRegister double_input, Register input_high, Register scratch, DoubleRegister double_scratch, Label* done, Label* exact) { DCHECK(!result.is(input_high)); DCHECK(!double_input.is(double_scratch)); Label exception; lay(sp, MemOperand(sp, -kDoubleSize)); StoreDouble(double_input, MemOperand(sp)); LoadlW(input_high, MemOperand(sp, Register::kExponentOffset)); la(sp, MemOperand(sp, kDoubleSize)); ExtractBitMask(result, input_high, HeapNumber::kExponentMask); CmpLogicalP(result, Operand(0x7ff)); beq(&exception); ConvertDoubleToInt64(double_input, scratch, result, double_scratch, kRoundToMinusInf); TestIfInt32(result, r0); bne(&exception); lgdr(scratch, double_scratch); cdfbr(double_scratch, scratch); cdbr(double_scratch, double_input); beq(exact); b(done); bind(&exception); } void MacroAssembler::TryInlineTruncateDoubleToI(Register result, DoubleRegister double_input, Label* done) { DoubleRegister double_scratch = kScratchDoubleReg; Register scratch = ip; ConvertDoubleToInt64(double_input, scratch, result, double_scratch); TestIfInt32(result, r0); beq(done); } void MacroAssembler::TruncateDoubleToI(Register result, DoubleRegister double_input) { Label done; TryInlineTruncateDoubleToI(result, double_input, &done); push(r14); lay(sp, MemOperand(sp, -kDoubleSize)); StoreDouble(double_input, MemOperand(sp)); DoubleToIStub stub(isolate(), sp, result, 0, true, true); CallStub(&stub); la(sp, MemOperand(sp, kDoubleSize)); pop(r14); bind(&done); } void MacroAssembler::TruncateHeapNumberToI(Register result, Register object) { Label done; DoubleRegister double_scratch = kScratchDoubleReg; DCHECK(!result.is(object)); LoadDouble(double_scratch, FieldMemOperand(object, HeapNumber::kValueOffset)); TryInlineTruncateDoubleToI(result, double_scratch, &done); push(r14); DoubleToIStub stub(isolate(), object, result, HeapNumber::kValueOffset - kHeapObjectTag, true, true); CallStub(&stub); pop(r14); bind(&done); } void MacroAssembler::TruncateNumberToI(Register object, Register result, Register heap_number_map, Register scratch1, Label* not_number) { Label done; DCHECK(!result.is(object)); UntagAndJumpIfSmi(result, object, &done); JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_number); TruncateHeapNumberToI(result, object); bind(&done); } void MacroAssembler::GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits) { if (CpuFeatures::IsSupported(GENERAL_INSTR_EXT)) { risbg(dst, src, Operand(64 - num_least_bits), Operand(63), Operand(64 - kSmiShift), true); } else { SmiUntag(dst, src); AndP(dst, Operand((1 << num_least_bits) - 1)); } } void MacroAssembler::GetLeastBitsFromInt32(Register dst, Register src, int num_least_bits) { AndP(dst, src, Operand((1 << num_least_bits) - 1)); } void MacroAssembler::CallRuntime(const Runtime::Function* f, int num_arguments, SaveFPRegsMode save_doubles) { CHECK(f->nargs < 0 || f->nargs == num_arguments); mov(r2, Operand(num_arguments)); mov(r3, Operand(ExternalReference(f, isolate()))); CEntryStub stub(isolate(), f->result_size, save_doubles); CallStub(&stub); } void MacroAssembler::CallExternalReference(const ExternalReference& ext, int num_arguments) { mov(r2, Operand(num_arguments)); mov(r3, Operand(ext)); CEntryStub stub(isolate(), 1); CallStub(&stub); } void MacroAssembler::TailCallRuntime(Runtime::FunctionId fid) { const Runtime::Function* function = Runtime::FunctionForId(fid); DCHECK_EQ(1, function->result_size); if (function->nargs >= 0) argument
2979 ClampDoubleToUint8(Register result_reg, DoubleRegister input_reg, DoubleRegister double_scratch) argument
[all...]
/external/v8/src/x64/
H A Dcode-stubs-x64.cc216 const XMMRegister double_scratch = xmm4; local
236 __ DoubleToI(exponent, double_exponent, double_scratch,
294 __ Movsd(double_scratch, double_base); // Back up base.
309 __ Movsd(double_result, double_scratch);
314 __ Mulsd(double_scratch, double_scratch);
316 __ Mulsd(double_result, double_scratch);
/external/v8/src/crankshaft/arm/
H A Dlithium-codegen-arm.cc3875 DwVfpRegister double_scratch = double_scratch0(); local
3899 __ VFPCanonicalizeNaN(double_scratch, value);
3900 __ vstr(double_scratch, scratch, 0);
4523 LowDwVfpRegister double_scratch = double_scratch0(); local
4554 __ TryDoubleToInt32Exact(input_reg, double_scratch2, double_scratch);
4624 LowDwVfpRegister double_scratch = double_scratch0(); local
4629 __ TryDoubleToInt32Exact(result_reg, double_input, double_scratch);
4649 LowDwVfpRegister double_scratch = double_scratch0(); local
4654 __ TryDoubleToInt32Exact(result_reg, double_input, double_scratch);
/external/v8/src/crankshaft/mips/
H A Dlithium-codegen-mips.cc3835 DoubleRegister double_scratch = double_scratch0(); local
3867 __ ldc1(double_scratch,
3869 __ sdc1(double_scratch, MemOperand(scratch, 0));
4494 DoubleRegister double_scratch = double_scratch0(); local
4523 __ ldc1(double_scratch,
4529 double_scratch,
4541 __ Mfhc1(scratch1, double_scratch);
/external/v8/src/crankshaft/mips64/
H A Dlithium-codegen-mips64.cc4056 DoubleRegister double_scratch = double_scratch0(); local
4086 __ FPUCanonicalizeNaN(double_scratch, value);
4087 __ sdc1(double_scratch, MemOperand(scratch, 0));
4687 DoubleRegister double_scratch = double_scratch0(); local
4716 __ ldc1(double_scratch,
4722 double_scratch,
4734 __ mfhc1(scratch1, double_scratch); // Get exponent/sign bits.
/external/v8/src/crankshaft/ppc/
H A Dlithium-codegen-ppc.cc4167 DoubleRegister double_scratch = double_scratch0(); local
4197 __ CanonicalizeNaN(double_scratch, value);
4198 __ stfd(double_scratch, MemOperand(elements, base_offset));
4823 DoubleRegister double_scratch = double_scratch0(); local
4854 double_scratch);
4922 DoubleRegister double_scratch = double_scratch0(); local
4928 double_scratch);
4947 DoubleRegister double_scratch = double_scratch0(); local
4953 double_scratch);
/external/v8/src/crankshaft/s390/
H A Dlithium-codegen-s390.cc4075 DoubleRegister double_scratch = double_scratch0(); local
4116 __ CanonicalizeNaN(double_scratch, value);
4119 __ StoreDouble(double_scratch,
4122 __ StoreDouble(double_scratch, MemOperand(elements, address_offset));
4748 DoubleRegister double_scratch = double_scratch0(); local
4779 double_scratch);
4844 DoubleRegister double_scratch = double_scratch0(); local
4850 double_scratch);
4868 DoubleRegister double_scratch = double_scratch0(); local
4874 double_scratch);
[all...]

Completed in 368 milliseconds