26 #define DEBUG_TYPE "systemztti"
82 case Instruction::GetElementPtr:
99 case Instruction::ICmp:
109 case Instruction::Add:
110 case Instruction::Sub:
120 case Instruction::Mul:
156 case Instruction::Shl:
157 case Instruction::LShr:
158 case Instruction::AShr:
163 case Instruction::UDiv:
164 case Instruction::SDiv:
165 case Instruction::URem:
166 case Instruction::SRem:
167 case Instruction::Trunc:
168 case Instruction::ZExt:
169 case Instruction::SExt:
170 case Instruction::IntToPtr:
171 case Instruction::PtrToInt:
172 case Instruction::BitCast:
200 case Intrinsic::sadd_with_overflow:
201 case Intrinsic::uadd_with_overflow:
202 case Intrinsic::ssub_with_overflow:
203 case Intrinsic::usub_with_overflow:
212 case Intrinsic::smul_with_overflow:
213 case Intrinsic::umul_with_overflow:
220 case Intrinsic::experimental_stackmap:
224 case Intrinsic::experimental_patchpoint_void:
225 case Intrinsic::experimental_patchpoint_i64:
235 assert(
isPowerOf2_32(TyWidth) &&
"Type width must be power of 2");
bool isInt< 32 >(int64_t x)
uint64_t getZExtValue() const
Get zero extended value.
Cost tables and simple lookup functions.
const HexagonInstrInfo * TII
TTI::PopcntSupportKind getPopcntSupport(unsigned TyWidth)
unsigned getNumberOfRegisters(bool Vector)
unsigned getIntImmCost(const APInt &Imm, Type *Ty)
The instances of the Type class are immutable: once they are created, they are never changed...
int64_t getSExtValue() const
Get sign extended value.
APInt Or(const APInt &LHS, const APInt &RHS)
Bitwise OR function for APInt.
APInt Xor(const APInt &LHS, const APInt &RHS)
Bitwise XOR function for APInt.
unsigned getBitWidth() const
Return the number of bits in the APInt.
This file provides a helper that implements much of the TTI interface in terms of the target-independ...
bool isRxSBGMask(uint64_t Mask, unsigned BitSize, unsigned &Start, unsigned &End) const
const SystemZInstrInfo * getInstrInfo() const override
bool hasPopulationCount() const
unsigned getRegisterBitWidth(bool Vector)
Class for arbitrary precision integers.
bool isUInt< 32 >(uint64_t x)
bool isIntegerTy() const
isIntegerTy - True if this is an instance of IntegerType.
APInt And(const APInt &LHS, const APInt &RHS)
Bitwise AND function for APInt.
bool isInt< 16 >(int64_t x)
unsigned getPrimitiveSizeInBits() const LLVM_READONLY
getPrimitiveSizeInBits - Return the basic size of this type if it is a primitive type.
bool isPowerOf2_32(uint32_t Value)
isPowerOf2_32 - This function returns true if the argument is a power of two > 0. ...
This file describes how to lower LLVM code to machine code.