diff options
author | Eli Friedman <efriedma@codeaurora.org> | 2017-04-07 22:01:23 +0000 |
---|---|---|
committer | Eli Friedman <efriedma@codeaurora.org> | 2017-04-07 22:01:23 +0000 |
commit | 251a136db40c5dcc80bd9dafec1c1d75d6be72b0 (patch) | |
tree | 0640d677f37585043592951e0e2f36e62ab795ab /lib | |
parent | 80726a4dd80539f2aa4521012e60e7048db125d1 (diff) |
[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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299803 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.td | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index f94b3090800..cc0e7d4d9c3 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/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)>; |