Lines Matching refs:vixl32
130 const vixl32::Register& array, in GenSystemArrayCopyBaseAddress()
132 const vixl32::Register& base) { in GenSystemArrayCopyBaseAddress()
145 __ Add(base, array, Operand(RegisterFrom(pos), vixl32::LSL, element_size_shift)); in GenSystemArrayCopyBaseAddress()
154 const vixl32::Register& base, in GenSystemArrayCopyEndAddress()
155 const vixl32::Register& end) { in GenSystemArrayCopyEndAddress()
167 __ Add(end, base, Operand(RegisterFrom(copy_length), vixl32::LSL, element_size_shift)); in GenSystemArrayCopyEndAddress()
194 vixl32::Register dest = InputRegisterAt(instruction_, 2); in EmitNativeCode()
196 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode()
197 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode()
198 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode()
199 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode()
205 vixl32::Label loop; in EmitNativeCode()
352 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfLeadingZeros()
357 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenNumberOfLeadingZeros()
358 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenNumberOfLeadingZeros()
359 vixl32::Label end; in GenNumberOfLeadingZeros()
360 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfLeadingZeros()
396 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfTrailingZeros()
399 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
400 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
401 vixl32::Label end; in GenNumberOfTrailingZeros()
402 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfTrailingZeros()
413 vixl32::Register in = RegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
470 vixl32::Register mask = RegisterFrom(locations->GetTemp(0)); in GenAbsInteger()
473 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenAbsInteger()
474 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenAbsInteger()
475 vixl32::Register out_reg_lo = LowRegisterFrom(output); in GenAbsInteger()
476 vixl32::Register out_reg_hi = HighRegisterFrom(output); in GenAbsInteger()
486 vixl32::Register in_reg = RegisterFrom(in); in GenAbsInteger()
487 vixl32::Register out_reg = RegisterFrom(output); in GenAbsInteger()
524 vixl32::SRegister op1 = SRegisterFrom(op1_loc); in GenMinMaxFloat()
525 vixl32::SRegister op2 = SRegisterFrom(op2_loc); in GenMinMaxFloat()
526 vixl32::SRegister out = OutputSRegister(invoke); in GenMinMaxFloat()
528 const vixl32::Register temp1 = temps.Acquire(); in GenMinMaxFloat()
529 vixl32::Register temp2 = RegisterFrom(invoke->GetLocations()->GetTemp(0)); in GenMinMaxFloat()
530 vixl32::Label nan, done; in GenMinMaxFloat()
531 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &done); in GenMinMaxFloat()
540 vixl32::ConditionType cond = is_min ? gt : lt; in GenMinMaxFloat()
610 vixl32::DRegister op1 = DRegisterFrom(op1_loc); in GenMinMaxDouble()
611 vixl32::DRegister op2 = DRegisterFrom(op2_loc); in GenMinMaxDouble()
612 vixl32::DRegister out = OutputDRegister(invoke); in GenMinMaxDouble()
613 vixl32::Label handle_nan_eq, done; in GenMinMaxDouble()
614 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &done); in GenMinMaxDouble()
623 vixl32::ConditionType cond = is_min ? gt : lt; in GenMinMaxDouble()
676 vixl32::Register op1_lo = LowRegisterFrom(op1_loc); in GenMinMaxLong()
677 vixl32::Register op1_hi = HighRegisterFrom(op1_loc); in GenMinMaxLong()
678 vixl32::Register op2_lo = LowRegisterFrom(op2_loc); in GenMinMaxLong()
679 vixl32::Register op2_hi = HighRegisterFrom(op2_loc); in GenMinMaxLong()
680 vixl32::Register out_lo = LowRegisterFrom(out_loc); in GenMinMaxLong()
681 vixl32::Register out_hi = HighRegisterFrom(out_loc); in GenMinMaxLong()
683 const vixl32::Register temp = temps.Acquire(); in GenMinMaxLong()
694 vixl32::ConditionType cond = is_min ? ge : lt; in GenMinMaxLong()
729 vixl32::Register op1 = InputRegisterAt(invoke, 0); in GenMinMax()
730 vixl32::Register op2 = InputRegisterAt(invoke, 1); in GenMinMax()
731 vixl32::Register out = OutputRegister(invoke); in GenMinMax()
805 vixl32::SRegister in_reg = InputSRegisterAt(invoke, 0); in VisitMathRoundFloat()
806 vixl32::Register out_reg = OutputRegister(invoke); in VisitMathRoundFloat()
807 vixl32::SRegister temp1 = LowSRegisterFrom(invoke->GetLocations()->GetTemp(0)); in VisitMathRoundFloat()
808 vixl32::SRegister temp2 = HighSRegisterFrom(invoke->GetLocations()->GetTemp(0)); in VisitMathRoundFloat()
809 vixl32::Label done; in VisitMathRoundFloat()
810 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitMathRoundFloat()
869 vixl32::Register addr = LowRegisterFrom(invoke->GetLocations()->InAt(0)); in VisitMemoryPeekLongNative()
872 vixl32::Register lo = LowRegisterFrom(invoke->GetLocations()->Out()); in VisitMemoryPeekLongNative()
873 vixl32::Register hi = HighRegisterFrom(invoke->GetLocations()->Out()); in VisitMemoryPeekLongNative()
925 vixl32::Register addr = LowRegisterFrom(invoke->GetLocations()->InAt(0)); in VisitMemoryPokeLongNative()
960 vixl32::Register base = InputRegisterAt(invoke, 1); // Object pointer. in GenUnsafeGet()
962 vixl32::Register offset = LowRegisterFrom(offset_loc); // Long offset, lo part only. in GenUnsafeGet()
967 vixl32::Register trg = RegisterFrom(trg_loc); in GenUnsafeGet()
970 __ Dmb(vixl32::ISH); in GenUnsafeGet()
976 vixl32::Register trg = RegisterFrom(trg_loc); in GenUnsafeGet()
983 __ Dmb(vixl32::ISH); in GenUnsafeGet()
988 __ Dmb(vixl32::ISH); in GenUnsafeGet()
995 __ Dmb(vixl32::ISH); in GenUnsafeGet()
1003 vixl32::Register trg_lo = LowRegisterFrom(trg_loc); in GenUnsafeGet()
1004 vixl32::Register trg_hi = HighRegisterFrom(trg_loc); in GenUnsafeGet()
1007 const vixl32::Register temp_reg = temps.Acquire(); in GenUnsafeGet()
1014 __ Dmb(vixl32::ISH); in GenUnsafeGet()
1159 vixl32::Register base = RegisterFrom(locations->InAt(1)); // Object pointer. in GenUnsafePut()
1160 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Long offset, lo part only. in GenUnsafePut()
1161 vixl32::Register value; in GenUnsafePut()
1164 __ Dmb(vixl32::ISH); in GenUnsafePut()
1168 vixl32::Register value_lo = LowRegisterFrom(locations->InAt(3)); in GenUnsafePut()
1169 vixl32::Register value_hi = HighRegisterFrom(locations->InAt(3)); in GenUnsafePut()
1172 vixl32::Register temp_lo = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
1173 vixl32::Register temp_hi = RegisterFrom(locations->GetTemp(1)); in GenUnsafePut()
1175 const vixl32::Register temp_reg = temps.Acquire(); in GenUnsafePut()
1178 vixl32::Label loop_head; in GenUnsafePut()
1189 vixl32::Register source = value; in GenUnsafePut()
1191 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
1200 __ Dmb(vixl32::ISH); in GenUnsafePut()
1204 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
1205 vixl32::Register card = RegisterFrom(locations->GetTemp(1)); in GenUnsafePut()
1316 vixl32::Register out = OutputRegister(invoke); // Boolean result. in GenCas()
1318 vixl32::Register base = InputRegisterAt(invoke, 1); // Object pointer. in GenCas()
1320 vixl32::Register offset = LowRegisterFrom(offset_loc); // Offset (discard high 4B). in GenCas()
1321 vixl32::Register expected = InputRegisterAt(invoke, 3); // Expected. in GenCas()
1322 vixl32::Register value = InputRegisterAt(invoke, 4); // Value. in GenCas()
1325 vixl32::Register tmp_ptr = RegisterFrom(tmp_ptr_loc); // Pointer to actual memory. in GenCas()
1326 vixl32::Register tmp = RegisterFrom(locations->GetTemp(1)); // Value in memory. in GenCas()
1356 __ Dmb(vixl32::ISH); in GenCas()
1375 vixl32::Label loop_head; in GenCas()
1394 __ Dmb(vixl32::ISH); in GenCas()
1469 vixl32::Label* end,
1470 vixl32::Label* different_compression);
1476 const vixl32::Register str = InputRegisterAt(invoke, 0); in VisitStringCompareTo()
1477 const vixl32::Register arg = InputRegisterAt(invoke, 1); in VisitStringCompareTo()
1478 const vixl32::Register out = OutputRegister(invoke); in VisitStringCompareTo()
1480 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in VisitStringCompareTo()
1481 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringCompareTo()
1482 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in VisitStringCompareTo()
1483 vixl32::Register temp3; in VisitStringCompareTo()
1488 vixl32::Label end; in VisitStringCompareTo()
1489 vixl32::Label different_compression; in VisitStringCompareTo()
1569 vixl32::Label* end, in GenerateStringCompareToLoop()
1570 vixl32::Label* different_compression) { in GenerateStringCompareToLoop()
1573 const vixl32::Register str = InputRegisterAt(invoke, 0); in GenerateStringCompareToLoop()
1574 const vixl32::Register arg = InputRegisterAt(invoke, 1); in GenerateStringCompareToLoop()
1575 const vixl32::Register out = OutputRegister(invoke); in GenerateStringCompareToLoop()
1577 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in GenerateStringCompareToLoop()
1578 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in GenerateStringCompareToLoop()
1579 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in GenerateStringCompareToLoop()
1580 vixl32::Register temp3; in GenerateStringCompareToLoop()
1585 vixl32::Label loop; in GenerateStringCompareToLoop()
1586 vixl32::Label find_char_diff; in GenerateStringCompareToLoop()
1602 vixl32::Label find_char_diff_2nd_cmp; in GenerateStringCompareToLoop()
1605 vixl32::Register temp_reg = temps.Acquire(); in GenerateStringCompareToLoop()
1652 __ Cmp(temp0, Operand(temp1, vixl32::LSR, (mirror::kUseStringCompression ? 3 : 4))); in GenerateStringCompareToLoop()
1661 __ Bic(temp1, temp1, Operand(temp3, vixl32::LSR, 31 - 3)); // &= ~(uncompressed ? 0xfu : 0x7u) in GenerateStringCompareToLoop()
1711 vixl32::Label different_compression_loop; in GenerateStringCompareToLoop()
1712 vixl32::Label different_compression_diff; in GenerateStringCompareToLoop()
1802 vixl32::Register str = InputRegisterAt(invoke, 0); in VisitStringEquals()
1803 vixl32::Register arg = InputRegisterAt(invoke, 1); in VisitStringEquals()
1804 vixl32::Register out = OutputRegister(invoke); in VisitStringEquals()
1806 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in VisitStringEquals()
1808 vixl32::Label loop; in VisitStringEquals()
1809 vixl32::Label end; in VisitStringEquals()
1810 vixl32::Label return_true; in VisitStringEquals()
1811 vixl32::Label return_false; in VisitStringEquals()
1812 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &end); in VisitStringEquals()
1888 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1890 vixl32::Register temp2 = scratch_scope.Acquire(); in VisitStringEquals()
1923 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1925 vixl32::Register temp2 = scratch_scope.Acquire(); in VisitStringEquals()
1982 vixl32::Register char_reg = InputRegisterAt(invoke, 1); in GenerateVisitStringIndexOf()
1991 vixl32::Register tmp_reg = RegisterFrom(locations->GetTemp(0)); in GenerateVisitStringIndexOf()
2052 vixl32::Register byte_array = InputRegisterAt(invoke, 0); in VisitStringNewStringFromBytes()
2095 vixl32::Register string_to_copy = InputRegisterAt(invoke, 0); in VisitStringNewStringFromString()
2147 vixl32::Register input, in CheckPosition()
2150 vixl32::Register temp, in CheckPosition()
2184 vixl32::Register pos_reg = RegisterFrom(pos); in CheckPosition()
2188 vixl32::Register pos_reg = RegisterFrom(pos); in CheckPosition()
2221 vixl32::Register src = InputRegisterAt(invoke, 0); in VisitSystemArrayCopy()
2223 vixl32::Register dest = InputRegisterAt(invoke, 2); in VisitSystemArrayCopy()
2227 vixl32::Register temp1 = RegisterFrom(temp1_loc); in VisitSystemArrayCopy()
2229 vixl32::Register temp2 = RegisterFrom(temp2_loc); in VisitSystemArrayCopy()
2231 vixl32::Register temp3 = RegisterFrom(temp3_loc); in VisitSystemArrayCopy()
2237 vixl32::Label conditions_on_positions_validated; in VisitSystemArrayCopy()
2375 vixl32::Label do_copy; in VisitSystemArrayCopy()
2435 vixl32::Label do_copy; in VisitSystemArrayCopy()
2483 vixl32::Label done; in VisitSystemArrayCopy()
2524 __ Add(src, src, Operand(temp2, vixl32::LSR, 32)); in VisitSystemArrayCopy()
2557 vixl32::Label loop; in VisitSystemArrayCopy()
2561 const vixl32::Register temp_reg = temps.Acquire(); in VisitSystemArrayCopy()
2579 vixl32::Label loop; in VisitSystemArrayCopy()
2583 const vixl32::Register temp_reg = temps.Acquire(); in VisitSystemArrayCopy()
2855 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverse()
2856 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverse()
2857 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverse()
2858 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverse()
2881 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverseBytes()
2882 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverseBytes()
2883 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverseBytes()
2884 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverseBytes()
2907 vixl32::Register src_0 = is_long ? LowRegisterFrom(in) : RegisterFrom(in); in GenBitCount()
2908 vixl32::Register src_1 = is_long ? HighRegisterFrom(in) : src_0; in GenBitCount()
2909 vixl32::SRegister tmp_s = LowSRegisterFrom(locations->GetTemp(0)); in GenBitCount()
2910 vixl32::DRegister tmp_d = DRegisterFrom(locations->GetTemp(0)); in GenBitCount()
2911 vixl32::Register out_r = OutputRegister(instr); in GenBitCount()
2951 const vixl32::Register temp = temps.Acquire(); in GenHighestOneBit()
2958 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenHighestOneBit()
2959 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenHighestOneBit()
2960 vixl32::Register out_reg_lo = LowRegisterFrom(out); in GenHighestOneBit()
2961 vixl32::Register out_reg_hi = HighRegisterFrom(out); in GenHighestOneBit()
2980 2 * vixl32::k16BitT32InstructionSizeInBytes, in GenHighestOneBit()
2985 vixl32::Register out = OutputRegister(invoke); in GenHighestOneBit()
2986 vixl32::Register in = InputRegisterAt(invoke, 0); in GenHighestOneBit()
3017 const vixl32::Register temp = temps.Acquire(); in GenLowestOneBit()
3024 vixl32::Register in_reg_lo = LowRegisterFrom(in); in GenLowestOneBit()
3025 vixl32::Register in_reg_hi = HighRegisterFrom(in); in GenLowestOneBit()
3026 vixl32::Register out_reg_lo = LowRegisterFrom(out); in GenLowestOneBit()
3027 vixl32::Register out_reg_hi = HighRegisterFrom(out); in GenLowestOneBit()
3046 2 * vixl32::k16BitT32InstructionSizeInBytes, in GenLowestOneBit()
3051 vixl32::Register out = OutputRegister(invoke); in GenLowestOneBit()
3052 vixl32::Register in = InputRegisterAt(invoke, 0); in GenLowestOneBit()
3106 vixl32::Register srcObj = InputRegisterAt(invoke, 0); in VisitStringGetCharsNoCheck()
3107 vixl32::Register srcBegin = InputRegisterAt(invoke, 1); in VisitStringGetCharsNoCheck()
3108 vixl32::Register srcEnd = InputRegisterAt(invoke, 2); in VisitStringGetCharsNoCheck()
3109 vixl32::Register dstObj = InputRegisterAt(invoke, 3); in VisitStringGetCharsNoCheck()
3110 vixl32::Register dstBegin = InputRegisterAt(invoke, 4); in VisitStringGetCharsNoCheck()
3112 vixl32::Register num_chr = RegisterFrom(locations->GetTemp(0)); in VisitStringGetCharsNoCheck()
3113 vixl32::Register src_ptr = RegisterFrom(locations->GetTemp(1)); in VisitStringGetCharsNoCheck()
3114 vixl32::Register dst_ptr = RegisterFrom(locations->GetTemp(2)); in VisitStringGetCharsNoCheck()
3116 vixl32::Label done, compressed_string_loop; in VisitStringGetCharsNoCheck()
3117 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitStringGetCharsNoCheck()
3120 __ Add(dst_ptr, dst_ptr, Operand(dstBegin, vixl32::LSL, 1)); in VisitStringGetCharsNoCheck()
3130 vixl32::Register temp; in VisitStringGetCharsNoCheck()
3131 vixl32::Label compressed_string_preloop; in VisitStringGetCharsNoCheck()
3142 __ Add(src_ptr, src_ptr, Operand(srcBegin, vixl32::LSL, 1)); in VisitStringGetCharsNoCheck()
3145 vixl32::Label loop, remainder; in VisitStringGetCharsNoCheck()
3208 const vixl32::Register out = OutputRegister(invoke); in VisitFloatIsInfinite()
3226 const vixl32::Register out = OutputRegister(invoke); in VisitDoubleIsInfinite()
3228 const vixl32::Register temp = temps.Acquire(); in VisitDoubleIsInfinite()
3242 __ Orr(out, temp, Operand(out, vixl32::LSL, 1)); in VisitDoubleIsInfinite()
3284 vixl32::Register out = RegisterFrom(locations->Out()); in VisitIntegerValueOf()
3286 vixl32::Register temp = temps.Acquire(); in VisitIntegerValueOf()
3288 vixl32::Register argument = calling_convention.GetRegisterAt(0); in VisitIntegerValueOf()
3314 vixl32::Register in = RegisterFrom(locations->InAt(0)); in VisitIntegerValueOf()
3318 vixl32::Label allocate, done; in VisitIntegerValueOf()
3349 vixl32::Register out = RegisterFrom(invoke->GetLocations()->Out()); in VisitThreadInterrupted()
3353 vixl32::Register temp = temps.Acquire(); in VisitThreadInterrupted()
3354 vixl32::Label done; in VisitThreadInterrupted()
3355 vixl32::Label* const final_label = codegen_->GetFinalLabel(invoke, &done); in VisitThreadInterrupted()
3357 __ Dmb(vixl32::ISH); in VisitThreadInterrupted()
3360 __ Dmb(vixl32::ISH); in VisitThreadInterrupted()