Home | History | Annotate | Download | only in ia32

Lines Matching refs:input_reg

2788   Register input_reg = ToRegister(instr->value());
2789 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
2794 Register tmp = input_reg.is(eax) ? ecx : eax;
2795 Register tmp2 = tmp.is(ecx) ? edx : input_reg.is(ecx) ? edx : ecx;
2801 __ mov(tmp, FieldOperand(input_reg, HeapNumber::kExponentOffset));
2825 // Restore input_reg after call to runtime.
2826 __ LoadFromSafepointRegisterSlot(input_reg, input_reg);
2829 __ mov(tmp2, FieldOperand(input_reg, HeapNumber::kExponentOffset));
2832 __ mov(tmp2, FieldOperand(input_reg, HeapNumber::kMantissaOffset));
2834 __ StoreToSafepointRegisterSlot(input_reg, tmp);
2841 Register input_reg = ToRegister(instr->value());
2842 __ test(input_reg, Operand(input_reg));
2845 __ neg(input_reg);
2846 __ test(input_reg, Operand(input_reg));
2872 XMMRegister input_reg = ToDoubleRegister(instr->value());
2874 __ subsd(scratch, input_reg);
2875 __ pand(input_reg, scratch);
2881 Register input_reg = ToRegister(instr->value());
2883 __ JumpIfNotSmi(input_reg, deferred->entry());
2893 XMMRegister input_reg = ToDoubleRegister(instr->value());
2901 __ ucomisd(input_reg, xmm_scratch);
2903 __ movmskpd(output_reg, input_reg);
2908 __ roundsd(xmm_scratch, input_reg, Assembler::kRoundDown);
2917 __ ucomisd(input_reg, xmm_scratch);
2924 __ movmskpd(output_reg, input_reg);
2933 __ cvttsd2si(output_reg, Operand(input_reg));
2945 input_reg = ToDoubleRegister(instr->value());
2951 __ ucomisd(xmm_scratch, input_reg);
2954 __ addsd(xmm_scratch, input_reg);
2971 __ movmskpd(output_reg, input_reg);
2979 __ ucomisd(input_reg, xmm_scratch);
2988 XMMRegister input_reg = ToDoubleRegister(instr->value());
2989 ASSERT(ToDoubleRegister(instr->result()).is(input_reg));
2990 __ sqrtsd(input_reg, input_reg);
2996 XMMRegister input_reg = ToDoubleRegister(instr->value());
2998 ASSERT(ToDoubleRegister(instr->result()).is(input_reg));
3009 __ ucomisd(input_reg, xmm_scratch);
3015 __ xorps(input_reg, input_reg);
3016 __ subsd(input_reg, xmm_scratch);
3022 __ addsd(input_reg, xmm_scratch); // Convert -0 to +0.
3023 __ sqrtsd(input_reg, input_reg);
3139 XMMRegister input_reg = ToDoubleRegister(instr->value());
3142 __ ucomisd(input_reg, xmm0);
3147 __ movdbl(input_reg, Operand::StaticVariable(nan));
3152 __ movdbl(input_reg, Operand(esp, 0));
3158 __ movdbl(Operand(esp, 0), input_reg);
3162 __ movdbl(input_reg, Operand(esp, 0));
3742 XMMRegister input_reg = ToDoubleRegister(instr->InputAt(0));
3753 __ movdbl(FieldOperand(reg, HeapNumber::kValueOffset), input_reg);
3797 void LCodeGen::EmitNumberUntagD(Register input_reg,
3806 __ JumpIfSmi(input_reg, &load_smi, Label::kNear);
3809 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
3817 __ cmp(input_reg, factory()->undefined_value());
3829 __ movdbl(result_reg, FieldOperand(input_reg, HeapNumber::kValueOffset));
3843 __ SmiUntag(input_reg); // Untag smi before converting to float.
3844 __ cvtsi2sd(result_reg, Operand(input_reg));
3845 __ SmiTag(input_reg); // Retag smi.
3852 Register input_reg = ToRegister(instr->InputAt(0));
3855 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
3862 __ cmp(input_reg, factory()->undefined_value());
3864 __ mov(input_reg, 0);
3873 __ fld_d(FieldOperand(input_reg, HeapNumber::kValueOffset));
3875 __ mov(input_reg, FieldOperand(input_reg, HeapNumber::kExponentOffset));
3876 __ and_(input_reg, HeapNumber::kExponentMask);
3879 __ cmp(Operand(input_reg), Immediate(kTooBigExponent));
3890 __ mov(input_reg, Operand(esp, 0)); // Low word of answer is the result.
3894 __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset));
3895 __ cvttsd2si(input_reg, Operand(xmm0));
3896 __ cmp(input_reg, 0x80000000u);
3911 __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset));
3912 __ cvttsd2si(input_reg, Operand(xmm0));
3913 __ cvtsi2sd(xmm_temp, Operand(input_reg));
3918 __ test(input_reg, Operand(input_reg));
3920 __ movmskpd(input_reg, xmm0);
3921 __ and_(input_reg, 1);
3944 Register input_reg = ToRegister(input);
3949 __ JumpIfNotSmi(input_reg, deferred->entry());
3952 __ SmiUntag(input_reg); // Untag smi.
3966 Register input_reg = ToRegister(input);
3973 EmitNumberUntagD(input_reg,
3988 XMMRegister input_reg = ToDoubleRegister(input);
3994 __ cvttsd2si(result_reg, Operand(input_reg));
4002 __ movdbl(Operand(esp, 0), input_reg);
4029 __ pshufd(xmm_scratch, input_reg, 1);
4059 __ psllq(input_reg, HeapNumber::kExponentBits);
4060 __ por(input_reg, xmm_scratch);
4067 __ psrlq(input_reg, xmm_scratch);
4068 __ movd(Operand(result_reg), input_reg);
4077 __ cvttsd2si(result_reg, Operand(input_reg));
4079 __ ucomisd(xmm0, input_reg);
4087 __ movmskpd(result_reg, input_reg);
4088 // Bit 0 contains the sign of the double in input_reg.
4209 Register input_reg = ToRegister(instr->unclamped());
4212 __ JumpIfSmi(input_reg, &is_smi);
4215 __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset),
4221 __ cmp(input_reg, factory()->undefined_value());
4223 __ mov(input_reg, 0);
4228 __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset));
4229 __ ClampDoubleToUint8(xmm0, xmm1, input_reg);
4234 __ SmiUntag(input_reg);
4235 __ ClampUint8(input_reg);