summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2017-04-07 22:01:23 +0000
committerEli Friedman <efriedma@codeaurora.org>2017-04-07 22:01:23 +0000
commit75631c97ba0c195c9ba7eb6fb6effca6b68ea14a (patch)
tree20d7af9a4e7d7c3971ecd605f9692b5a63517d4f /llvm/lib
parenteb80a51b52b669e63778dbdca1f25ed34c5a8149 (diff)
downloadbcm5719-llvm-75631c97ba0c195c9ba7eb6fb6effca6b68ea14a.tar.gz
bcm5719-llvm-75631c97ba0c195c9ba7eb6fb6effca6b68ea14a.zip
[ARM] Prefer BIC over BFC in ARM mode.
BIC is generally faster, and it can put the output in a different register from the input. We already do this in Thumb2 mode; not sure why the equivalent fix never got applied to ARM mode. Differential Revision: https://reviews.llvm.org/D31797 llvm-svn: 299803
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index f94b3090800..cc0e7d4d9c3 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -3893,6 +3893,7 @@ def MVNi : AsI1<0b1111, (outs GPR:$Rd), (ins mod_imm:$imm), DPFrm,
let Inst{11-0} = imm;
}
+let AddedComplexity = 1 in
def : ARMPat<(and GPR:$src, mod_imm_not:$imm),
(BICri GPR:$src, mod_imm_not:$imm)>;
OpenPOWER on IntegriCloud