diff options
Diffstat (limited to 'llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp b/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp index 2c7b0bfeaaad..cbc9c3f3beca 100644 --- a/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp +++ b/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp @@ -83,4 +83,16 @@ const char *LoongArchTTIImpl::getRegisterClassName(unsigned ClassID) const { llvm_unreachable("unknown register class"); } +TargetTransformInfo::PopcntSupportKind +LoongArchTTIImpl::getPopcntSupport(unsigned TyWidth) { + assert(isPowerOf2_32(TyWidth) && "Ty width must be power of 2"); + return ST->hasExtLSX() ? TTI::PSK_FastHardware : TTI::PSK_Software; +} + +unsigned LoongArchTTIImpl::getCacheLineSize() const { return 64; } + +unsigned LoongArchTTIImpl::getPrefetchDistance() const { return 200; } + +bool LoongArchTTIImpl::enableWritePrefetching() const { return true; } + // TODO: Implement more hooks to provide TTI machinery for LoongArch. |
