diff options
| author | Sjoerd Meijer <sjoerd.meijer@arm.com> | 2019-11-15 11:01:13 +0000 |
|---|---|---|
| committer | Sjoerd Meijer <sjoerd.meijer@arm.com> | 2019-11-15 11:01:13 +0000 |
| commit | 71327707b056c1de28fb0b2c2046740ce1e5cb0d (patch) | |
| tree | 55b916debb5f323e2fd725e6eea3a5e4e39e1d73 /llvm/lib/Target/ARM | |
| parent | 1f559353a7821769c94f03b00cc9c2f65f982d42 (diff) | |
| download | bcm5719-llvm-71327707b056c1de28fb0b2c2046740ce1e5cb0d.tar.gz bcm5719-llvm-71327707b056c1de28fb0b2c2046740ce1e5cb0d.zip | |
[ARM][MVE] tail-predication
This is a follow up of d90804d, to also flag fmcp instructions as instructions
that we do not support in tail-predicated vector loops.
Differential Revision: https://reviews.llvm.org/D70295
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp index df3057d62c7..cc5fae4a869 100644 --- a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp +++ b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp @@ -1008,6 +1008,9 @@ static bool canTailPredicateInstruction(Instruction &I, int &ICmpCount) { if (isa<ICmpInst>(&I) && ++ICmpCount > 1) return false; + if (isa<FCmpInst>(&I)) + return false; + // We could allow extending/narrowing FP loads/stores, but codegen is // too inefficient so reject this for now. if (isa<FPExtInst>(&I) || isa<FPTruncInst>(&I)) |

