Lines Matching refs:Operand

79   mov(pc, Operand(target), LeaveCC, cond);
87 mov(ip, Operand(target, rmode));
90 mov(pc, Operand(target, rmode), LeaveCC, cond);
128 mov(lr, Operand(pc), LeaveCC, cond);
129 mov(pc, Operand(target), LeaveCC, cond);
140 if (!Operand(immediate, rmode).is_single_instruction(mov_instr)) {
165 mov(ip, Operand(reinterpret_cast<int32_t>(target), rmode));
171 mov(lr, Operand(pc), LeaveCC, cond);
173 mov(pc, Operand(reinterpret_cast<int32_t>(target), rmode), LeaveCC, cond);
210 mov(pc, Operand(lr), LeaveCC, cond);
217 add(sp, sp, Operand(count * kPointerSize), LeaveCC, cond);
233 eor(reg1, reg1, Operand(reg2), LeaveCC, cond);
234 eor(reg2, reg2, Operand(reg1), LeaveCC, cond);
235 eor(reg1, reg1, Operand(reg2), LeaveCC, cond);
250 mov(ip, Operand(handle));
256 mov(dst, Operand(value));
276 void MacroAssembler::And(Register dst, Register src1, const Operand& src2,
281 mov(dst, Operand(0, RelocInfo::NONE), LeaveCC, cond);
301 and_(dst, src1, Operand(mask), LeaveCC, cond);
303 mov(dst, Operand(dst, LSR, lsb), LeaveCC, cond);
316 and_(dst, src1, Operand(mask), LeaveCC, cond);
320 mov(dst, Operand(dst, LSL, shift_up), LeaveCC, cond);
323 mov(dst, Operand(dst, ASR, shift_down), LeaveCC, cond);
344 bic(dst, dst, Operand(mask));
345 and_(scratch, src, Operand((1 << width) - 1));
346 mov(scratch, Operand(scratch, LSL, lsb));
358 bic(dst, dst, Operand(mask));
365 void MacroAssembler::Usat(Register dst, int satpos, const Operand& src,
385 tst(dst, Operand(~satval));
387 mov(dst, Operand(0, RelocInfo::NONE), LeaveCC, mi); // 0 if negative.
388 mov(dst, Operand(satval), LeaveCC, pl); // satval if positive.
415 mov(result, Operand(cell));
418 mov(result, Operand(object));
428 and_(scratch, object, Operand(ExternalReference::new_space_mask(isolate())));
429 cmp(scratch, Operand(ExternalReference::new_space_start(isolate())));
456 add(dst, object, Operand(offset - kHeapObjectTag));
459 tst(dst, Operand((1 << kPointerSizeLog2) - 1));
478 mov(value, Operand(BitCast<int32_t>(kZapValue + 4)));
479 mov(dst, Operand(BitCast<int32_t>(kZapValue + 8)));
509 tst(value, Operand(kSmiTagMask));
539 mov(address, Operand(BitCast<int32_t>(kZapValue + 12)));
540 mov(value, Operand(BitCast<int32_t>(kZapValue + 16)));
560 mov(ip, Operand(store_buffer));
568 tst(scratch, Operand(StoreBuffer::kStoreBufferOverflowBit));
595 sub(sp, sp, Operand(num_unsaved * kPointerSize));
603 add(sp, sp, Operand(num_unsaved * kPointerSize));
609 sub(sp, sp, Operand(DwVfpRegister::kNumAllocatableRegisters *
621 add(sp, sp, Operand(DwVfpRegister::kNumAllocatableRegisters *
740 bic(scratch, scratch, Operand(bits_to_clear), LeaveCC, cond);
799 mov(ip, Operand(Smi::FromInt(type)));
801 mov(ip, Operand(CodeObject()));
803 add(fp, sp, Operand(3 * kPointerSize)); // Adjust FP to point to saved FP.
825 mov(fp, Operand(sp)); // Set up new frame pointer.
827 sub(sp, sp, Operand(2 * kPointerSize));
829 mov(ip, Operand(0));
832 mov(ip, Operand(CodeObject()));
836 mov(ip, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate())));
838 mov(ip, Operand(ExternalReference(Isolate::kContextAddress, isolate())));
855 sub(sp, sp, Operand((stack_space + 1) * kPointerSize));
858 and_(sp, sp, Operand(-frame_alignment));
863 add(ip, sp, Operand(kPointerSize));
873 mov(scratch1, Operand(length, LSL, kSmiTagSize));
876 mov(scratch1, Operand(String::kEmptyHashField));
905 sub(r3, fp, Operand(offset + DwVfpRegister::kNumRegisters * kDoubleSize));
913 mov(r3, Operand(0, RelocInfo::NONE));
914 mov(ip, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate())));
918 mov(ip, Operand(ExternalReference(Isolate::kContextAddress, isolate())));
925 mov(sp, Operand(fp));
928 add(sp, sp, Operand(argument_count, LSL, kPointerSizeLog2));
948 mov(dst, Operand(Smi::FromInt(1)));
950 mov(dst, Operand(Smi::FromInt(0)));
987 mov(r0, Operand(actual.immediate()));
997 mov(r2, Operand(expected.immediate()));
1002 cmp(expected.reg(), Operand(actual.immediate()));
1004 mov(r0, Operand(actual.immediate()));
1006 cmp(expected.reg(), Operand(actual.reg()));
1013 mov(r3, Operand(code_constant));
1014 add(r3, r3, Operand(Code::kHeaderSize - kHeapObjectTag));
1118 mov(expected_reg, Operand(expected_reg, ASR, kSmiTagSize));
1161 cmp(scratch, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE));
1163 cmp(scratch, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE));
1175 tst(scratch, Operand(kIsNotStringMask));
1182 mov(r0, Operand(0, RelocInfo::NONE));
1183 mov(r1, Operand(ExternalReference(Runtime::kDebugBreak, isolate())));
1207 mov(r5, Operand(CodeObject()));
1208 mov(r6, Operand(state));
1212 mov(r7, Operand(Smi::FromInt(0))); // Indicates no context.
1213 mov(ip, Operand(0, RelocInfo::NONE)); // NULL frame pointer.
1220 mov(r6, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1231 mov(ip, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1232 add(sp, sp, Operand(StackHandlerConstants::kSize - kPointerSize));
1242 add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
1243 mov(r2, Operand(r2, LSR, StackHandler::kKindWidth)); // Handler index.
1245 add(r1, r1, Operand(Code::kHeaderSize - kHeapObjectTag)); // Code start.
1246 add(pc, r1, Operand(r2, ASR, kSmiTagSize)); // Jump.
1264 mov(r3, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1298 mov(r3, Operand(ExternalReference(Isolate::kHandlerAddress, isolate())));
1310 tst(r2, Operand(StackHandler::KindField::kMask));
1337 cmp(scratch, Operand(0, RelocInfo::NONE));
1350 // that ip is clobbered as part of cmp with an object Operand.
1362 cmp(scratch, Operand(ip));
1369 // that ip is clobbered as part of cmp with an object Operand.
1394 cmp(scratch, Operand(ip));
1407 eor(t0, t0, Operand(scratch));
1413 mvn(scratch, Operand(t0));
1414 add(t0, scratch, Operand(t0, LSL, 15));
1416 eor(t0, t0, Operand(t0, LSR, 12));
1418 add(t0, t0, Operand(t0, LSL, 2));
1420 eor(t0, t0, Operand(t0, LSR, 4));
1422 mov(scratch, Operand(t0, LSL, 11));
1423 add(t0, t0, Operand(t0, LSL, 3));
1426 eor(t0, t0, Operand(t0, LSR, 16));
1463 mov(t1, Operand(t1, ASR, kSmiTagSize)); // convert smi to int
1464 sub(t1, t1, Operand(1));
1473 add(t2, t2, Operand(SeededNumberDictionary::GetProbeOffset(i)));
1475 and_(t2, t2, Operand(t1));
1479 add(t2, t2, Operand(t2, LSL, 1)); // t2 = t2 * 3
1482 add(t2, elements, Operand(t2, LSL, kPointerSizeLog2));
1484 cmp(key, Operand(ip));
1498 tst(t1, Operand(Smi::FromInt(PropertyDetails::TypeField::kMask)));
1517 mov(result, Operand(0x7091));
1518 mov(scratch1, Operand(0x7191));
1519 mov(scratch2, Operand(0x7291));
1555 mov(topaddr, Operand(new_space_allocation_top));
1556 mov(obj_size_reg, Operand(object_size));
1578 add(scratch2, result, Operand(obj_size_reg), SetCC);
1580 cmp(scratch2, Operand(ip));
1586 add(result, result, Operand(kHeapObjectTag));
1600 mov(result, Operand(0x7091));
1601 mov(scratch1, Operand(0x7191));
1602 mov(scratch2, Operand(0x7291));
1635 mov(topaddr, Operand(new_space_allocation_top));
1659 add(scratch2, result, Operand(object_size, LSL, kPointerSizeLog2), SetCC);
1661 add(scratch2, result, Operand(object_size), SetCC);
1664 cmp(scratch2, Operand(ip));
1669 tst(scratch2, Operand(kObjectAlignmentMask));
1676 add(result, result, Operand(kHeapObjectTag));
1687 and_(object, object, Operand(~kHeapObjectTagMask));
1690 mov(scratch, Operand(new_space_allocation_top));
1696 mov(scratch, Operand(new_space_allocation_top));
1710 mov(scratch1, Operand(length, LSL, 1)); // Length in bytes, not chars.
1712 Operand(kObjectAlignmentMask + SeqTwoByteString::kHeaderSize));
1713 and_(scratch1, scratch1, Operand(~kObjectAlignmentMask));
1743 Operand(kObjectAlignmentMask + SeqAsciiString::kHeaderSize));
1744 and_(scratch1, scratch1, Operand(~kObjectAlignmentMask));
1856 cmp(type_reg, Operand(type));
1874 cmp(scratch, Operand(Map::kMaximumBitField2FastElementValue));
1885 cmp(scratch, Operand(Map::kMaximumBitField2FastSmiOnlyElementValue));
1887 cmp(scratch, Operand(Map::kMaximumBitField2FastElementValue));
1897 cmp(scratch, Operand(Map::kMaximumBitField2FastSmiOnlyElementValue));
1927 mov(scratch1, Operand(kNaNOrInfinityLowerBoundUpper32));
1936 Operand(key_reg, LSL, kDoubleSizeLog2 - kSmiTagSize));
1947 cmp(mantissa_reg, Operand(0));
1953 mov(mantissa_reg, Operand(static_cast<uint32_t>(nan_int64)));
1954 mov(exponent_reg, Operand(static_cast<uint32_t>(nan_int64 >> 32)));
1959 Operand(FixedDoubleArray::kHeaderSize - kHeapObjectTag));
1961 Operand(key_reg, LSL, kDoubleSizeLog2 - kSmiTagSize));
1998 cmp(scratch, Operand(map));
2006 cmp(scratch, Operand(Handle<Map>(transitioned_fast_element_map)));
2015 cmp(scratch, Operand(Handle<Map>(transitioned_double_map)));
2063 mov(ip, Operand(map));
2088 Operand(Smi::FromInt(1 << SharedFunctionInfo::kBoundFunction)));
2095 tst(scratch, Operand(1 << Map::kHasNonInstancePrototype));
2158 mov(r7, Operand(next_address));
2162 add(r6, r6, Operand(1));
2177 cmp(r0, Operand(0));
2189 sub(r6, r6, Operand(1));
2198 mov(ip, Operand(ExternalReference::scheduled_exception_address(isolate())));
2204 mov(r4, Operand(stack_space));
2219 mov(r0, Operand(ExternalReference::isolate_address()));
2235 add(sp, sp, Operand(num_arguments * kPointerSize));
2252 mov(index, Operand(hash, LSL, kSmiTagSize));
2260 mov(r7, Operand(inReg, ASR, kSmiTagSize));
2280 mov(scratch1, Operand(object, ASR, kSmiTagSize));
2288 sub(scratch2, object, Operand(kHeapObjectTag));
2299 cmp(scratch1, Operand(-1));
2311 mov(scratch1, Operand(smi, ASR, kSmiTagSize));
2328 sub(scratch, source, Operand(kHeapObjectTag));
2336 sub(scratch, dest, Operand(1));
2337 cmp(scratch, Operand(LONG_MAX - 1));
2356 mov(dest, Operand(0, RelocInfo::NONE));
2367 sub(scratch2, scratch2, Operand(fudge_factor));
2368 cmp(scratch2, Operand(non_smi_exponent - fudge_factor));
2380 sub(scratch2, scratch2, Operand(zero_exponent - fudge_factor), SetCC);
2386 rsb(dest, scratch2, Operand(30));
2390 and_(scratch2, scratch, Operand(HeapNumber::kMantissaMask));
2392 orr(scratch2, scratch2, Operand(1 << HeapNumber::kExponentShift));
2398 mov(scratch2, Operand(scratch2, LSL, shift_distance));
2400 tst(scratch, Operand(HeapNumber::kSignMask));
2406 orr(scratch, scratch2, Operand(scratch, LSR, 32 - shift_distance));
2408 mov(dest, Operand(scratch, LSR, dest));
2410 rsb(dest, dest, Operand(0, RelocInfo::NONE), LeaveCC, ne);
2437 Operand(kVFPExceptionMask |
2443 orr(scratch, scratch, Operand(rounding_mode));
2458 tst(scratch, Operand(kVFPExceptionMask | check_inexact_conversion));
2475 cmp(result, Operand(HeapNumber::kExponentMask));
2476 mov(result, Operand(0), LeaveCC, eq);
2482 Operand(HeapNumber::kExponentBias + HeapNumber::kMantissaBits + 31),
2488 mov(result, Operand(0));
2494 add(scratch, result, Operand(kShiftBase + HeapNumber::kMantissaBits), SetCC);
2499 and_(sign, input_high, Operand(HeapNumber::kSignMask));
2504 Operand(1 << HeapNumber::kMantissaBitsInTopWord));
2508 mov(input_high, Operand(input_high, LSL, scratch));
2512 rsb(scratch, scratch, Operand(32), SetCC);
2516 rsb(scratch, scratch, Operand(0));
2517 mov(input_low, Operand(input_low, LSL, scratch));
2521 mov(input_low, Operand(input_low, LSR, scratch));
2524 orr(input_high, input_high, Operand(input_low));
2526 cmp(sign, Operand(0));
2529 rsb(result, input_high, Operand(0), LeaveCC, ne);
2561 tst(scratch, Operand(kVFPOverflowExceptionBit |
2583 mov(dst, Operand(src, ASR, kSmiTagSize));
2584 and_(dst, dst, Operand((1 << num_least_bits) - 1));
2592 and_(dst, src, Operand((1 << num_least_bits) - 1));
2612 mov(r0, Operand(num_arguments));
2613 mov(r1, Operand(ExternalReference(f, isolate())));
2626 mov(r0, Operand(function->nargs));
2627 mov(r1, Operand(ExternalReference(function, isolate())));
2635 mov(r0, Operand(num_arguments));
2636 mov(r1, Operand(ext));
2650 mov(r0, Operand(num_arguments));
2669 mov(r1, Operand(builtin));
2717 mov(scratch1, Operand(value));
2718 mov(scratch2, Operand(ExternalReference(counter)));
2728 mov(scratch2, Operand(ExternalReference(counter)));
2730 add(scratch1, scratch1, Operand(value));
2740 mov(scratch2, Operand(ExternalReference(counter)));
2742 sub(scratch1, scratch1, Operand(value));
2813 mov(r0, Operand(p0));
2815 mov(r0, Operand(Smi::FromInt(p1 - p0)));
2929 sub(scratch, reg, Operand(1), SetCC);
2941 sub(scratch, reg, Operand(1), SetCC);
2952 tst(reg1, Operand(kSmiTagMask));
2953 tst(reg2, Operand(kSmiTagMask), eq);
2961 mov(dst, Operand(src, ASR, kSmiTagSize), SetCC);
2969 mov(dst, Operand(src, ASR, kSmiTagSize), SetCC);
2978 tst(reg1, Operand(kSmiTagMask));
2979 tst(reg2, Operand(kSmiTagMask), ne);
2986 tst(object, Operand(kSmiTagMask));
2987 Assert(ne, "Operand is a smi");
2993 tst(object, Operand(kSmiTagMask));
2994 Assert(eq, "Operand is not smi");
3000 tst(object, Operand(kSmiTagMask));
3001 Assert(ne, "Operand is not a string");
3006 Assert(lo, "Operand is not a string");
3057 and_(scratch1, first, Operand(second));
3096 sub(scratch1, result, Operand(kHeapObjectTag));
3137 cmp(length, Operand(0));
3140 tst(src, Operand(kPointerSize - 1));
3144 sub(length, length, Operand(1), SetCC);
3150 tst(src, Operand(kPointerSize - 1));
3153 cmp(length, Operand(kPointerSize));
3160 mov(scratch, Operand(scratch, LSR, 8));
3162 mov(scratch, Operand(scratch, LSR, 8));
3164 mov(scratch, Operand(scratch, LSR, 8));
3167 sub(length, length, Operand(kPointerSize));
3172 cmp(length, Operand(0));
3177 sub(length, length, Operand(1), SetCC);
3210 mov(zeros, Operand(0, RelocInfo::NONE));
3212 tst(scratch, Operand(0xffff0000));
3213 add(zeros, zeros, Operand(16), LeaveCC, eq);
3214 mov(scratch, Operand(scratch, LSL, 16), LeaveCC, eq);
3216 tst(scratch, Operand(0xff000000));
3217 add(zeros, zeros, Operand(8), LeaveCC, eq);
3218 mov(scratch, Operand(scratch, LSL, 8), LeaveCC, eq);
3220 tst(scratch, Operand(0xf0000000));
3221 add(zeros, zeros, Operand(4), LeaveCC, eq);
3222 mov(scratch, Operand(scratch, LSL, 4), LeaveCC, eq);
3224 tst(scratch, Operand(0xc0000000));
3225 add(zeros, zeros, Operand(2), LeaveCC, eq);
3226 mov(scratch, Operand(scratch, LSL, 2), LeaveCC, eq);
3228 tst(scratch, Operand(0x80000000u));
3229 add(zeros, zeros, Operand(1), LeaveCC, eq);
3243 and_(scratch1, first, Operand(kFlatAsciiStringMask));
3244 and_(scratch2, second, Operand(kFlatAsciiStringMask));
3245 cmp(scratch1, Operand(kFlatAsciiStringTag));
3247 cmp(scratch2, Operand(kFlatAsciiStringTag), eq);
3258 and_(scratch, type, Operand(kFlatAsciiStringMask));
3259 cmp(scratch, Operand(kFlatAsciiStringTag));
3299 sub(sp, sp, Operand((stack_passed_arguments + 1) * kPointerSize));
3301 and_(sp, sp, Operand(-frame_alignment));
3304 sub(sp, sp, Operand(stack_passed_arguments * kPointerSize));
3357 mov(ip, Operand(function));
3395 tst(sp, Operand(frame_alignment_mask));
3414 add(sp, sp, Operand(stack_passed_arguments * sizeof(kPointerSize)));
3426 and_(result, result, Operand(kLdrPCPattern));
3427 cmp(result, Operand(kLdrPCPattern));
3433 and_(result, result, Operand(kLdrOffsetMask));
3434 add(result, ldr_location, Operand(result));
3435 add(result, result, Operand(kPCRegOffset));
3445 and_(scratch, object, Operand(~Page::kPageAlignmentMask));
3447 tst(scratch, Operand(mask));
3473 tst(ip, Operand(mask_scratch));
3476 add(mask_scratch, mask_scratch, Operand(mask_scratch), SetCC);
3478 tst(ip, Operand(mask_scratch));
3484 tst(ip, Operand(1));
3505 tst(scratch, Operand(kIsIndirectStringMask | kIsNotStringMask));
3515 and_(bitmap_reg, addr_reg, Operand(~Page::kPageAlignmentMask));
3519 add(bitmap_reg, bitmap_reg, Operand(ip, LSL, kPointerSizeLog2));
3520 mov(ip, Operand(1));
3521 mov(mask_reg, Operand(ip, LSL, mask_reg));
3552 tst(load_scratch, Operand(mask_scratch, LSL, 1));
3567 mov(length, Operand(HeapNumber::kSize), LeaveCC, eq);
3577 tst(instance_type, Operand(kIsIndirectStringMask | kIsNotStringMask));
3586 tst(instance_type, Operand(kExternalStringTag));
3587 mov(length, Operand(ExternalString::kSize), LeaveCC, ne);
3597 tst(instance_type, Operand(kStringEncodingMask));
3598 mov(ip, Operand(ip, LSR, 1), LeaveCC, ne);
3599 add(length, ip, Operand(SeqString::kHeaderSize + kObjectAlignmentMask));
3600 and_(length, length, Operand(~kObjectAlignmentMask));
3606 orr(ip, ip, Operand(mask_scratch));
3609 and_(bitmap_scratch, bitmap_scratch, Operand(~Page::kPageAlignmentMask));
3611 add(ip, ip, Operand(length));
3619 Usat(output_reg, 8, Operand(input_reg));
3635 mov(result_reg, Operand(0));
3643 mov(result_reg, Operand(255));
3662 mov(descriptors, Operand(FACTORY->empty_descriptor_array()));