Home | History | Annotate | Download | only in optimizing

Lines Matching defs:temp1

1319   Register temp1 = WRegisterFrom(locations->GetTemp(1));
1357 __ Lsr(temp1, temp2, 1u);
1361 __ Ldr(temp1, HeapOperand(arg, count_offset));
1364 __ Subs(out, temp0, temp1);
1366 __ Csel(temp0, temp1, temp0, ge);
1379 __ Mov(temp1, value_offset);
1401 __ Ldr(temp4, MemOperand(str.X(), temp1.X()));
1402 __ Ldr(temp2, MemOperand(arg.X(), temp1.X()));
1405 __ Add(temp1, temp1, char_size * 4);
1411 // Promote temp1 to an X reg, ready for EOR.
1412 temp1 = temp1.X();
1417 __ Eor(temp1, temp2, temp4);
1418 __ Rbit(temp1, temp1);
1419 __ Clz(temp1, temp1);
1427 __ Cmp(temp0, Operand(temp1.W(), LSR, (mirror::kUseStringCompression) ? 3 : 4));
1432 __ Bic(temp1, temp1, 0x7);
1433 __ Bic(temp1, temp1, Operand(temp3.X(), LSL, 3u));
1435 __ Bic(temp1, temp1, 0xf);
1437 __ Lsr(temp2, temp2, temp1);
1438 __ Lsr(temp4, temp4, temp1);
1441 __ Uxtb(temp1, temp4);
1442 __ Sub(out, temp1.W(), Operand(temp2.W(), UXTB));
1455 temp1 = temp1.W();
1459 // `temp1` will hold the compressed data pointer, `temp2` the uncompressed data pointer.
1462 __ Csel(temp1, str, arg, eq); // Pointer to the compressed string.
1471 // Adjust temp1 and temp2 from string pointers to data pointers.
1472 __ Add(temp1, temp1, Operand(value_offset));
1482 __ Ldrb(temp4, MemOperand(temp1.X(), c_char_size, PostIndex));
1565 Register temp1 = scratch_scope.AcquireW();
1596 __ Ldr(temp1, MemOperand(arg.X(), class_offset));
1597 __ Cmp(temp, temp1);
1620 // Temporarily release temp1 as we may not be able to embed the flagged count in CMP immediate.
1621 scratch_scope.Release(temp1);
1623 temp1 = scratch_scope.AcquireW();
1628 __ Ldr(temp1, MemOperand(arg.X(), count_offset));
1631 __ Cmp(temp, temp1);
1649 temp1 = temp1.X();
1652 __ Ldp(temp, temp1, MemOperand(str.X(), offset));
1655 __ Ccmp(temp1, out, NoFlag, eq);
1662 __ Ldr(temp1, MemOperand(arg.X(), offset));
1663 __ Cmp(temp, temp1);
1675 __ And(temp1, temp, Operand(1)); // Extract compression flag.
1677 __ Lsl(temp, temp, temp1); // Calculate number of bytes to compare.
1681 __ Mov(temp1, value_offset);
1683 temp1 = temp1.X();
1687 __ Ldr(out, MemOperand(str.X(), temp1));
1688 __ Ldr(temp2, MemOperand(arg.X(), temp1));
1689 __ Add(temp1, temp1, Operand(sizeof(uint64_t)));
2475 Register temp1 = WRegisterFrom(locations->GetTemp(0));
2476 Location temp1_loc = LocationFrom(temp1);
2549 temp1,
2558 temp1,
2581 // /* HeapReference<Class> */ temp1 = src->klass_
2590 // /* HeapReference<Class> */ temp1 = temp1->component_type_
2593 temp1,
2598 __ Cbz(temp1, intrinsic_slow_path->GetEntryLabel());
2599 // If heap poisoning is enabled, `temp1` has been unpoisoned
2601 // /* uint16_t */ temp1 = static_cast<uint16>(temp1->primitive_type_);
2602 __ Ldrh(temp1, HeapOperand(temp1, primitive_offset));
2604 __ Cbnz(temp1, intrinsic_slow_path->GetEntryLabel());
2607 // /* HeapReference<Class> */ temp1 = dest->klass_
2619 // Register `temp1` is not trashed by the read barrier emitted
2623 // temporaries such a `temp1`.
2624 // /* HeapReference<Class> */ temp2 = temp1->component_type_
2627 temp1,
2641 // For the same reason given earlier, `temp1` is not trashed by the
2652 __ Cmp(temp1, temp2);
2657 // /* HeapReference<Class> */ temp1 = temp1->component_type_
2660 temp1,
2665 // /* HeapReference<Class> */ temp1 = temp1->super_class_
2667 // heap reference load, as `temp1` is only used in a
2670 __ Ldr(temp1, HeapOperand(temp1, super_offset));
2671 __ Cbnz(temp1, intrinsic_slow_path->GetEntryLabel());
2679 // /* HeapReference<Class> */ temp1 = dest->klass_
2680 __ Ldr(temp1, MemOperand(dest, class_offset));
2688 codegen_->GetAssembler()->MaybeUnpoisonHeapReference(temp1);
2695 // /* HeapReference<Class> */ temp3 = temp1->component_type_
2696 __ Ldr(temp3, HeapOperand(temp1, component_offset));
2717 __ Cmp(temp1, temp2);
2723 codegen_->GetAssembler()->MaybeUnpoisonHeapReference(temp1);
2725 // /* HeapReference<Class> */ temp1 = temp1->component_type_
2726 __ Ldr(temp1, HeapOperand(temp1, component_offset));
2727 codegen_->GetAssembler()->MaybeUnpoisonHeapReference(temp1);
2728 // /* HeapReference<Class> */ temp1 = temp1->super_class_
2729 __ Ldr(temp1, HeapOperand(temp1, super_offset));
2731 __ Cbnz(temp1, intrinsic_slow_path->GetEntryLabel());
2741 // /* HeapReference<Class> */ temp1 = src->klass_
2749 // /* HeapReference<Class> */ temp2 = temp1->component_type_
2752 temp1,
2761 // /* HeapReference<Class> */ temp1 = src->klass_
2762 __ Ldr(temp1, HeapOperand(src.W(), class_offset));
2763 codegen_->GetAssembler()->MaybeUnpoisonHeapReference(temp1);
2764 // /* HeapReference<Class> */ temp2 = temp1->component_type_
2765 __ Ldr(temp2, HeapOperand(temp1, component_offset));
2778 Register src_curr_addr = temp1.X();