diff options
author | Jeff Law <law@redhat.com> | 2015-05-21 06:44:44 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2015-05-21 06:44:44 -0600 |
commit | a7a629d72f2b25832c4b9c7c2b11d03da73d5546 (patch) | |
tree | 634c25240aea15d29c8cc3ef04f40c0ffb62eedb /gcc/combine.c | |
parent | b47fbc5307fe0f03ff302627d8977c402e34feff (diff) | |
download | gcc-a7a629d72f2b25832c4b9c7c2b11d03da73d5546.zip gcc-a7a629d72f2b25832c4b9c7c2b11d03da73d5546.tar.gz gcc-a7a629d72f2b25832c4b9c7c2b11d03da73d5546.tar.bz2 |
combine.c (find_split_point): Handle ASHIFT like MULT to encourage multiply-accumulate/shift-add insn generation.
* combine.c (find_split_point): Handle ASHIFT like MULT to encourage
multiply-accumulate/shift-add insn generation.
* gcc.target/hppa/shadd-2.c: New test.
From-SVN: r223481
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index a90849e..8c527a7 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -5145,7 +5145,9 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src) /* Split at a multiply-accumulate instruction. However if this is the SET_SRC, we likely do not have such an instruction and it's worthless to try this split. */ - if (!set_src && GET_CODE (XEXP (x, 0)) == MULT) + if (!set_src + && (GET_CODE (XEXP (x, 0)) == MULT + || GET_CODE (XEXP (x, 0)) == ASHIFT)) return loc; default: |