Fix thinko in previous sparc setcc changes.
authorDavid S. Miller <davem@davemloft.net>
Thu, 27 Oct 2011 04:04:06 +0000 (04:04 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Thu, 27 Oct 2011 04:04:06 +0000 (21:04 -0700)
* 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

gcc/ChangeLog
gcc/config/sparc/sparc.c

index 3a51510df93453cb37b7551d007b24d87688dac5..124b17cdbe8dde359ee0950b6b50e50df233277f 100644 (file)
@@ -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
index 80e05a61e4794f4be9d4b279f186915fb1fa6b3f..ea9fdeff628139879634a8b7d41505fc1103420f 100644 (file)
@@ -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.  */