Lines Matching refs:vixl32

126                                           const vixl32::Register& array,  in GenSystemArrayCopyBaseAddress()
128 const vixl32::Register& base) { in GenSystemArrayCopyBaseAddress()
141 __ Add(base, array, Operand(RegisterFrom(pos), vixl32::LSL, element_size_shift)); in GenSystemArrayCopyBaseAddress()
150 const vixl32::Register& base, in GenSystemArrayCopyEndAddress()
151 const vixl32::Register& end) { in GenSystemArrayCopyEndAddress()
163 __ Add(end, base, Operand(RegisterFrom(copy_length), vixl32::LSL, element_size_shift)); in GenSystemArrayCopyEndAddress()
190 vixl32::Register dest = InputRegisterAt(instruction_, 2); in EmitNativeCode()
192 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode()
193 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode()
194 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode()
195 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode()
201 vixl32::Label loop; in EmitNativeCode()
348 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfLeadingZeros()
353 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenNumberOfLeadingZeros()
354 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenNumberOfLeadingZeros()
355 vixl32::Label end; in GenNumberOfLeadingZeros()
356 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfLeadingZeros()
392 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfTrailingZeros()
395 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
396 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
397 vixl32::Label end; in GenNumberOfTrailingZeros()
398 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfTrailingZeros()
409 vixl32::Register in = RegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
466 vixl32::SRegister in_reg = InputSRegisterAt(invoke, 0); in VisitMathRoundFloat()
467 vixl32::Register out_reg = OutputRegister(invoke); in VisitMathRoundFloat()
468 vixl32::SRegister temp1 = LowSRegisterFrom(invoke->GetLocations()->GetTemp(0)); in VisitMathRoundFloat()
469 vixl32::SRegister temp2 = HighSRegisterFrom(invoke->GetLocations()->GetTemp(0)); in VisitMathRoundFloat()
470 vixl32::Label done; in VisitMathRoundFloat()
471 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitMathRoundFloat()
530 vixl32::Register addr = LowRegisterFrom(invoke->GetLocations()->InAt(0)); in VisitMemoryPeekLongNative()
533 vixl32::Register lo = LowRegisterFrom(invoke->GetLocations()->Out()); in VisitMemoryPeekLongNative()
534 vixl32::Register hi = HighRegisterFrom(invoke->GetLocations()->Out()); in VisitMemoryPeekLongNative()
586 vixl32::Register addr = LowRegisterFrom(invoke->GetLocations()->InAt(0)); in VisitMemoryPokeLongNative()
621 vixl32::Register base = InputRegisterAt(invoke, 1); // Object pointer. in GenUnsafeGet()
623 vixl32::Register offset = LowRegisterFrom(offset_loc); // Long offset, lo part only. in GenUnsafeGet()
628 vixl32::Register trg = RegisterFrom(trg_loc); in GenUnsafeGet()
631 __ Dmb(vixl32::ISH); in GenUnsafeGet()
637 vixl32::Register trg = RegisterFrom(trg_loc); in GenUnsafeGet()
647 __ Dmb(vixl32::ISH); in GenUnsafeGet()
652 __ Dmb(vixl32::ISH); in GenUnsafeGet()
659 __ Dmb(vixl32::ISH); in GenUnsafeGet()
667 vixl32::Register trg_lo = LowRegisterFrom(trg_loc); in GenUnsafeGet()
668 vixl32::Register trg_hi = HighRegisterFrom(trg_loc); in GenUnsafeGet()
671 const vixl32::Register temp_reg = temps.Acquire(); in GenUnsafeGet()
678 __ Dmb(vixl32::ISH); in GenUnsafeGet()
823 vixl32::Register base = RegisterFrom(locations->InAt(1)); // Object pointer. in GenUnsafePut()
824 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Long offset, lo part only. in GenUnsafePut()
825 vixl32::Register value; in GenUnsafePut()
828 __ Dmb(vixl32::ISH); in GenUnsafePut()
832 vixl32::Register value_lo = LowRegisterFrom(locations->InAt(3)); in GenUnsafePut()
833 vixl32::Register value_hi = HighRegisterFrom(locations->InAt(3)); in GenUnsafePut()
836 vixl32::Register temp_lo = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
837 vixl32::Register temp_hi = RegisterFrom(locations->GetTemp(1)); in GenUnsafePut()
839 const vixl32::Register temp_reg = temps.Acquire(); in GenUnsafePut()
842 vixl32::Label loop_head; in GenUnsafePut()
853 vixl32::Register source = value; in GenUnsafePut()
855 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
864 __ Dmb(vixl32::ISH); in GenUnsafePut()
868 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
869 vixl32::Register card = RegisterFrom(locations->GetTemp(1)); in GenUnsafePut()
980 vixl32::Register base = InputRegisterAt(instruction_, 1); // Object pointer. in EmitNativeCode()
981 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Offset (discard high 4B). in EmitNativeCode()
982 vixl32::Register expected = InputRegisterAt(instruction_, 3); // Expected. in EmitNativeCode()
983 vixl32::Register value = InputRegisterAt(instruction_, 4); // Value. in EmitNativeCode()
985 vixl32::Register tmp_ptr = RegisterFrom(locations->GetTemp(0)); // Pointer to actual memory. in EmitNativeCode()
986 vixl32::Register tmp = RegisterFrom(locations->GetTemp(1)); // Temporary. in EmitNativeCode()
1002 vixl32::Register adjusted_old_value = temps.Acquire(); // For saved `tmp` from main path. in EmitNativeCode()
1013 vixl32::Label loop_head; in EmitNativeCode()
1040 vixl32::Register out = OutputRegister(invoke); // Boolean result. in GenCas()
1042 vixl32::Register base = InputRegisterAt(invoke, 1); // Object pointer. in GenCas()
1043 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Offset (discard high 4B). in GenCas()
1044 vixl32::Register expected = InputRegisterAt(invoke, 3); // Expected. in GenCas()
1045 vixl32::Register value = InputRegisterAt(invoke, 4); // Value. in GenCas()
1047 vixl32::Register tmp_ptr = RegisterFrom(locations->GetTemp(0)); // Pointer to actual memory. in GenCas()
1048 vixl32::Register tmp = RegisterFrom(locations->GetTemp(1)); // Temporary. in GenCas()
1050 vixl32::Label loop_exit_label; in GenCas()
1051 vixl32::Label* loop_exit = &loop_exit_label; in GenCas()
1052 vixl32::Label* failure = &loop_exit_label; in GenCas()
1079 __ Dmb(vixl32::ISH); in GenCas()
1088 vixl32::Label loop_head; in GenCas()
1095 static_cast<vixl32::MacroAssembler*>(assembler->GetVIXLAssembler())-> in GenCas()
1109 __ Dmb(vixl32::ISH); in GenCas()
1171 vixl32::Label* end,
1172 vixl32::Label* different_compression);
1178 const vixl32::Register str = InputRegisterAt(invoke, 0); in VisitStringCompareTo()
1179 const vixl32::Register arg = InputRegisterAt(invoke, 1); in VisitStringCompareTo()
1180 const vixl32::Register out = OutputRegister(invoke); in VisitStringCompareTo()
1182 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in VisitStringCompareTo()
1183 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringCompareTo()
1184 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in VisitStringCompareTo()
1185 vixl32::Register temp3; in VisitStringCompareTo()
1190 vixl32::Label end; in VisitStringCompareTo()
1191 vixl32::Label different_compression; in VisitStringCompareTo()
1271 vixl32::Label* end, in GenerateStringCompareToLoop()
1272 vixl32::Label* different_compression) { in GenerateStringCompareToLoop()
1275 const vixl32::Register str = InputRegisterAt(invoke, 0); in GenerateStringCompareToLoop()
1276 const vixl32::Register arg = InputRegisterAt(invoke, 1); in GenerateStringCompareToLoop()
1277 const vixl32::Register out = OutputRegister(invoke); in GenerateStringCompareToLoop()
1279 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in GenerateStringCompareToLoop()
1280 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in GenerateStringCompareToLoop()
1281 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in GenerateStringCompareToLoop()
1282 vixl32::Register temp3; in GenerateStringCompareToLoop()
1287 vixl32::Label loop; in GenerateStringCompareToLoop()
1288 vixl32::Label find_char_diff; in GenerateStringCompareToLoop()
1304 vixl32::Label find_char_diff_2nd_cmp; in GenerateStringCompareToLoop()
1307 vixl32::Register temp_reg = temps.Acquire(); in GenerateStringCompareToLoop()
1354 __ Cmp(temp0, Operand(temp1, vixl32::LSR, (mirror::kUseStringCompression ? 3 : 4))); in GenerateStringCompareToLoop()
1363 __ Bic(temp1, temp1, Operand(temp3, vixl32::LSR, 31 - 3)); // &= ~(uncompressed ? 0xfu : 0x7u) in GenerateStringCompareToLoop()
1413 vixl32::Label different_compression_loop; in GenerateStringCompareToLoop()
1414 vixl32::Label different_compression_diff; in GenerateStringCompareToLoop()
1497 vixl32::Register str = InputRegisterAt(invoke, 0); in VisitStringEquals()
1498 vixl32::Register arg = InputRegisterAt(invoke, 1); in VisitStringEquals()
1499 vixl32::Register out = OutputRegister(invoke); in VisitStringEquals()
1501 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in VisitStringEquals()
1503 vixl32::Label loop; in VisitStringEquals()
1504 vixl32::Label end; in VisitStringEquals()
1505 vixl32::Label return_true; in VisitStringEquals()
1506 vixl32::Label return_false; in VisitStringEquals()
1507 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &end); in VisitStringEquals()
1591 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1593 vixl32::Register temp2 = scratch_scope.Acquire(); in VisitStringEquals()
1626 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1628 vixl32::Register temp2 = scratch_scope.Acquire(); in VisitStringEquals()
1685 vixl32::Register char_reg = InputRegisterAt(invoke, 1); in GenerateVisitStringIndexOf()
1694 vixl32::Register tmp_reg = RegisterFrom(locations->GetTemp(0)); in GenerateVisitStringIndexOf()
1755 vixl32::Register byte_array = InputRegisterAt(invoke, 0); in VisitStringNewStringFromBytes()
1798 vixl32::Register string_to_copy = InputRegisterAt(invoke, 0); in VisitStringNewStringFromString()
1848 vixl32::Register input, in CheckPosition()
1851 vixl32::Register temp, in CheckPosition()
1885 vixl32::Register pos_reg = RegisterFrom(pos); in CheckPosition()
1889 vixl32::Register pos_reg = RegisterFrom(pos); in CheckPosition()
1922 vixl32::Register src = InputRegisterAt(invoke, 0); in VisitSystemArrayCopy()
1924 vixl32::Register dest = InputRegisterAt(invoke, 2); in VisitSystemArrayCopy()
1928 vixl32::Register temp1 = RegisterFrom(temp1_loc); in VisitSystemArrayCopy()
1930 vixl32::Register temp2 = RegisterFrom(temp2_loc); in VisitSystemArrayCopy()
1932 vixl32::Register temp3 = RegisterFrom(temp3_loc); in VisitSystemArrayCopy()
1938 vixl32::Label conditions_on_positions_validated; in VisitSystemArrayCopy()
2076 vixl32::Label do_copy; in VisitSystemArrayCopy()
2136 vixl32::Label do_copy; in VisitSystemArrayCopy()
2184 vixl32::Label done; in VisitSystemArrayCopy()
2225 __ Add(src, src, Operand(temp2, vixl32::LSR, 32)); in VisitSystemArrayCopy()
2258 vixl32::Label loop; in VisitSystemArrayCopy()
2262 const vixl32::Register temp_reg = temps.Acquire(); in VisitSystemArrayCopy()
2280 vixl32::Label loop; in VisitSystemArrayCopy()
2284 const vixl32::Register temp_reg = temps.Acquire(); in VisitSystemArrayCopy()
2556 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverse()
2557 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverse()
2558 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverse()
2559 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverse()
2582 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverseBytes()
2583 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverseBytes()
2584 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverseBytes()
2585 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverseBytes()
2608 vixl32::Register src_0 = is_long ? LowRegisterFrom(in) : RegisterFrom(in); in GenBitCount()
2609 vixl32::Register src_1 = is_long ? HighRegisterFrom(in) : src_0; in GenBitCount()
2610 vixl32::SRegister tmp_s = LowSRegisterFrom(locations->GetTemp(0)); in GenBitCount()
2611 vixl32::DRegister tmp_d = DRegisterFrom(locations->GetTemp(0)); in GenBitCount()
2612 vixl32::Register out_r = OutputRegister(instr); in GenBitCount()
2652 const vixl32::Register temp = temps.Acquire(); in GenHighestOneBit()
2659 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenHighestOneBit()
2660 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenHighestOneBit()
2661 vixl32::Register out_reg_lo = LowRegisterFrom(out); in GenHighestOneBit()
2662 vixl32::Register out_reg_hi = HighRegisterFrom(out); in GenHighestOneBit()
2681 2 * vixl32::k16BitT32InstructionSizeInBytes, in GenHighestOneBit()
2686 vixl32::Register out = OutputRegister(invoke); in GenHighestOneBit()
2687 vixl32::Register in = InputRegisterAt(invoke, 0); in GenHighestOneBit()
2718 const vixl32::Register temp = temps.Acquire(); in GenLowestOneBit()
2725 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenLowestOneBit()
2726 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenLowestOneBit()
2727 vixl32::Register out_reg_lo = LowRegisterFrom(out); in GenLowestOneBit()
2728 vixl32::Register out_reg_hi = HighRegisterFrom(out); in GenLowestOneBit()
2747 2 * vixl32::k16BitT32InstructionSizeInBytes, in GenLowestOneBit()
2752 vixl32::Register out = OutputRegister(invoke); in GenLowestOneBit()
2753 vixl32::Register in = InputRegisterAt(invoke, 0); in GenLowestOneBit()
2807 vixl32::Register srcObj = InputRegisterAt(invoke, 0); in VisitStringGetCharsNoCheck()
2808 vixl32::Register srcBegin = InputRegisterAt(invoke, 1); in VisitStringGetCharsNoCheck()
2809 vixl32::Register srcEnd = InputRegisterAt(invoke, 2); in VisitStringGetCharsNoCheck()
2810 vixl32::Register dstObj = InputRegisterAt(invoke, 3); in VisitStringGetCharsNoCheck()
2811 vixl32::Register dstBegin = InputRegisterAt(invoke, 4); in VisitStringGetCharsNoCheck()
2813 vixl32::Register num_chr = RegisterFrom(locations->GetTemp(0)); in VisitStringGetCharsNoCheck()
2814 vixl32::Register src_ptr = RegisterFrom(locations->GetTemp(1)); in VisitStringGetCharsNoCheck()
2815 vixl32::Register dst_ptr = RegisterFrom(locations->GetTemp(2)); in VisitStringGetCharsNoCheck()
2817 vixl32::Label done, compressed_string_loop; in VisitStringGetCharsNoCheck()
2818 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitStringGetCharsNoCheck()
2821 __ Add(dst_ptr, dst_ptr, Operand(dstBegin, vixl32::LSL, 1)); in VisitStringGetCharsNoCheck()
2831 vixl32::Register temp; in VisitStringGetCharsNoCheck()
2832 vixl32::Label compressed_string_preloop; in VisitStringGetCharsNoCheck()
2843 __ Add(src_ptr, src_ptr, Operand(srcBegin, vixl32::LSL, 1)); in VisitStringGetCharsNoCheck()
2846 vixl32::Label loop, remainder; in VisitStringGetCharsNoCheck()
2909 const vixl32::Register out = OutputRegister(invoke); in VisitFloatIsInfinite()
2927 const vixl32::Register out = OutputRegister(invoke); in VisitDoubleIsInfinite()
2929 const vixl32::Register temp = temps.Acquire(); in VisitDoubleIsInfinite()
2943 __ Orr(out, temp, Operand(out, vixl32::LSL, 1)); in VisitDoubleIsInfinite()
2986 vixl32::Register out = RegisterFrom(locations->Out()); in VisitIntegerValueOf()
2988 vixl32::Register temp = temps.Acquire(); in VisitIntegerValueOf()
3010 vixl32::Register in = RegisterFrom(locations->InAt(0)); in VisitIntegerValueOf()
3014 vixl32::Label allocate, done; in VisitIntegerValueOf()
3041 vixl32::Register out = RegisterFrom(invoke->GetLocations()->Out()); in VisitThreadInterrupted()
3045 vixl32::Register temp = temps.Acquire(); in VisitThreadInterrupted()
3046 vixl32::Label done; in VisitThreadInterrupted()
3047 vixl32::Label* const final_label = codegen_->GetFinalLabel(invoke, &done); in VisitThreadInterrupted()
3049 __ Dmb(vixl32::ISH); in VisitThreadInterrupted()
3052 __ Dmb(vixl32::ISH); in VisitThreadInterrupted()