/art/compiler/optimizing/ |
D | scheduler_arm64.cc | 84 int64_t imm = Int64FromConstant(instr->GetRight()->AsConstant()); in VisitDiv() local 85 if (imm == 0) { in VisitDiv() 88 } else if (imm == 1 || imm == -1) { in VisitDiv() 91 } else if (IsPowerOfTwo(AbsOrMin(imm))) { in VisitDiv() 95 DCHECK(imm <= -2 || imm >= 2); in VisitDiv() 152 int64_t imm = Int64FromConstant(instruction->GetRight()->AsConstant()); in VisitRem() local 153 if (imm == 0) { in VisitRem() 156 } else if (imm == 1 || imm == -1) { in VisitRem() 159 } else if (IsPowerOfTwo(AbsOrMin(imm))) { in VisitRem() 163 DCHECK(imm <= -2 || imm >= 2); in VisitRem()
|
D | code_generator_x86_64.cc | 3219 Immediate imm(second.GetConstant()->AsIntConstant()->GetValue()); in VisitSub() local 3220 __ subl(first.AsRegister<CpuRegister>(), imm); in VisitSub() 3322 Immediate imm(mul->InputAt(1)->AsIntConstant()->GetValue()); in VisitMul() local 3323 __ imull(out.AsRegister<CpuRegister>(), first.AsRegister<CpuRegister>(), imm); in VisitMul() 3480 int64_t imm = Int64FromConstant(second.GetConstant()); in DivRemOneOrMinusOne() local 3482 DCHECK(imm == 1 || imm == -1); in DivRemOneOrMinusOne() 3490 if (imm == -1) { in DivRemOneOrMinusOne() 3502 if (imm == -1) { in DivRemOneOrMinusOne() 3521 int64_t imm = Int64FromConstant(second.GetConstant()); in DivByPowerOfTwo() local 3522 DCHECK(IsPowerOfTwo(AbsOrMin(imm))); in DivByPowerOfTwo() [all …]
|
D | code_generator_mips64.cc | 1740 int64_t imm = CodeGenerator::GetInt64ValueOf(right->AsConstant()); in HandleBinaryOp() local 1742 can_use_imm = IsUint<16>(imm); in HandleBinaryOp() 1744 can_use_imm = IsInt<16>(imm); in HandleBinaryOp() 1747 can_use_imm = IsInt<16>(-imm); in HandleBinaryOp() 2980 int64_t imm = Int64FromConstant(second.GetConstant()); in DivRemOneOrMinusOne() local 2981 DCHECK(imm == 1 || imm == -1); in DivRemOneOrMinusOne() 2986 if (imm == -1) { in DivRemOneOrMinusOne() 3009 int64_t imm = Int64FromConstant(second.GetConstant()); in DivRemByPowerOfTwo() local 3010 uint64_t abs_imm = static_cast<uint64_t>(AbsOrMin(imm)); in DivRemByPowerOfTwo() 3024 if (imm < 0) { in DivRemByPowerOfTwo() [all …]
|
D | code_generator_x86.cc | 3233 Immediate imm(mul->InputAt(1)->AsIntConstant()->GetValue()); in VisitMul() local 3234 __ imull(out.AsRegister<Register>(), first.AsRegister<Register>(), imm); in VisitMul() 3475 int32_t imm = locations->InAt(1).GetConstant()->AsIntConstant()->GetValue(); in DivRemOneOrMinusOne() local 3477 DCHECK(imm == 1 || imm == -1); in DivRemOneOrMinusOne() 3483 if (imm == -1) { in DivRemOneOrMinusOne() 3495 int32_t imm = locations->InAt(1).GetConstant()->AsIntConstant()->GetValue(); in DivByPowerOfTwo() local 3496 DCHECK(IsPowerOfTwo(AbsOrMin(imm))); in DivByPowerOfTwo() 3497 uint32_t abs_imm = static_cast<uint32_t>(AbsOrMin(imm)); in DivByPowerOfTwo() 3504 int shift = CTZ(imm); in DivByPowerOfTwo() 3507 if (imm < 0) { in DivByPowerOfTwo() [all …]
|
D | code_generator_arm64.cc | 3288 int64_t imm = Int64FromConstant(second.GetConstant()); in FOR_EACH_CONDITION_INSTRUCTION() local 3289 DCHECK(imm == 1 || imm == -1); in FOR_EACH_CONDITION_INSTRUCTION() 3294 if (imm == 1) { in FOR_EACH_CONDITION_INSTRUCTION() 3311 int64_t imm = Int64FromConstant(second.GetConstant()); in DivRemByPowerOfTwo() local 3312 uint64_t abs_imm = static_cast<uint64_t>(AbsOrMin(imm)); in DivRemByPowerOfTwo() 3322 if (imm > 0) { in DivRemByPowerOfTwo() 3346 int64_t imm = Int64FromConstant(second.GetConstant()); in GenerateDivRemWithAnyConstant() local 3353 CalculateMagicAndShiftForDivRem(imm, type == Primitive::kPrimLong /* is_long */, &magic, &shift); in GenerateDivRemWithAnyConstant() 3367 if (imm > 0 && magic < 0) { in GenerateDivRemWithAnyConstant() 3369 } else if (imm < 0 && magic > 0) { in GenerateDivRemWithAnyConstant() [all …]
|
D | code_generator_mips.cc | 1929 int32_t imm = CodeGenerator::GetInt32ValueOf(right->AsConstant()); in HandleBinaryOp() local 1931 can_use_imm = IsUint<16>(imm); in HandleBinaryOp() 1933 can_use_imm = IsInt<16>(imm); in HandleBinaryOp() 1936 can_use_imm = IsInt<16>(-imm); in HandleBinaryOp() 3489 int32_t imm = second.GetConstant()->AsIntConstant()->GetValue(); in DivRemOneOrMinusOne() local 3490 DCHECK(imm == 1 || imm == -1); in DivRemOneOrMinusOne() 3495 if (imm == -1) { in DivRemOneOrMinusOne() 3513 int32_t imm = second.GetConstant()->AsIntConstant()->GetValue(); in DivRemByPowerOfTwo() local 3514 uint32_t abs_imm = static_cast<uint32_t>(AbsOrMin(imm)); in DivRemByPowerOfTwo() 3527 if (imm < 0) { in DivRemByPowerOfTwo() [all …]
|
/art/test/442-checker-constant-folding/src/ |
D | Main.java | 1399 long imm = $inline$long(33L); in ReturnInt33() local 1400 return (int) imm; in ReturnInt33() 1416 float imm = $inline$float(1.0e34f); in ReturnIntMax() local 1417 return (int) imm; in ReturnIntMax() 1433 double imm = $inline$double(Double.NaN); in ReturnInt0() local 1434 return (int) imm; in ReturnInt0() 1450 int imm = $inline$int(33); in ReturnLong33() local 1451 return (long) imm; in ReturnLong33() 1467 float imm = $inline$float(34.0f); in ReturnLong34() local 1468 return (long) imm; in ReturnLong34() [all …]
|
/art/compiler/utils/x86_64/ |
D | assembler_x86_64.h | 350 void pushq(const Immediate& imm); 366 void movq(const Address& dst, const Immediate& imm); 368 void movl(const Address& dst, const Immediate& imm); 380 void movb(const Address& dst, const Immediate& imm); 388 void movw(const Address& dst, const Immediate& imm); 501 void roundsd(XmmRegister dst, XmmRegister src, const Immediate& imm); 502 void roundss(XmmRegister dst, XmmRegister src, const Immediate& imm); 539 void shufpd(XmmRegister dst, XmmRegister src, const Immediate& imm); 540 void shufps(XmmRegister dst, XmmRegister src, const Immediate& imm); 541 void pshufd(XmmRegister dst, XmmRegister src, const Immediate& imm); [all …]
|
D | assembler_x86_64.cc | 78 void X86_64Assembler::pushq(const Immediate& imm) { in pushq() argument 80 CHECK(imm.is_int32()); // pushq only supports 32b immediate. in pushq() 81 if (imm.is_int8()) { in pushq() 83 EmitUint8(imm.value() & 0xFF); in pushq() 86 EmitImmediate(imm); in pushq() 106 void X86_64Assembler::movq(CpuRegister dst, const Immediate& imm) { in movq() argument 108 if (imm.is_int32()) { in movq() 113 EmitInt32(static_cast<int32_t>(imm.value())); in movq() 117 EmitInt64(imm.value()); in movq() 122 void X86_64Assembler::movl(CpuRegister dst, const Immediate& imm) { in movl() argument [all …]
|
D | jni_macro_assembler_x86_64.h | 63 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
|
/art/compiler/utils/x86/ |
D | assembler_x86.cc | 81 void X86Assembler::pushl(const Immediate& imm) { in pushl() argument 83 if (imm.is_int8()) { in pushl() 85 EmitUint8(imm.value() & 0xFF); in pushl() 88 EmitImmediate(imm); in pushl() 106 void X86Assembler::movl(Register dst, const Immediate& imm) { in movl() argument 109 EmitImmediate(imm); in movl() 134 void X86Assembler::movl(const Address& dst, const Immediate& imm) { in movl() argument 138 EmitImmediate(imm); in movl() 249 void X86Assembler::movb(const Address& dst, const Immediate& imm) { in movb() argument 253 CHECK(imm.is_int8()); in movb() [all …]
|
D | assembler_x86.h | 321 void pushl(const Immediate& imm); 331 void movl(const Address& dst, const Immediate& imm); 346 void rorl(Register reg, const Immediate& imm); 348 void roll(Register reg, const Immediate& imm); 357 void movb(const Address& dst, const Immediate& imm); 365 void movw(const Address& dst, const Immediate& imm); 472 void roundsd(XmmRegister dst, XmmRegister src, const Immediate& imm); 473 void roundss(XmmRegister dst, XmmRegister src, const Immediate& imm); 511 void shufpd(XmmRegister dst, XmmRegister src, const Immediate& imm); 512 void shufps(XmmRegister dst, XmmRegister src, const Immediate& imm); [all …]
|
D | jni_macro_assembler_x86.h | 62 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
|
D | jni_macro_assembler_x86.cc | 162 void X86JNIMacroAssembler::StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister) { in StoreImmediateToFrame() argument 163 __ movl(Address(ESP, dest), Immediate(imm)); in StoreImmediateToFrame()
|
/art/compiler/utils/ |
D | assembler_test.h | 159 for (int64_t imm : imms) { variable 160 ImmType new_imm = CreateImmediate(imm); 179 sreg << imm * multiplier + bias; 213 for (int64_t imm : imms) { in RepeatTemplatedRegistersImmBits() local 214 ImmType new_imm = CreateImmediate(imm); in RepeatTemplatedRegistersImmBits() 239 sreg << imm + bias; in RepeatTemplatedRegistersImmBits() 272 for (int64_t imm : imms) { in RepeatTemplatedImmBitsRegisters() local 273 ImmType new_imm = CreateImmediate(imm); in RepeatTemplatedImmBitsRegisters() 292 sreg << imm; in RepeatTemplatedImmBitsRegisters() 320 for (int64_t imm : imms) { in RepeatTemplatedRegisterImmBits() local [all …]
|
D | jni_macro_assembler.h | 79 virtual void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) = 0;
|
/art/compiler/utils/arm/ |
D | assembler_arm_vixl.h | 140 void Vmov(vixl32::DRegister rd, double imm) { in Vmov() argument 141 if (vixl::VFP::IsImmFP64(imm)) { in Vmov() 142 MacroAssembler::Vmov(rd, imm); in Vmov() 144 MacroAssembler::Vldr(rd, imm); in Vmov()
|
D | jni_macro_assembler_arm.h | 68 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
|
D | jni_macro_assembler_arm_vixl.h | 67 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
|
D | assembler_thumb2.cc | 1384 uint32_t imm = so.GetImmediate(); in Emit32BitDataProcessing() local 1386 uint32_t i = (imm >> 11) & 1; in Emit32BitDataProcessing() 1387 uint32_t imm3 = (imm >> 8) & 7U /* 0b111 */; in Emit32BitDataProcessing() 1388 uint32_t imm8 = imm & 0xff; in Emit32BitDataProcessing() 1400 uint32_t imm = ModifiedImmediate(so.encodingThumb()); in Emit32BitDataProcessing() local 1401 if (imm == kInvalidModifiedImmediate) { in Emit32BitDataProcessing() 1410 imm; in Emit32BitDataProcessing() 2747 void Thumb2Assembler::ldrex(Register rt, Register rn, uint16_t imm, Condition cond) { in ldrex() argument 2751 CHECK_LT(imm, (1u << 10)); in ldrex() 2757 imm >> 2; in ldrex() [all …]
|
D | jni_macro_assembler_arm.cc | 278 uint32_t imm, in StoreImmediateToFrame() argument 282 __ LoadImmediate(scratch.AsCoreRegister(), imm); in StoreImmediateToFrame()
|
D | jni_macro_assembler_arm_vixl.cc | 260 uint32_t imm, in StoreImmediateToFrame() argument 266 asm_.LoadImmediate(mscratch.AsVIXLRegister(), imm); in StoreImmediateToFrame()
|
/art/compiler/linker/arm/ |
D | relative_patcher_thumb2.cc | 80 uint32_t imm = (diff16 >> 11) & 0x1u; in PatchPcRelativeReference() local 83 insn = (insn & 0xfbf08f00u) | (imm << 26) | (imm4 << 16) | (imm3 << 12) | imm8; in PatchPcRelativeReference()
|
/art/compiler/utils/arm64/ |
D | jni_macro_assembler_arm64.h | 69 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
|
/art/runtime/interpreter/mterp/mips/ |
D | header.S | 673 #define LOAD_IMM(dest, imm) li dest, imm argument
|