diff options
author | Sanjay Patel <spatel@rotateright.com> | 2017-06-20 15:58:30 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2017-06-20 15:58:30 +0000 |
commit | 0656629b870ae9933e350c5f4edc733012e7ece0 (patch) | |
tree | 82fc84249670cc54145d258342581ecd40b81bec /llvm/lib/Target/X86/X86TargetTransformInfo.h | |
parent | 4822b5b649f0086aa8339c2def1dbdd303dcb257 (diff) | |
download | bcm5719-llvm-0656629b870ae9933e350c5f4edc733012e7ece0.tar.gz bcm5719-llvm-0656629b870ae9933e350c5f4edc733012e7ece0.zip |
[x86] enable CGP memcmp() expansion for 2/4/8 byte sizes
There are a couple of potential improvements as seen in the IR and asm:
1. We're unnecessarily extending to a larger type to compare values.
2. The codegen for (select cond, 1, -1) could avoid a cmov.
(or we could change the order of the compares, so we have a select with 0 operand)
llvm-svn: 305802
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetTransformInfo.h')
-rw-r--r-- | llvm/lib/Target/X86/X86TargetTransformInfo.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.h b/llvm/lib/Target/X86/X86TargetTransformInfo.h index b907b7556a1..375fb924c2c 100644 --- a/llvm/lib/Target/X86/X86TargetTransformInfo.h +++ b/llvm/lib/Target/X86/X86TargetTransformInfo.h @@ -107,7 +107,7 @@ public: bool isLegalMaskedScatter(Type *DataType); bool areInlineCompatible(const Function *Caller, const Function *Callee) const; - + bool expandMemCmp(Instruction *I, unsigned &MaxLoadSize); bool enableInterleavedAccessVectorization(); private: int getGSScalarCost(unsigned Opcode, Type *DataTy, bool VariableMask, |