Lines Matching refs:__

59 #define __ reinterpret_cast<X86Assembler*>(codegen->GetAssembler())->  macro
79 __ movl(target_reg, EAX); in MoveFromReturnRegister()
87 __ movl(target_reg_lo, EAX); in MoveFromReturnRegister()
90 __ movl(target_reg_hi, EDX); in MoveFromReturnRegister()
102 __ movsd(target_reg, XMM0); in MoveFromReturnRegister()
109 __ movss(target_reg, XMM0); in MoveFromReturnRegister()
134 __ Bind(GetEntryLabel()); in EmitNativeCode()
157 __ jmp(GetExitLabel()); in EmitNativeCode()
167 #undef __
168 #define __ assembler-> macro
199 __ movsd(temp, input.AsFpuRegister<XmmRegister>()); in MoveFPToInt()
200 __ movd(output.AsRegisterPairLow<Register>(), temp); in MoveFPToInt()
201 __ psrlq(temp, Immediate(32)); in MoveFPToInt()
202 __ movd(output.AsRegisterPairHigh<Register>(), temp); in MoveFPToInt()
204 __ movd(output.AsRegister<Register>(), input.AsFpuRegister<XmmRegister>()); in MoveFPToInt()
215 __ movd(temp1, input.AsRegisterPairLow<Register>()); in MoveIntToFP()
216 __ movd(temp2, input.AsRegisterPairHigh<Register>()); in MoveIntToFP()
217 __ punpckldq(temp1, temp2); in MoveIntToFP()
218 __ movsd(output.AsFpuRegister<XmmRegister>(), temp1); in MoveIntToFP()
220 __ movd(output.AsFpuRegister<XmmRegister>(), input.AsRegister<Register>()); in MoveIntToFP()
284 __ bswapl(out); in GenReverseBytes()
285 __ sarl(out, Immediate(16)); in GenReverseBytes()
288 __ bswapl(out); in GenReverseBytes()
319 __ movl(output_lo, input_hi); in VisitLongReverseBytes()
320 __ movl(output_hi, input_lo); in VisitLongReverseBytes()
321 __ bswapl(output_lo); in VisitLongReverseBytes()
322 __ bswapl(output_hi); in VisitLongReverseBytes()
354 __ subl(ESP, Immediate(8)); in MathAbsFP()
355 __ pushl(Immediate(0x7FFFFFFF)); in MathAbsFP()
356 __ pushl(Immediate(0xFFFFFFFF)); in MathAbsFP()
357 __ andpd(output.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in MathAbsFP()
359 __ subl(ESP, Immediate(12)); in MathAbsFP()
360 __ pushl(Immediate(0x7FFFFFFF)); in MathAbsFP()
361 __ andps(output.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in MathAbsFP()
363 __ addl(ESP, Immediate(16)); in MathAbsFP()
413 __ cdq(); in GenAbsInteger()
416 __ xorl(EAX, EDX); in GenAbsInteger()
419 __ subl(EAX, EDX); in GenAbsInteger()
443 __ movl(temp, input_hi); in GenAbsLong()
444 __ sarl(temp, Immediate(31)); in GenAbsLong()
447 __ movl(output_lo, temp); in GenAbsLong()
448 __ movl(output_hi, temp); in GenAbsLong()
451 __ xorl(output_lo, input_lo); in GenAbsLong()
452 __ xorl(output_hi, input_hi); in GenAbsLong()
455 __ subl(output_lo, temp); in GenAbsLong()
456 __ sbbl(output_hi, temp); in GenAbsLong()
509 __ ucomisd(out, op2); in GenMinMaxFP()
511 __ ucomiss(out, op2); in GenMinMaxFP()
514 __ j(Condition::kParityEven, &nan); in GenMinMaxFP()
516 __ j(is_min ? Condition::kAbove : Condition::kBelow, &op2_label); in GenMinMaxFP()
517 __ j(is_min ? Condition::kBelow : Condition::kAbove, &done); in GenMinMaxFP()
522 __ orpd(out, op2); in GenMinMaxFP()
524 __ orps(out, op2); in GenMinMaxFP()
528 __ andpd(out, op2); in GenMinMaxFP()
530 __ andps(out, op2); in GenMinMaxFP()
533 __ jmp(&done); in GenMinMaxFP()
536 __ Bind(&nan); in GenMinMaxFP()
538 __ pushl(Immediate(kDoubleNaNHigh)); in GenMinMaxFP()
539 __ pushl(Immediate(kDoubleNaNLow)); in GenMinMaxFP()
540 __ movsd(out, Address(ESP, 0)); in GenMinMaxFP()
541 __ addl(ESP, Immediate(8)); in GenMinMaxFP()
543 __ pushl(Immediate(kFloatNaN)); in GenMinMaxFP()
544 __ movss(out, Address(ESP, 0)); in GenMinMaxFP()
545 __ addl(ESP, Immediate(4)); in GenMinMaxFP()
547 __ jmp(&done); in GenMinMaxFP()
550 __ Bind(&op2_label); in GenMinMaxFP()
552 __ movsd(out, op2); in GenMinMaxFP()
554 __ movss(out, op2); in GenMinMaxFP()
558 __ Bind(&done); in GenMinMaxFP()
632 __ movl(temp, output_lo); in GenMinMax()
633 __ subl(temp, op2_lo); in GenMinMax()
636 __ movl(temp, output_hi); in GenMinMax()
637 __ sbbl(temp, op2_hi); in GenMinMax()
641 __ cmovl(cond, output_lo, op2_lo); in GenMinMax()
642 __ cmovl(cond, output_hi, op2_hi); in GenMinMax()
653 __ cmpl(out, op2); in GenMinMax()
655 __ cmovl(cond, out, op2); in GenMinMax()
775 __ roundsd(out, in, Immediate(round_mode)); in GenSSE41FPToFPIntrinsic()
844 __ movl(out, Immediate(bit_cast<int32_t, float>(0.5f))); in VisitMathRoundFloat()
845 __ movd(inPlusPointFive, out); in VisitMathRoundFloat()
848 __ addss(inPlusPointFive, in); in VisitMathRoundFloat()
851 __ roundss(inPlusPointFive, inPlusPointFive, Immediate(1)); in VisitMathRoundFloat()
853 __ movl(out, Immediate(kPrimIntMax)); in VisitMathRoundFloat()
855 __ cvtsi2ss(maxInt, out); in VisitMathRoundFloat()
858 __ comiss(inPlusPointFive, maxInt); in VisitMathRoundFloat()
859 __ j(kAboveEqual, &done); in VisitMathRoundFloat()
862 __ j(kUnordered, &nan); in VisitMathRoundFloat()
865 __ cvttss2si(out, inPlusPointFive); in VisitMathRoundFloat()
866 __ jmp(&done); in VisitMathRoundFloat()
867 __ Bind(&nan); in VisitMathRoundFloat()
870 __ xorl(out, out); in VisitMathRoundFloat()
871 __ Bind(&done); in VisitMathRoundFloat()
906 __ cmpl(idx, Address(obj, count_offset)); in VisitStringCharAt()
908 __ j(kAboveEqual, slow_path->GetEntryLabel()); in VisitStringCharAt()
911 __ movzxw(out, Address(out, idx, ScaleFactor::TIMES_2, value_offset)); in VisitStringCharAt()
913 __ Bind(slow_path->GetExitLabel()); in VisitStringCharAt()
935 __ testl(argument, argument); in VisitStringCompareTo()
938 __ j(kEqual, slow_path->GetEntryLabel()); in VisitStringCompareTo()
940 __ fs()->call(Address::Absolute(QUICK_ENTRYPOINT_OFFSET(kX86WordSize, pStringCompareTo))); in VisitStringCompareTo()
941 __ Bind(slow_path->GetExitLabel()); in VisitStringCompareTo()
1001 __ jmp(slow_path->GetEntryLabel()); in GenerateStringIndexOf()
1002 __ Bind(slow_path->GetExitLabel()); in GenerateStringIndexOf()
1006 __ cmpl(search_value, Immediate(std::numeric_limits<uint16_t>::max())); in GenerateStringIndexOf()
1009 __ j(kAbove, slow_path->GetEntryLabel()); in GenerateStringIndexOf()
1019 __ movl(string_length, Address(string_obj, count_offset)); in GenerateStringIndexOf()
1024 __ testl(string_length, string_length); in GenerateStringIndexOf()
1025 __ j(kEqual, &not_found_label); in GenerateStringIndexOf()
1029 __ movl(counter, string_length); in GenerateStringIndexOf()
1032 __ addl(string_obj, Immediate(value_offset)); in GenerateStringIndexOf()
1037 __ cmpl(start_index, string_length); in GenerateStringIndexOf()
1038 __ j(kGreaterEqual, &not_found_label); in GenerateStringIndexOf()
1041 __ xorl(counter, counter); in GenerateStringIndexOf()
1042 __ cmpl(start_index, Immediate(0)); in GenerateStringIndexOf()
1043 __ cmovl(kGreater, counter, start_index); in GenerateStringIndexOf()
1046 __ leal(string_obj, Address(string_obj, counter, ScaleFactor::TIMES_2, value_offset)); in GenerateStringIndexOf()
1050 __ negl(counter); in GenerateStringIndexOf()
1051 __ leal(counter, Address(string_length, counter, ScaleFactor::TIMES_1, 0)); in GenerateStringIndexOf()
1057 __ repne_scasw(); in GenerateStringIndexOf()
1060 __ j(kNotEqual, &not_found_label); in GenerateStringIndexOf()
1063 __ subl(string_length, counter); in GenerateStringIndexOf()
1064 __ leal(out, Address(string_length, -1)); in GenerateStringIndexOf()
1067 __ jmp(&done); in GenerateStringIndexOf()
1070 __ Bind(&not_found_label); in GenerateStringIndexOf()
1071 __ movl(out, Immediate(-1)); in GenerateStringIndexOf()
1074 __ Bind(&done); in GenerateStringIndexOf()
1076 __ Bind(slow_path->GetExitLabel()); in GenerateStringIndexOf()
1113 __ testl(byte_array, byte_array); in VisitStringNewStringFromBytes()
1116 __ j(kEqual, slow_path->GetEntryLabel()); in VisitStringNewStringFromBytes()
1118 __ fs()->call(Address::Absolute(QUICK_ENTRYPOINT_OFFSET(kX86WordSize, pAllocStringFromBytes))); in VisitStringNewStringFromBytes()
1120 __ Bind(slow_path->GetExitLabel()); in VisitStringNewStringFromBytes()
1137 __ fs()->call(Address::Absolute(QUICK_ENTRYPOINT_OFFSET(kX86WordSize, pAllocStringFromChars))); in VisitStringNewStringFromChars()
1155 __ testl(string_to_copy, string_to_copy); in VisitStringNewStringFromString()
1158 __ j(kEqual, slow_path->GetEntryLabel()); in VisitStringNewStringFromString()
1160 __ fs()->call(Address::Absolute(QUICK_ENTRYPOINT_OFFSET(kX86WordSize, pAllocStringFromString))); in VisitStringNewStringFromString()
1162 __ Bind(slow_path->GetExitLabel()); in VisitStringNewStringFromString()
1172 __ movsxb(out_loc.AsRegister<Register>(), Address(address, 0)); in GenPeek()
1175 __ movsxw(out_loc.AsRegister<Register>(), Address(address, 0)); in GenPeek()
1178 __ movl(out_loc.AsRegister<Register>(), Address(address, 0)); in GenPeek()
1181 __ movl(out_loc.AsRegisterPairLow<Register>(), Address(address, 0)); in GenPeek()
1182 __ movl(out_loc.AsRegisterPairHigh<Register>(), Address(address, 4)); in GenPeek()
1244 __ movb(Address(address, 0), in GenPoke()
1247 __ movb(Address(address, 0), value_loc.AsRegister<ByteRegister>()); in GenPoke()
1252 __ movw(Address(address, 0), in GenPoke()
1255 __ movw(Address(address, 0), value_loc.AsRegister<Register>()); in GenPoke()
1260 __ movl(Address(address, 0), in GenPoke()
1263 __ movl(Address(address, 0), value_loc.AsRegister<Register>()); in GenPoke()
1269 __ movl(Address(address, 0), Immediate(Low32Bits(value))); in GenPoke()
1270 __ movl(Address(address, 4), Immediate(High32Bits(value))); in GenPoke()
1272 __ movl(Address(address, 0), value_loc.AsRegisterPairLow<Register>()); in GenPoke()
1273 __ movl(Address(address, 4), value_loc.AsRegisterPairHigh<Register>()); in GenPoke()
1335 __ movl(output.AsRegister<Register>(), Address(base, offset, ScaleFactor::TIMES_1, 0)); in GenUnsafeGet()
1344 __ movsd(temp, Address(base, offset, ScaleFactor::TIMES_1, 0)); in GenUnsafeGet()
1345 __ movd(output_lo, temp); in GenUnsafeGet()
1346 __ psrlq(temp, Immediate(32)); in GenUnsafeGet()
1347 __ movd(output_hi, temp); in GenUnsafeGet()
1349 __ movl(output_lo, Address(base, offset, ScaleFactor::TIMES_1, 0)); in GenUnsafeGet()
1350 __ movl(output_hi, Address(base, offset, ScaleFactor::TIMES_1, 4)); in GenUnsafeGet()
1489 __ movd(temp1, value_lo); in GenUnsafePut()
1490 __ movd(temp2, value_hi); in GenUnsafePut()
1491 __ punpckldq(temp1, temp2); in GenUnsafePut()
1492 __ movsd(Address(base, offset, ScaleFactor::TIMES_1, 0), temp1); in GenUnsafePut()
1494 __ movl(Address(base, offset, ScaleFactor::TIMES_1, 0), value_lo); in GenUnsafePut()
1495 __ movl(Address(base, offset, ScaleFactor::TIMES_1, 4), value_hi); in GenUnsafePut()
1498 __ movl(Address(base, offset, ScaleFactor::TIMES_1, 0), value_loc.AsRegister<Register>()); in GenUnsafePut()
1502 __ mfence(); in GenUnsafePut()
1598 __ LockCmpxchg8b(Address(base, offset, TIMES_1, 0)); in GenCAS()
1611 __ LockCmpxchgl(Address(base, offset, TIMES_1, 0), value); in GenCAS()
1618 __ setb(kZero, out.AsRegister<Register>()); in GenCAS()
1619 __ movzxb(out.AsRegister<Register>(), out.AsRegister<ByteRegister>()); in GenCAS()
1647 __ movl(temp, reg); in SwapBits()
1648 __ shrl(reg, imm_shift); in SwapBits()
1649 __ andl(temp, imm_mask); in SwapBits()
1650 __ andl(reg, imm_mask); in SwapBits()
1651 __ shll(temp, imm_shift); in SwapBits()
1652 __ orl(reg, temp); in SwapBits()
1672 __ bswapl(reg); in VisitIntegerReverse()
1699 __ movl(temp, reg_low); in VisitLongReverse()
1700 __ movl(reg_low, reg_high); in VisitLongReverse()
1701 __ movl(reg_high, temp); in VisitLongReverse()
1704 __ bswapl(reg_low); in VisitLongReverse()
1710 __ bswapl(reg_high); in VisitLongReverse()