Home | History | Annotate | Download | only in ia32

Lines Matching refs:input_reg

2500     Register input_reg = ToRegister(instr->object());
2501 __ cmp(input_reg, factory()->the_hole_value());
2509 XMMRegister input_reg = ToDoubleRegister(instr->object());
2510 __ ucomisd(input_reg, input_reg);
2530 XMMRegister input_reg = ToDoubleRegister(instr->object());
2531 __ movdbl(MemOperand(esp, 0), input_reg);
3731 Register input_reg = ToRegister(instr->value());
3732 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
3737 Register tmp = input_reg.is(eax) ? ecx : eax;
3738 Register tmp2 = tmp.is(ecx) ? edx : input_reg.is(ecx) ? edx : ecx;
3743 __ mov(tmp, FieldOperand(input_reg, HeapNumber::kExponentOffset));
3760 // Restore input_reg after call to runtime.
3761 __ LoadFromSafepointRegisterSlot(input_reg, input_reg);
3764 __ mov(tmp2, FieldOperand(input_reg, HeapNumber::kExponentOffset));
3767 __ mov(tmp2, FieldOperand(input_reg, HeapNumber::kMantissaOffset));
3769 __ StoreToSafepointRegisterSlot(input_reg, tmp);
3776 Register input_reg = ToRegister(instr->value());
3777 __ test(input_reg, Operand(input_reg));
3780 __ neg(input_reg); // Sets flags.
3806 XMMRegister input_reg = ToDoubleRegister(instr->value());
3808 __ subsd(scratch, input_reg);
3809 __ pand(input_reg, scratch);
3815 Register input_reg = ToRegister(instr->value());
3817 __ JumpIfNotSmi(input_reg, deferred->entry());
3828 XMMRegister input_reg = ToDoubleRegister(instr->value());
3836 __ ucomisd(input_reg, xmm_scratch);
3838 __ movmskpd(output_reg, input_reg);
3843 __ roundsd(xmm_scratch, input_reg, Assembler::kRoundDown);
3852 __ ucomisd(input_reg, xmm_scratch);
3860 __ movmskpd(output_reg, input_reg);
3869 __ cvttsd2si(output_reg, Operand(input_reg));
3878 __ cvttsd2si(output_reg, Operand(input_reg));
3880 __ ucomisd(input_reg, xmm_scratch);
3893 XMMRegister input_reg = ToDoubleRegister(instr->value());
3902 __ ucomisd(xmm_scratch, input_reg);
3906 __ addsd(xmm_scratch, input_reg);
3916 __ ucomisd(xmm_scratch, input_reg);
3921 __ movsd(input_temp, input_reg); // Do not alter input_reg.
3941 __ movmskpd(output_reg, input_reg);
3953 XMMRegister input_reg = ToDoubleRegister(instr->value());
3954 ASSERT(ToDoubleRegister(instr->result()).is(input_reg));
3955 __ sqrtsd(input_reg, input_reg);
3962 XMMRegister input_reg = ToDoubleRegister(instr->value());
3964 ASSERT(ToDoubleRegister(instr->result()).is(input_reg));
3975 __ ucomisd(input_reg, xmm_scratch);
3981 __ xorps(input_reg, input_reg);
3982 __ subsd(input_reg, xmm_scratch);
3988 __ addsd(input_reg, xmm_scratch); // Convert -0 to +0.
3989 __ sqrtsd(input_reg, input_reg);
4110 XMMRegister input_reg = ToDoubleRegister(instr->value());
4113 __ ucomisd(input_reg, xmm0);
4118 __ movdbl(input_reg, Operand::StaticVariable(nan));
4123 __ movdbl(input_reg, Operand(esp, 0));
4129 __ movdbl(Operand(esp, 0), input_reg);
4133 __ movdbl(input_reg, Operand(esp, 0));
5077 XMMRegister input_reg = ToDoubleRegister(instr->value());
5078 __ movdbl(FieldOperand(reg, HeapNumber::kValueOffset), input_reg);
5128 void LCodeGen::EmitNumberUntagDNoSSE2(Register input_reg,
5140 __ JumpIfSmi(input_reg, &load_smi, Label::kNear);
5143 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
5152 __ cmp(input_reg, factory()->undefined_value());
5164 __ fld_d(FieldOperand(input_reg, HeapNumber::kValueOffset));
5168 __ fld_d(FieldOperand(input_reg, HeapNumber::kValueOffset));
5172 __ mov(temp_reg, FieldOperand(input_reg, HeapNumber::kExponentOffset));
5186 __ SmiUntag(input_reg); // Untag smi before converting to float.
5187 __ push(input_reg);
5189 __ pop(input_reg);
5190 __ SmiTag(input_reg); // Retag smi.
5196 void LCodeGen::EmitNumberUntagD(Register input_reg,
5207 __ JumpIfSmi(input_reg, &load_smi, Label::kNear);
5210 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
5219 __ cmp(input_reg, factory()->undefined_value());
5231 __ movdbl(result_reg, FieldOperand(input_reg, HeapNumber::kValueOffset));
5248 __ SmiUntag(input_reg); // Untag smi before converting to float.
5249 __ cvtsi2sd(result_reg, Operand(input_reg));
5250 __ SmiTag(input_reg); // Retag smi.
5257 Register input_reg = ToRegister(instr->value());
5260 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
5267 __ cmp(input_reg, factory()->undefined_value());
5270 __ mov(input_reg, 0);
5279 __ fld_d(FieldOperand(input_reg, HeapNumber::kValueOffset));
5281 __ mov(input_reg, FieldOperand(input_reg, HeapNumber::kExponentOffset));
5282 __ and_(input_reg, HeapNumber::kExponentMask);
5285 __ cmp(Operand(input_reg), Immediate(kTooBigExponent));
5297 __ mov(input_reg, Operand(esp, 0)); // Low word of answer is the result.
5302 __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset));
5303 __ cvttsd2si(input_reg, Operand(xmm0));
5304 __ cmp(input_reg, 0x80000000u);
5323 __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset));
5324 __ cvttsd2si(input_reg, Operand(xmm0));
5325 __ cvtsi2sd(xmm_temp, Operand(input_reg));
5332 __ test(input_reg, Operand(input_reg));
5334 __ movmskpd(input_reg, xmm0);
5335 __ and_(input_reg, 1);
5359 Register input_reg = ToRegister(input);
5360 ASSERT(input_reg.is(ToRegister(instr->result())));
5364 __ JumpIfNotSmi(input_reg, deferred->entry());
5365 __ SmiUntag(input_reg);
5373 Register input_reg = ToRegister(instr->value());
5376 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
5382 __ cmp(input_reg, factory()->undefined_value());
5399 __ mov(scratch, FieldOperand(input_reg, HeapNumber::kExponentOffset));
5410 __ cmp(FieldOperand(input_reg, HeapNumber::kMantissaOffset), Immediate(0));
5425 __ mov(scratch3, FieldOperand(input_reg, HeapNumber::kMantissaOffset));
5518 Register input_reg = ToRegister(input);
5519 ASSERT(input_reg.is(ToRegister(instr->result())));
5525 __ JumpIfNotSmi(input_reg, deferred->entry());
5526 __ SmiUntag(input_reg); // Untag smi.
5539 Register input_reg = ToRegister(input);
5551 EmitNumberUntagD(input_reg,
5559 EmitNumberUntagDNoSSE2(input_reg,
5577 XMMRegister input_reg = ToDoubleRegister(input);
5580 __ cvttsd2si(result_reg, Operand(input_reg));
5589 __ movdbl(MemOperand(esp, 0), input_reg);
5597 __ ucomisd(xmm0, input_reg);
5605 __ movmskpd(result_reg, input_reg);
5606 // Bit 0 contains the sign of the double in input_reg.
5624 XMMRegister input_reg = ToDoubleRegister(input);
5628 __ cvttsd2si(result_reg, Operand(input_reg));
5630 __ ucomisd(xmm0, input_reg);
5639 __ movmskpd(result_reg, input_reg);
5640 // Bit 0 contains the sign of the double in input_reg.
5812 Register input_reg = ToRegister(instr->unclamped());
5815 __ JumpIfSmi(input_reg, &is_smi);
5818 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
5824 __ cmp(input_reg, factory()->undefined_value());
5826 __ mov(input_reg, 0);
5831 __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset));
5832 __ ClampDoubleToUint8(xmm0, xmm1, input_reg);
5837 __ SmiUntag(input_reg);
5838 __ ClampUint8(input_reg);
5844 Register input_reg = ToRegister(instr->unclamped());
5852 __ JumpIfSmi(input_reg, &is_smi);
5855 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
5861 __ cmp(input_reg, factory()->undefined_value());
5873 __ mov(scratch, FieldOperand(input_reg, HeapNumber::kExponentOffset));
5874 __ mov(scratch3, FieldOperand(input_reg, HeapNumber::kMantissaOffset));
5942 __ or_(scratch, FieldOperand(input_reg, HeapNumber::kMantissaOffset));
5956 if (!input_reg.is(result_reg)) {
5957 __ mov(result_reg, input_reg);