summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetTransformInfo.h
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2017-06-20 15:58:30 +0000
committerSanjay Patel <spatel@rotateright.com>2017-06-20 15:58:30 +0000
commit0656629b870ae9933e350c5f4edc733012e7ece0 (patch)
tree82fc84249670cc54145d258342581ecd40b81bec /llvm/lib/Target/X86/X86TargetTransformInfo.h
parent4822b5b649f0086aa8339c2def1dbdd303dcb257 (diff)
downloadbcm5719-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.h2
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,
OpenPOWER on IntegriCloud