/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/ |
H A D | aarch64_imm_valid.h | 22 inline bool IsBitSizeImmediate(uint64 val, uint32 bitLen, uint32 nLowerZeroBits) in IsBitSizeImmediate() argument 25 const uint64 mask1 = 0xffffffffffffffffUL << bitLen; in IsBitSizeImmediate() 33 inline bool IsMoveWidableImmediateCopy(uint64 val, uint32 bitLen) in IsMoveWidableImmediateCopy() argument 40 if (bitLen == k64BitSize) { in IsMoveWidableImmediateCopy() 59 bool IsBitmaskImmediate(uint64 val, uint32 bitLen); 72 constexpr uint32 bitLen = 32; in IsSingleInstructionMovable32() local 73 return (IsMoveWidableImmediateCopy(static_cast<uint64>(value), bitLen) || in IsSingleInstructionMovable32() 74 IsMoveWidableImmediateCopy(~static_cast<uint64>(value), bitLen) || in IsSingleInstructionMovable32() 75 IsBitmaskImmediate(static_cast<uint64>(value), bitLen)); in IsSingleInstructionMovable32() 80 constexpr uint32 bitLen in IsSingleInstructionMovable64() local [all...] |
H A D | aarch64_mop_split.h | 39 // Judging valid range of the immediate by passing in bitLen & forPair parameter, return the closest valid value to 42 inline ImmOperand &SplitGetRemained(const MemOperand &memOpnd, uint32 bitLen, int64 ofstVal, bool forPair, in SplitGetRemained() argument 54 maxPimm = MemOperand::GetMaxPIMM(bitLen); in SplitGetRemained() 56 maxPimm = MemOperand::GetMaxPairPIMM(bitLen); in SplitGetRemained() 62 uint64 alignment = static_cast<uint64>(static_cast<int64>(MemOperand::GetImmediateOffsetAlignment(bitLen))); in SplitGetRemained() 73 if (!MemOperand::IsPIMMOffsetOutOfRange(static_cast<int32>(remainedTmp), bitLen) && in SplitGetRemained() 166 // bitLen means bitshiftopnd size: 64bits -> 6, 32bits ->5 in AddInsnSplit() 167 uint32 bitLen = is64Bits ? k6BitSize : k5BitSize; in AddInsnSplit() local 169 opndBuilder->CreateBitShift(BitShiftOperand::kLSL, static_cast<uint32>(tail0bitNum), bitLen); in AddInsnSplit() 268 // bitLen mean in SubInsnSplit() 269 uint32 bitLen = is64Bits ? k6BitSize : k5BitSize; SubInsnSplit() local 357 MemOfstSplitWithAdd(const MemOperand &memOpnd, uint32 bitLen, bool isAfterRegAlloc, Insn *insn, bool forPair, InsnBuilder *insnBuilder, OperandBuilder *opndBuilder) MemOfstSplitWithAdd() argument 395 uint32 bitLen = insn->GetDesc()->GetOpndDes(idx)->GetSize(); LoadStoreInsnSplit() local [all...] |
H A D | aarch64_cgfunc.h | 154 bool IsImmediateOffsetOutOfRange(const MemOperand &memOpnd, uint32 bitLen); 288 BitShiftOperand &CreateBitShiftOperand(BitShiftOperand::ShiftOp op, uint32 amount, int32 bitLen) const in CreateBitShiftOperand() 290 return *memPool->New<BitShiftOperand>(op, amount, bitLen); in CreateBitShiftOperand() 293 ExtendShiftOperand &CreateExtendShiftOperand(ExtendShiftOperand::ExtendOp op, uint32 amount, int32 bitLen) const in CreateExtendShiftOperand() 295 return *memPool->New<ExtendShiftOperand>(op, amount, bitLen); in CreateExtendShiftOperand() 415 bool CheckIfSplitOffsetWithAdd(const MemOperand &memOpnd, uint32 bitLen) const; 418 MemOperand &SplitOffsetWithAddInstruction(const MemOperand &memOpnd, uint32 bitLen, 421 ImmOperand &SplitAndGetRemained(const MemOperand &memOpnd, uint32 bitLen, RegOperand *resOpnd, int64 ofstVal, 423 MemOperand &CreateReplacementMemOperand(uint32 bitLen, RegOperand &baseReg, int64 offset);
|
H A D | aarch64_proepilog.h | 52 uint32 bitLen,
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/ |
H A D | aarch64_imm_valid.cpp | 29 bool IsBitmaskImmediate(uint64 val, uint32 bitLen) in IsBitmaskImmediate() argument 33 if ((bitLen == k32BitSize) && (static_cast<int32>(val) == -1)) { in IsBitmaskImmediate() 37 if (bitLen == k32BitSize) { in IsBitmaskImmediate() 52 if (bitLen == k32BitSize) { in IsBitmaskImmediate()
|
H A D | aarch64_cgfunc.cpp | 504 bool AArch64CGFunc::IsImmediateOffsetOutOfRange(const MemOperand &memOpnd, uint32 bitLen) in IsImmediateOffsetOutOfRange() argument 506 DEBUG_ASSERT(bitLen >= k8BitSize, "bitlen error"); in IsImmediateOffsetOutOfRange() 507 DEBUG_ASSERT(bitLen <= k128BitSize, "bitlen error"); in IsImmediateOffsetOutOfRange() 509 if (bitLen >= k8BitSize) { in IsImmediateOffsetOutOfRange() 510 bitLen = static_cast<uint32>(RoundUp(bitLen, k8BitSize)); in IsImmediateOffsetOutOfRange() 512 DEBUG_ASSERT((bitLen & (bitLen - 1)) == 0, "bitlen error"); in IsImmediateOffsetOutOfRange() 523 return MemOperand::IsPIMMOffsetOutOfRange(offsetValue, bitLen); in IsImmediateOffsetOutOfRange() 571 MemOperand &AArch64CGFunc::CreateReplacementMemOperand(uint32 bitLen, RegOperan argument 607 SplitAndGetRemained(const MemOperand &memOpnd, uint32 bitLen, RegOperand *resOpnd, int64 ofstVal, bool isDest, Insn *insn, bool forPair) SplitAndGetRemained() argument 658 SplitOffsetWithAddInstruction(const MemOperand &memOpnd, uint32 bitLen, uint32 baseRegNum, bool isDest, Insn *insn, bool forPair) SplitOffsetWithAddInstruction() argument 1479 int32 bitLen = is64Bits ? kBitLenOfShift64Bits : kBitLenOfShift32Bits; SelectAdd() local 1568 int32 bitLen = is64Bits ? kBitLenOfShift64Bits : kBitLenOfShift32Bits; SelectSub() local 1713 int32 bitLen = is64Bits ? kBitLenOfShift64Bits : kBitLenOfShift32Bits; SelectDiv() local [all...] |
H A D | aarch64_proepilog.cpp | 66 uint32 bitLen, AArch64reg baseRegNum) in SplitStpLdpOffsetForCalleeSavedWithAddInstruction() 78 RegOperand &br = aarchCGFunc.GetOrCreatePhysicalRegisterOperand(baseRegNum, bitLen, kRegTyInt); in SplitStpLdpOffsetForCalleeSavedWithAddInstruction() 83 return &aarchCGFunc.CreateReplacementMemOperand(bitLen, br, 0); in SplitStpLdpOffsetForCalleeSavedWithAddInstruction() 65 SplitStpLdpOffsetForCalleeSavedWithAddInstruction(CGFunc &cgFunc, const MemOperand &mo, uint32 bitLen, AArch64reg baseRegNum) SplitStpLdpOffsetForCalleeSavedWithAddInstruction() argument
|
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/ |
H A D | macro_assembler_aarch64.cpp | 214 bool MacroAssemblerAArch64::IsMoveWidableImmediate(uint64_t val, uint32_t bitLen) in IsMoveWidableImmediate() argument 216 if (bitLen == k64BitSize) { in IsMoveWidableImmediate() 231 bool MacroAssemblerAArch64::IsBitmaskImmediate(uint64_t val, uint32_t bitLen) in IsBitmaskImmediate() argument 237 if ((bitLen == k32BitSize) && (static_cast<int32_t>(val) == -1)) { in IsBitmaskImmediate() 241 if (bitLen == k32BitSize) { in IsBitmaskImmediate() 256 if (bitLen == k32BitSize) { in IsBitmaskImmediate()
|
H A D | macro_assembler_aarch64.h | 65 bool IsMoveWidableImmediate(uint64_t val, uint32_t bitLen); 66 bool IsBitmaskImmediate(uint64_t val, uint32_t bitLen);
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/test/maple_be/ |
H A D | cg_aarch64_aarch64_operand_test.cpp | 52 uint32 amount, int32 bitLen) in MyCreateExtendShiftOperand() 56 return *(memPool.New<ExtendShiftOperand>(op, amount, bitLen)); in MyCreateExtendShiftOperand() 51 MyCreateExtendShiftOperand(std::string poolname, ExtendShiftOperand::ExtendOp op, uint32 amount, int32 bitLen) MyCreateExtendShiftOperand() argument
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/ |
H A D | cg_irbuilder.cpp | 129 BitShiftOperand &OperandBuilder::CreateBitShift(BitShiftOperand::ShiftOp op, uint32 amount, uint32 bitLen, MemPool *mp) in CreateBitShift() argument 132 return *mp->New<BitShiftOperand>(op, amount, bitLen); in CreateBitShift() 134 return *alloc.New<BitShiftOperand>(op, amount, bitLen); in CreateBitShift()
|
H A D | operand.cpp | 21 bool IsMoveWidableImmediate(uint64 val, uint32 bitLen) in IsMoveWidableImmediate() argument 23 if (bitLen == k64BitSize) { in IsMoveWidableImmediate()
|
H A D | isel.cpp | 733 uint32 bitLen = GetPrimTypeSize(preg->GetPrimType()) * kBitsPerByte; in SelectRegassign() local 735 MemOperand *dest = &cgFunc->GetOpndBuilder()->CreateMem(base, offset, bitLen); in SelectRegassign() 762 uint32 bitLen = GetPrimTypeSize(preg->GetPrimType()) * kBitsPerByte; in SelectRegread() local 764 MemOperand *src = &cgFunc->GetOpndBuilder()->CreateMem(base, offset, bitLen); in SelectRegread()
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/ |
H A D | cg_irbuilder.h | 92 BitShiftOperand &CreateBitShift(BitShiftOperand::ShiftOp op, uint32 amount, uint32 bitLen, MemPool *mp = nullptr);
|
H A D | operand.h | 38 bool IsMoveWidableImmediate(uint64 val, uint32 bitLen); 1709 ExtendShiftOperand(ExtendOp op, uint32 amt, int32 bitLen) in ExtendShiftOperand() argument 1710 : OperandVisitable(Operand::kOpdExtend, bitLen), extendOp(op), shiftAmount(amt) in ExtendShiftOperand() 1764 BitShiftOperand(ShiftOp op, uint32 amt, int32 bitLen) in BitShiftOperand() argument 1765 : OperandVisitable(Operand::kOpdShift, bitLen), shiftOp(op), shiftAmount(amt) in BitShiftOperand()
|