Lines Matching refs:vixl32

76                                           const vixl32::Register& array,  in GenSystemArrayCopyBaseAddress()
78 const vixl32::Register& base) { in GenSystemArrayCopyBaseAddress()
91 __ Add(base, array, Operand(RegisterFrom(pos), vixl32::LSL, element_size_shift)); in GenSystemArrayCopyBaseAddress()
100 const vixl32::Register& base, in GenSystemArrayCopyEndAddress()
101 const vixl32::Register& end) { in GenSystemArrayCopyEndAddress()
113 __ Add(end, base, Operand(RegisterFrom(copy_length), vixl32::LSL, element_size_shift)); in GenSystemArrayCopyEndAddress()
140 vixl32::Register dest = InputRegisterAt(instruction_, 2); in EmitNativeCode()
142 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode()
143 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode()
144 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode()
145 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode()
151 vixl32::Label loop; in EmitNativeCode()
298 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfLeadingZeros()
303 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenNumberOfLeadingZeros()
304 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenNumberOfLeadingZeros()
305 vixl32::Label end; in GenNumberOfLeadingZeros()
306 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfLeadingZeros()
342 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfTrailingZeros()
345 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
346 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
347 vixl32::Label end; in GenNumberOfTrailingZeros()
348 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfTrailingZeros()
359 vixl32::Register in = RegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
416 vixl32::SRegister in_reg = InputSRegisterAt(invoke, 0); in VisitMathRoundFloat()
417 vixl32::Register out_reg = OutputRegister(invoke); in VisitMathRoundFloat()
418 vixl32::SRegister temp1 = LowSRegisterFrom(invoke->GetLocations()->GetTemp(0)); in VisitMathRoundFloat()
419 vixl32::SRegister temp2 = HighSRegisterFrom(invoke->GetLocations()->GetTemp(0)); in VisitMathRoundFloat()
420 vixl32::Label done; in VisitMathRoundFloat()
421 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitMathRoundFloat()
480 vixl32::Register addr = LowRegisterFrom(invoke->GetLocations()->InAt(0)); in VisitMemoryPeekLongNative()
483 vixl32::Register lo = LowRegisterFrom(invoke->GetLocations()->Out()); in VisitMemoryPeekLongNative()
484 vixl32::Register hi = HighRegisterFrom(invoke->GetLocations()->Out()); in VisitMemoryPeekLongNative()
536 vixl32::Register addr = LowRegisterFrom(invoke->GetLocations()->InAt(0)); in VisitMemoryPokeLongNative()
571 vixl32::Register base = InputRegisterAt(invoke, 1); // Object pointer. in GenUnsafeGet()
573 vixl32::Register offset = LowRegisterFrom(offset_loc); // Long offset, lo part only. in GenUnsafeGet()
578 vixl32::Register trg = RegisterFrom(trg_loc); in GenUnsafeGet()
581 __ Dmb(vixl32::ISH); in GenUnsafeGet()
587 vixl32::Register trg = RegisterFrom(trg_loc); in GenUnsafeGet()
597 __ Dmb(vixl32::ISH); in GenUnsafeGet()
602 __ Dmb(vixl32::ISH); in GenUnsafeGet()
609 __ Dmb(vixl32::ISH); in GenUnsafeGet()
617 vixl32::Register trg_lo = LowRegisterFrom(trg_loc); in GenUnsafeGet()
618 vixl32::Register trg_hi = HighRegisterFrom(trg_loc); in GenUnsafeGet()
621 const vixl32::Register temp_reg = temps.Acquire(); in GenUnsafeGet()
628 __ Dmb(vixl32::ISH); in GenUnsafeGet()
773 vixl32::Register base = RegisterFrom(locations->InAt(1)); // Object pointer. in GenUnsafePut()
774 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Long offset, lo part only. in GenUnsafePut()
775 vixl32::Register value; in GenUnsafePut()
778 __ Dmb(vixl32::ISH); in GenUnsafePut()
782 vixl32::Register value_lo = LowRegisterFrom(locations->InAt(3)); in GenUnsafePut()
783 vixl32::Register value_hi = HighRegisterFrom(locations->InAt(3)); in GenUnsafePut()
786 vixl32::Register temp_lo = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
787 vixl32::Register temp_hi = RegisterFrom(locations->GetTemp(1)); in GenUnsafePut()
789 const vixl32::Register temp_reg = temps.Acquire(); in GenUnsafePut()
792 vixl32::Label loop_head; in GenUnsafePut()
803 vixl32::Register source = value; in GenUnsafePut()
805 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
814 __ Dmb(vixl32::ISH); in GenUnsafePut()
818 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
819 vixl32::Register card = RegisterFrom(locations->GetTemp(1)); in GenUnsafePut()
930 vixl32::Register base = InputRegisterAt(instruction_, 1); // Object pointer. in EmitNativeCode()
931 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Offset (discard high 4B). in EmitNativeCode()
932 vixl32::Register expected = InputRegisterAt(instruction_, 3); // Expected. in EmitNativeCode()
933 vixl32::Register value = InputRegisterAt(instruction_, 4); // Value. in EmitNativeCode()
935 vixl32::Register tmp_ptr = RegisterFrom(locations->GetTemp(0)); // Pointer to actual memory. in EmitNativeCode()
936 vixl32::Register tmp = RegisterFrom(locations->GetTemp(1)); // Temporary. in EmitNativeCode()
952 vixl32::Register adjusted_old_value = temps.Acquire(); // For saved `tmp` from main path. in EmitNativeCode()
963 vixl32::Label loop_head; in EmitNativeCode()
990 vixl32::Register out = OutputRegister(invoke); // Boolean result. in GenCas()
992 vixl32::Register base = InputRegisterAt(invoke, 1); // Object pointer. in GenCas()
993 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Offset (discard high 4B). in GenCas()
994 vixl32::Register expected = InputRegisterAt(invoke, 3); // Expected. in GenCas()
995 vixl32::Register value = InputRegisterAt(invoke, 4); // Value. in GenCas()
997 vixl32::Register tmp_ptr = RegisterFrom(locations->GetTemp(0)); // Pointer to actual memory. in GenCas()
998 vixl32::Register tmp = RegisterFrom(locations->GetTemp(1)); // Temporary. in GenCas()
1000 vixl32::Label loop_exit_label; in GenCas()
1001 vixl32::Label* loop_exit = &loop_exit_label; in GenCas()
1002 vixl32::Label* failure = &loop_exit_label; in GenCas()
1029 __ Dmb(vixl32::ISH); in GenCas()
1038 vixl32::Label loop_head; in GenCas()
1045 static_cast<vixl32::MacroAssembler*>(assembler->GetVIXLAssembler())-> in GenCas()
1059 __ Dmb(vixl32::ISH); in GenCas()
1121 vixl32::Label* end,
1122 vixl32::Label* different_compression);
1128 const vixl32::Register str = InputRegisterAt(invoke, 0); in VisitStringCompareTo()
1129 const vixl32::Register arg = InputRegisterAt(invoke, 1); in VisitStringCompareTo()
1130 const vixl32::Register out = OutputRegister(invoke); in VisitStringCompareTo()
1132 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in VisitStringCompareTo()
1133 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringCompareTo()
1134 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in VisitStringCompareTo()
1135 vixl32::Register temp3; in VisitStringCompareTo()
1140 vixl32::Label end; in VisitStringCompareTo()
1141 vixl32::Label different_compression; in VisitStringCompareTo()
1221 vixl32::Label* end, in GenerateStringCompareToLoop()
1222 vixl32::Label* different_compression) { in GenerateStringCompareToLoop()
1225 const vixl32::Register str = InputRegisterAt(invoke, 0); in GenerateStringCompareToLoop()
1226 const vixl32::Register arg = InputRegisterAt(invoke, 1); in GenerateStringCompareToLoop()
1227 const vixl32::Register out = OutputRegister(invoke); in GenerateStringCompareToLoop()
1229 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in GenerateStringCompareToLoop()
1230 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in GenerateStringCompareToLoop()
1231 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in GenerateStringCompareToLoop()
1232 vixl32::Register temp3; in GenerateStringCompareToLoop()
1237 vixl32::Label loop; in GenerateStringCompareToLoop()
1238 vixl32::Label find_char_diff; in GenerateStringCompareToLoop()
1254 vixl32::Label find_char_diff_2nd_cmp; in GenerateStringCompareToLoop()
1257 vixl32::Register temp_reg = temps.Acquire(); in GenerateStringCompareToLoop()
1304 __ Cmp(temp0, Operand(temp1, vixl32::LSR, (mirror::kUseStringCompression ? 3 : 4))); in GenerateStringCompareToLoop()
1313 __ Bic(temp1, temp1, Operand(temp3, vixl32::LSR, 31 - 3)); // &= ~(uncompressed ? 0xfu : 0x7u) in GenerateStringCompareToLoop()
1363 vixl32::Label different_compression_loop; in GenerateStringCompareToLoop()
1364 vixl32::Label different_compression_diff; in GenerateStringCompareToLoop()
1447 vixl32::Register str = InputRegisterAt(invoke, 0); in VisitStringEquals()
1448 vixl32::Register arg = InputRegisterAt(invoke, 1); in VisitStringEquals()
1449 vixl32::Register out = OutputRegister(invoke); in VisitStringEquals()
1451 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in VisitStringEquals()
1453 vixl32::Label loop; in VisitStringEquals()
1454 vixl32::Label end; in VisitStringEquals()
1455 vixl32::Label return_true; in VisitStringEquals()
1456 vixl32::Label return_false; in VisitStringEquals()
1457 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &end); in VisitStringEquals()
1541 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1543 vixl32::Register temp2 = scratch_scope.Acquire(); in VisitStringEquals()
1576 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1578 vixl32::Register temp2 = scratch_scope.Acquire(); in VisitStringEquals()
1635 vixl32::Register char_reg = InputRegisterAt(invoke, 1); in GenerateVisitStringIndexOf()
1644 vixl32::Register tmp_reg = RegisterFrom(locations->GetTemp(0)); in GenerateVisitStringIndexOf()
1705 vixl32::Register byte_array = InputRegisterAt(invoke, 0); in VisitStringNewStringFromBytes()
1748 vixl32::Register string_to_copy = InputRegisterAt(invoke, 0); in VisitStringNewStringFromString()
1798 vixl32::Register input, in CheckPosition()
1801 vixl32::Register temp, in CheckPosition()
1835 vixl32::Register pos_reg = RegisterFrom(pos); in CheckPosition()
1839 vixl32::Register pos_reg = RegisterFrom(pos); in CheckPosition()
1872 vixl32::Register src = InputRegisterAt(invoke, 0); in VisitSystemArrayCopy()
1874 vixl32::Register dest = InputRegisterAt(invoke, 2); in VisitSystemArrayCopy()
1878 vixl32::Register temp1 = RegisterFrom(temp1_loc); in VisitSystemArrayCopy()
1880 vixl32::Register temp2 = RegisterFrom(temp2_loc); in VisitSystemArrayCopy()
1882 vixl32::Register temp3 = RegisterFrom(temp3_loc); in VisitSystemArrayCopy()
1888 vixl32::Label conditions_on_positions_validated; in VisitSystemArrayCopy()
2026 vixl32::Label do_copy; in VisitSystemArrayCopy()
2086 vixl32::Label do_copy; in VisitSystemArrayCopy()
2134 vixl32::Label done; in VisitSystemArrayCopy()
2175 __ Add(src, src, Operand(temp2, vixl32::LSR, 32)); in VisitSystemArrayCopy()
2208 vixl32::Label loop; in VisitSystemArrayCopy()
2212 const vixl32::Register temp_reg = temps.Acquire(); in VisitSystemArrayCopy()
2230 vixl32::Label loop; in VisitSystemArrayCopy()
2234 const vixl32::Register temp_reg = temps.Acquire(); in VisitSystemArrayCopy()
2506 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverse()
2507 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverse()
2508 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverse()
2509 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverse()
2532 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverseBytes()
2533 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverseBytes()
2534 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverseBytes()
2535 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverseBytes()
2558 vixl32::Register src_0 = is_long ? LowRegisterFrom(in) : RegisterFrom(in); in GenBitCount()
2559 vixl32::Register src_1 = is_long ? HighRegisterFrom(in) : src_0; in GenBitCount()
2560 vixl32::SRegister tmp_s = LowSRegisterFrom(locations->GetTemp(0)); in GenBitCount()
2561 vixl32::DRegister tmp_d = DRegisterFrom(locations->GetTemp(0)); in GenBitCount()
2562 vixl32::Register out_r = OutputRegister(instr); in GenBitCount()
2602 const vixl32::Register temp = temps.Acquire(); in GenHighestOneBit()
2609 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenHighestOneBit()
2610 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenHighestOneBit()
2611 vixl32::Register out_reg_lo = LowRegisterFrom(out); in GenHighestOneBit()
2612 vixl32::Register out_reg_hi = HighRegisterFrom(out); in GenHighestOneBit()
2631 2 * vixl32::k16BitT32InstructionSizeInBytes, in GenHighestOneBit()
2636 vixl32::Register out = OutputRegister(invoke); in GenHighestOneBit()
2637 vixl32::Register in = InputRegisterAt(invoke, 0); in GenHighestOneBit()
2668 const vixl32::Register temp = temps.Acquire(); in GenLowestOneBit()
2675 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenLowestOneBit()
2676 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenLowestOneBit()
2677 vixl32::Register out_reg_lo = LowRegisterFrom(out); in GenLowestOneBit()
2678 vixl32::Register out_reg_hi = HighRegisterFrom(out); in GenLowestOneBit()
2697 2 * vixl32::k16BitT32InstructionSizeInBytes, in GenLowestOneBit()
2702 vixl32::Register out = OutputRegister(invoke); in GenLowestOneBit()
2703 vixl32::Register in = InputRegisterAt(invoke, 0); in GenLowestOneBit()
2757 vixl32::Register srcObj = InputRegisterAt(invoke, 0); in VisitStringGetCharsNoCheck()
2758 vixl32::Register srcBegin = InputRegisterAt(invoke, 1); in VisitStringGetCharsNoCheck()
2759 vixl32::Register srcEnd = InputRegisterAt(invoke, 2); in VisitStringGetCharsNoCheck()
2760 vixl32::Register dstObj = InputRegisterAt(invoke, 3); in VisitStringGetCharsNoCheck()
2761 vixl32::Register dstBegin = InputRegisterAt(invoke, 4); in VisitStringGetCharsNoCheck()
2763 vixl32::Register num_chr = RegisterFrom(locations->GetTemp(0)); in VisitStringGetCharsNoCheck()
2764 vixl32::Register src_ptr = RegisterFrom(locations->GetTemp(1)); in VisitStringGetCharsNoCheck()
2765 vixl32::Register dst_ptr = RegisterFrom(locations->GetTemp(2)); in VisitStringGetCharsNoCheck()
2767 vixl32::Label done, compressed_string_loop; in VisitStringGetCharsNoCheck()
2768 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitStringGetCharsNoCheck()
2771 __ Add(dst_ptr, dst_ptr, Operand(dstBegin, vixl32::LSL, 1)); in VisitStringGetCharsNoCheck()
2781 vixl32::Register temp; in VisitStringGetCharsNoCheck()
2782 vixl32::Label compressed_string_preloop; in VisitStringGetCharsNoCheck()
2793 __ Add(src_ptr, src_ptr, Operand(srcBegin, vixl32::LSL, 1)); in VisitStringGetCharsNoCheck()
2796 vixl32::Label loop, remainder; in VisitStringGetCharsNoCheck()
2859 const vixl32::Register out = OutputRegister(invoke); in VisitFloatIsInfinite()
2877 const vixl32::Register out = OutputRegister(invoke); in VisitDoubleIsInfinite()
2879 const vixl32::Register temp = temps.Acquire(); in VisitDoubleIsInfinite()
2893 __ Orr(out, temp, Operand(out, vixl32::LSL, 1)); in VisitDoubleIsInfinite()
2936 vixl32::Register out = RegisterFrom(locations->Out()); in VisitIntegerValueOf()
2938 vixl32::Register temp = temps.Acquire(); in VisitIntegerValueOf()
2960 vixl32::Register in = RegisterFrom(locations->InAt(0)); in VisitIntegerValueOf()
2964 vixl32::Label allocate, done; in VisitIntegerValueOf()
2991 vixl32::Register out = RegisterFrom(invoke->GetLocations()->Out()); in VisitThreadInterrupted()
2995 vixl32::Register temp = temps.Acquire(); in VisitThreadInterrupted()
2996 vixl32::Label done; in VisitThreadInterrupted()
2997 vixl32::Label* const final_label = codegen_->GetFinalLabel(invoke, &done); in VisitThreadInterrupted()
2999 __ Dmb(vixl32::ISH); in VisitThreadInterrupted()
3002 __ Dmb(vixl32::ISH); in VisitThreadInterrupted()