Home | History | Annotate | Download | only in arm

Lines Matching refs:Operand

42   mov(pc, Operand(target, rmode), LeaveCC, cond);
80 Operand mov_operand = Operand(reinterpret_cast<intptr_t>(target), rmode);
97 Operand mov_operand = Operand(reinterpret_cast<intptr_t>(target), rmode);
140 mov(ip, Operand(reinterpret_cast<int32_t>(target), rmode));
184 add(sp, sp, Operand(count * kPointerSize), LeaveCC, cond);
200 eor(reg1, reg1, Operand(reg2), LeaveCC, cond);
201 eor(reg2, reg2, Operand(reg1), LeaveCC, cond);
202 eor(reg1, reg1, Operand(reg2), LeaveCC, cond);
217 mov(ip, Operand(handle));
225 mov(dst, Operand(value));
230 mov(dst, Operand(cell));
233 mov(dst, Operand(value));
266 void MacroAssembler::And(Register dst, Register src1, const Operand& src2,
271 mov(dst, Operand::Zero(), LeaveCC, cond);
289 and_(dst, src1, Operand(mask), LeaveCC, cond);
291 mov(dst, Operand(dst, LSR, lsb), LeaveCC, cond);
304 and_(dst, src1, Operand(mask), LeaveCC, cond);
308 mov(dst, Operand(dst, LSL, shift_up), LeaveCC, cond);
311 mov(dst, Operand(dst, ASR, shift_down), LeaveCC, cond);
332 bic(dst, dst, Operand(mask));
333 and_(scratch, src, Operand((1 << width) - 1));
334 mov(scratch, Operand(scratch, LSL, lsb));
347 bic(dst, src, Operand(mask));
355 void MacroAssembler::Usat(Register dst, int satpos, const Operand& src,
375 tst(dst, Operand(~satval));
377 mov(dst, Operand::Zero(), LeaveCC, mi); // 0 if negative.
378 mov(dst, Operand(satval), LeaveCC, pl); // satval if positive.
432 mov(destination, Operand(root), LeaveCC, cond);
451 and_(scratch, object, Operand(ExternalReference::new_space_mask(isolate())));
452 cmp(scratch, Operand(ExternalReference::new_space_start(isolate())));
480 add(dst, object, Operand(offset - kHeapObjectTag));
483 tst(dst, Operand((1 << kPointerSizeLog2) - 1));
503 mov(value, Operand(bit_cast<int32_t>(kZapValue + 4)));
504 mov(dst, Operand(bit_cast<int32_t>(kZapValue + 8)));
518 cmp(dst, Operand(isolate()->factory()->meta_map()));
544 add(dst, object, Operand(HeapObject::kMapOffset - kHeapObjectTag));
547 tst(dst, Operand((1 << kPointerSizeLog2) - 1));
573 mov(dst, Operand(bit_cast<int32_t>(kZapValue + 12)));
574 mov(map, Operand(bit_cast<int32_t>(kZapValue + 16)));
645 mov(address, Operand(bit_cast<int32_t>(kZapValue + 12)));
646 mov(value, Operand(bit_cast<int32_t>(kZapValue + 16)));
666 mov(ip, Operand(store_buffer));
674 tst(scratch, Operand(StoreBuffer::kStoreBufferOverflowBit));
720 sub(sp, sp, Operand(num_unsaved * kPointerSize));
728 add(sp, sp, Operand(num_unsaved * kPointerSize));
842 tst(scratch, Operand(kVFPRoundingModeMask));
848 tst(scratch, Operand(kVFPDefaultNaNModeControlBit));
850 orr(scratch, scratch, Operand(kVFPDefaultNaNModeControlBit));
967 add(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
983 add(r0, pc, Operand(-8));
990 add(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
1007 mov(ip, Operand(Smi::FromInt(type)));
1009 mov(ip, Operand(CodeObject()));
1013 Operand(StandardFrameConstants::kFixedFrameSizeFromFp + kPointerSize));
1027 add(sp, fp, Operand(StandardFrameConstants::kConstantPoolOffset));
1045 mov(fp, Operand(sp)); // Set up new frame pointer.
1047 sub(sp, sp, Operand
1049 mov(ip, Operand::Zero());
1055 mov(ip, Operand(CodeObject()));
1059 mov(ip, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate())));
1061 mov(ip, Operand(ExternalReference(Isolate::kContextAddress, isolate())));
1077 sub(sp, sp, Operand((stack_space + 1) * kPointerSize));
1080 and_(sp, sp, Operand(-frame_alignment));
1085 add(ip, sp, Operand(kPointerSize));
1098 mov(scratch1, Operand(String::kEmptyHashField));
1131 Operand(offset + DwVfpRegister::kMaxNumRegisters * kDoubleSize));
1136 mov(r3, Operand::Zero());
1137 mov(ip, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate())));
1142 mov(ip, Operand(ExternalReference(Isolate::kContextAddress, isolate())));
1146 mov(ip, Operand(ExternalReference(Isolate::kContextAddress, isolate())));
1154 mov(sp, Operand(fp));
1157 add(sp, sp, Operand(argument_count, LSL, kPointerSizeLog2));
1207 mov(r0, Operand(actual.immediate()));
1217 mov(r2, Operand(expected.immediate()));
1222 cmp(expected.reg(), Operand(actual.immediate()));
1224 mov(r0, Operand(actual.immediate()));
1226 cmp(expected.reg(), Operand(actual.reg()));
1233 mov(r3, Operand(code_constant));
1234 add(r3, r3, Operand(Code::kHeaderSize - kHeapObjectTag));
1356 cmp(scratch, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE));
1358 cmp(scratch, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE));
1370 tst(scratch, Operand(kIsNotStringMask));
1380 cmp(scratch, Operand(LAST_NAME_TYPE));
1386 mov(r0, Operand::Zero());
1387 mov(r1, Operand(ExternalReference(Runtime::kDebugBreak, isolate())));
1410 mov(r5, Operand(CodeObject()));
1411 mov(r6, Operand(state));
1415 mov(cp, Operand(Smi::FromInt(0))); // Indicates no context.
1416 mov(ip, Operand::Zero()); // NULL frame pointer.
1423 mov(r6, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1434 mov(ip, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1435 add(sp, sp, Operand(StackHandlerConstants::kSize - kPointerSize));
1450 add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
1451 mov(r2, Operand(r2, LSR, StackHandler::kKindWidth)); // Handler index.
1453 add(r1, r1, Operand(Code::kHeaderSize - kHeapObjectTag)); // Code start.
1454 add(pc, r1, Operand::SmiUntag(r2)); // Jump
1472 mov(r3, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1506 mov(r3, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1518 tst(r2, Operand(StackHandler::KindField::kMask));
1545 cmp(scratch, Operand::Zero());
1558 // that ip is clobbered as part of cmp with an object Operand.
1570 cmp(scratch, Operand(ip));
1576 // that ip is clobbered as part of cmp with an object Operand.
1601 cmp(scratch, Operand(ip));
1617 eor(t0, t0, Operand(scratch));
1623 mvn(scratch, Operand(t0));
1624 add(t0, scratch, Operand(t0, LSL, 15));
1626 eor(t0, t0, Operand(t0, LSR, 12));
1628 add(t0, t0, Operand(t0, LSL, 2));
1630 eor(t0, t0, Operand(t0, LSR, 4));
1632 mov(scratch, Operand(t0, LSL, 11));
1633 add(t0, t0, Operand(t0, LSL, 3));
1636 eor(t0, t0, Operand(t0, LSR, 16));
1674 sub(t1, t1, Operand(1));
1682 add(t2, t2, Operand(SeededNumberDictionary::GetProbeOffset(i)));
1684 and_(t2, t2, Operand(t1));
1688 add(t2, t2, Operand(t2, LSL, 1)); // t2 = t2 * 3
1691 add(t2, elements, Operand(t2, LSL, kPointerSizeLog2));
1693 cmp(key, Operand(ip));
1707 tst(t1, Operand(Smi::FromInt(PropertyDetails::TypeField::kMask)));
1727 mov(result, Operand(0x7091));
1728 mov(scratch1, Operand(0x7191));
1729 mov(scratch2, Operand(0x7291));
1765 mov(topaddr, Operand(allocation_top));
1790 and_(scratch2, result, Operand(kDoubleAlignmentMask), SetCC);
1794 cmp(result, Operand(ip));
1797 mov(scratch2, Operand(isolate()->factory()->one_pointer_filler_map()));
1816 Operand bits_operand(bits);
1824 cmp(scratch2, Operand(ip));
1830 add(result, result, Operand(kHeapObjectTag));
1844 mov(result, Operand(0x7091));
1845 mov(scratch1, Operand(0x7191));
1846 mov(scratch2, Operand(0x7291));
1879 mov(topaddr, Operand(allocation_top));
1904 and_(scratch2, result, Operand(kDoubleAlignmentMask), SetCC);
1908 cmp(result, Operand(ip));
1911 mov(scratch2, Operand(isolate()->factory()->one_pointer_filler_map()));
1920 add(scratch2, result, Operand(object_size, LSL, kPointerSizeLog2), SetCC);
1922 add(scratch2, result, Operand(object_size), SetCC);
1925 cmp(scratch2, Operand(ip));
1930 tst(scratch2, Operand(kObjectAlignmentMask));
1937 add(result, result, Operand(kHeapObjectTag));
1948 and_(object, object, Operand(~kHeapObjectTagMask));
1951 mov(scratch, Operand(new_space_allocation_top));
1957 mov(scratch, Operand(new_space_allocation_top));
1971 mov(scratch1, Operand(length, LSL, 1)); // Length in bytes, not chars.
1973 Operand(kObjectAlignmentMask + SeqTwoByteString::kHeaderSize));
1974 and_(scratch1, scratch1, Operand(~kObjectAlignmentMask));
2002 Operand(kObjectAlignmentMask + SeqOneByteString::kHeaderSize));
2003 and_(scratch1, scratch1, Operand(~kObjectAlignmentMask));
2100 sub(ip, ip, Operand(min_type));
2101 cmp(ip, Operand(max_type - min_type));
2115 cmp(type_reg, Operand(type));
2135 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue));
2148 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
2150 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue));
2161 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
2190 tst(ip, Operand(kVFPDefaultNaNModeControlBit));
2200 add(scratch1, elements_reg, Operand::DoubleOffsetFromSmiKey(key_reg));
2219 cmp(obj_map, Operand(map));
2264 mov(ip, Operand(map));
2290 Operand(Smi::FromInt(1 << SharedFunctionInfo::kBoundFunction)));
2295 tst(scratch, Operand(1 << Map::kHasNonInstancePrototype));
2370 mov(r9, Operand(ExternalReference::is_profiling_address(isolate())));
2372 cmp(r9, Operand(0));
2376 mov(r3, Operand(thunk_ref));
2384 mov(r9, Operand(next_address));
2388 add(r6, r6, Operand(1));
2395 mov(r0, Operand(ExternalReference::isolate_address(isolate())));
2410 mov(r0, Operand(ExternalReference::isolate_address(isolate())));
2432 sub(r6, r6, Operand(1));
2441 mov(ip, Operand(ExternalReference::scheduled_exception_address(isolate())));
2452 mov(r4, Operand(stack_space));
2470 mov(r0, Operand(ExternalReference::isolate_address(isolate())));
2541 cmp(result, Operand(-1));
2548 cmp(input_high, Operand::Zero());
2557 cmn(result, Operand(1));
2565 sub(result, result, Operand(1), SetCC);
2580 sub(ip, result, Operand(1));
2581 cmp(ip, Operand(0x7ffffffe));
2594 sub(sp, sp, Operand(kDoubleSize)); // Put input on stack.
2600 add(sp, sp, Operand(kDoubleSize));
2655 and_(dst, dst, Operand((1 << num_least_bits) - 1));
2663 and_(dst, src, Operand((1 << num_least_bits) - 1));
2681 mov(r0, Operand(num_arguments));
2682 mov(r1, Operand(ExternalReference(f, isolate())));
2690 mov(r0, Operand(num_arguments));
2691 mov(r1, Operand(ext));
2705 mov(r0, Operand(num_arguments));
2724 mov(r1, Operand(builtin));
2771 mov(scratch1, Operand(value));
2772 mov(scratch2, Operand(ExternalReference(counter)));
2782 mov(scratch2, Operand(ExternalReference(counter)));
2784 add(scratch1, scratch1, Operand(value));
2794 mov(scratch2, Operand(ExternalReference(counter)));
2796 sub(scratch1, scratch1, Operand(value));
2855 mov(r0, Operand(Smi::FromInt(reason)));
2958 sub(scratch, reg, Operand(1), SetCC);
2970 sub(scratch, reg, Operand(1), SetCC);
2981 tst(reg1, Operand(kSmiTagMask));
2982 tst(reg2, Operand(kSmiTagMask), eq);
3007 tst(reg1, Operand(kSmiTagMask));
3008 tst(reg2, Operand(kSmiTagMask), ne);
3016 tst(object, Operand(kSmiTagMask));
3025 tst(object, Operand(kSmiTagMask));
3034 tst(object, Operand(kSmiTagMask));
3048 tst(object, Operand(kSmiTagMask));
3110 mov(mask, Operand(mask, ASR, kSmiTagSize + 1));
3111 sub(mask, mask, Operand(1)); // Make mask.
3129 Operand(HeapNumber::kValueOffset - kHeapObjectTag));
3131 eor(scratch1, scratch1, Operand(scratch2));
3132 and_(scratch1, scratch1, Operand(mask));
3138 Operand(scratch1, LSL, kPointerSizeLog2 + 1));
3143 sub(scratch2, object, Operand(kHeapObjectTag));
3145 sub(probe, probe, Operand(kHeapObjectTag));
3153 and_(scratch, mask, Operand(object, ASR, 1));
3158 Operand(scratch, LSL, kPointerSizeLog2 + 1));
3195 and_(scratch1, first, Operand(second));
3206 tst(reg, Operand(kIsNotStringMask | kIsNotInternalizedMask));
3208 cmp(reg, Operand(SYMBOL_TYPE));
3250 sub(scratch1, result, Operand(kHeapObjectTag));
3286 cmp(length, Operand(kPointerSize));
3290 tst(src, Operand(kPointerSize - 1));
3294 sub(length, length, Operand(1), SetCC);
3299 tst(src, Operand(kPointerSize - 1));
3302 cmp(length, Operand(kPointerSize));
3309 mov(scratch, Operand(scratch, LSR, 8));
3311 mov(scratch, Operand(scratch, LSR, 8));
3313 mov(scratch, Operand(scratch, LSR, 8));
3316 sub(length, length, Operand(kPointerSize));
3321 cmp(length, Operand::Zero());
3326 sub(length, length, Operand(1), SetCC);
3346 mov(scratch, Operand(ExternalReference::cpu_features()));
3348 tst(scratch, Operand(1u << VFP32DREGS));
3355 sub(location, location, Operand(16 * kDoubleSize), LeaveCC, eq);
3364 add(location, location, Operand(16 * kDoubleSize), LeaveCC, eq);
3375 and_(scratch1, first, Operand(kFlatOneByteStringMask));
3376 and_(scratch2, second, Operand
3377 cmp(scratch1, Operand(kFlatOneByteStringTag));
3379 cmp(scratch2, Operand(kFlatOneByteStringTag), eq);
3391 and_(scratch, type, Operand(kFlatOneByteStringMask));
3392 cmp(scratch, Operand(kFlatOneByteStringTag));
3433 and_(ip, ip, Operand(kStringRepresentationMask | kStringEncodingMask));
3434 cmp(ip, Operand(encoding_mask));
3451 cmp(index, Operand(Smi::FromInt(0)));
3468 sub(sp, sp, Operand((stack_passed_arguments + 1) * kPointerSize));
3470 and_(sp, sp, Operand(-frame_alignment));
3473 sub(sp, sp, Operand(stack_passed_arguments * kPointerSize));
3512 mov(ip, Operand(function));
3550 tst(sp, Operand(frame_alignment_mask));
3569 add(sp, sp, Operand(stack_passed_arguments * sizeof(kPointerSize)));
3582 and_(scratch, result, Operand(GetConsantPoolLoadMask()));
3583 teq(scratch, Operand(GetConsantPoolLoadPattern()));
3594 and_(result, result, Operand(patterns[i]));
3595 cmp(result, Operand(patterns[i]));
3604 and_(scratch, result, Operand(0xfff));
3605 mov(ip, Operand(result, LSR, 4));
3606 and_(ip, ip, Operand(0xf000));
3607 orr(result, scratch, Operand(ip));
3610 and_(ip, scratch, Operand(0xf0000));
3611 orr(result, result, Operand(ip, LSL, 12));
3612 and_(scratch, scratch, Operand(0xfff));
3613 orr(result, result, Operand(scratch, LSL, 16));
3621 and_(result, result, Operand(GetConsantPoolLoadPattern()));
3622 cmp(result, Operand(GetConsantPoolLoadPattern()));
3630 and_(result, result, Operand(kLdrOffsetMask));
3635 add(result, pp, Operand(result));
3637 add(result, ldr_location, Operand(result));
3638 add(result, result, Operand(Instruction::kPCReadOffset));
3651 tst(scratch, Operand(mask));
3660 mov(scratch, Operand(map));
3662 tst(scratch, Operand(Map::Deprecated::kMask));
3689 tst(ip, Operand(mask_scratch));
3692 add(mask_scratch, mask_scratch, Operand(mask_scratch), SetCC);
3694 tst(ip, Operand(mask_scratch));
3700 tst(ip, Operand(1));
3721 tst(scratch, Operand(kIsIndirectStringMask | kIsNotStringMask));
3731 and_(bitmap_reg, addr_reg, Operand(~Page::kPageAlignmentMask));
3735 add(bitmap_reg, bitmap_reg, Operand(ip, LSL, kPointerSizeLog2));
3736 mov(ip, Operand(1));
3737 mov(mask_reg, Operand(ip, LSL, mask_reg));
3768 tst(load_scratch, Operand(mask_scratch, LSL, 1));
3783 mov(length, Operand(HeapNumber::kSize), LeaveCC, eq);
3793 tst(instance_type, Operand(kIsIndirectStringMask | kIsNotStringMask));
3802 tst(instance_type, Operand(kExternalStringTag));
3803 mov(length, Operand(ExternalString::kSize), LeaveCC, ne);
3813 tst(instance_type, Operand(kStringEncodingMask));
3814 mov(ip, Operand(ip, LSR, 1), LeaveCC, ne);
3815 add(length, ip, Operand(SeqString::kHeaderSize + kObjectAlignmentMask));
3816 and_(length, length, Operand(~kObjectAlignmentMask));
3822 orr(ip, ip, Operand(mask_scratch));
3825 and_(bitmap_scratch, bitmap_scratch, Operand(~Page::kPageAlignmentMask));
3827 add(ip, ip, Operand(length));
3835 Usat(output_reg, 8, Operand(input_reg));
3846 mov(result_reg, Operand(255));
3874 and_(dst, dst, Operand(Map::EnumLengthBits::kMask));
3890 cmp(r3, Operand(Smi::FromInt(kInvalidEnumCacheSentinel)));
3900 cmp(r3, Operand(Smi::FromInt(0)));
3932 Operand(JSArray::kSize + AllocationMemento::kSize - kHeapObjectTag));
3933 cmp(scratch_reg, Operand(new_space_start));
3935 mov(ip, Operand(new_space_allocation_top));
3941 Operand(isolate()->factory()->allocation_memento_map()));
3987 cmp(scratch1, Operand(DICTIONARY_ELEMENTS));
3990 cmp(current, Operand(factory->null_value()));
4075 mov(ip, Operand(mag.multiplier));
4079 add(result, result, Operand(dividend));
4082 sub(result, result, Operand(dividend));
4084 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift));
4085 add(result, result, Operand(dividend, LSR, 31));