diff options
author | David S. Miller <davem@davemloft.net> | 2011-10-27 04:04:06 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2011-10-26 21:04:06 -0700 |
commit | 78968b7620c8c3ee2490a74ca93a0300d18773a2 (patch) | |
tree | c9e687cb2220cf157959d4b6286ff9cf88483364 | |
parent | 56ec62fa1d3d2a8655e4abc129f6e19a49e89d9a (diff) | |
download | gcc-78968b7620c8c3ee2490a74ca93a0300d18773a2.zip gcc-78968b7620c8c3ee2490a74ca93a0300d18773a2.tar.gz gcc-78968b7620c8c3ee2490a74ca93a0300d18773a2.tar.bz2 |
Fix thinko in previous sparc setcc changes.
* config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
if we're comparing DImode and comparison is other than EQ or NE.
From-SVN: r180558
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a51510..124b17c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2011-10-26 David S. Miller <davem@davemloft.net> + * config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences + if we're comparing DImode and comparison is other than EQ or NE. + * config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until LEU/LTU/GEU/GTU is attempted. * config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 80e05a6..ea9fdef 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -2541,6 +2541,11 @@ emit_scc_insn (rtx operands[]) } } + if (TARGET_V9 + && GET_MODE (x) == DImode + && gen_v9_scc (operands[0], code, x, y)) + return true; + /* We can do LTU and GEU using the addx/subx instructions too. And for GTU/LEU, if both operands are registers swap them and fall back to the easy case. */ |