This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, committed] Enable signed sCC for PowerPC PR target/17107
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 01 Dec 2004 12:21:16 -0500
- Subject: [PATCH, committed] Enable signed sCC for PowerPC PR target/17107
After some investigation prompted by Nathan, this patch enables
sge, sgt, sle, slt patterns for PowerPC. The performance difference is a
wash, but avoiding clutter in the processor branch history table is good.
David
2004-12-01 David Edelsohn <edelsohn@gnu.org>
Nathan Sidwell <nathan@codesourcery.com>
PR target/17107
* config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER.
(sgt): Same.
(sle): Same.
(slt): Same.
Index: rs6000.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.335
diff -c -p -r1.335 rs6000.md
*** rs6000.md 26 Nov 2004 04:38:11 -0000 1.335
--- rs6000.md 1 Dec 2004 15:58:58 -0000
***************
*** 11119,11126 ****
""
"
{
! if (! rs6000_compare_fp_p
! && (! TARGET_POWER || rs6000_compare_op1 == const0_rtx))
FAIL;
rs6000_emit_sCOND (GE, operands[0]);
--- 11119,11125 ----
""
"
{
! if (! rs6000_compare_fp_p && rs6000_compare_op1 == const0_rtx)
FAIL;
rs6000_emit_sCOND (GE, operands[0]);
***************
*** 11133,11140 ****
""
"
{
! if (! rs6000_compare_fp_p
! && (! TARGET_POWER || rs6000_compare_op1 == const0_rtx))
FAIL;
rs6000_emit_sCOND (GT, operands[0]);
--- 11132,11138 ----
""
"
{
! if (! rs6000_compare_fp_p && rs6000_compare_op1 == const0_rtx)
FAIL;
rs6000_emit_sCOND (GT, operands[0]);
***************
*** 11147,11154 ****
""
"
{
! if (! rs6000_compare_fp_p
! && (! TARGET_POWER || rs6000_compare_op1 == const0_rtx))
FAIL;
rs6000_emit_sCOND (LE, operands[0]);
--- 11145,11151 ----
""
"
{
! if (! rs6000_compare_fp_p && rs6000_compare_op1 == const0_rtx)
FAIL;
rs6000_emit_sCOND (LE, operands[0]);
***************
*** 11161,11168 ****
""
"
{
! if (! rs6000_compare_fp_p
! && (! TARGET_POWER || rs6000_compare_op1 == const0_rtx))
FAIL;
rs6000_emit_sCOND (LT, operands[0]);
--- 11158,11164 ----
""
"
{
! if (! rs6000_compare_fp_p && rs6000_compare_op1 == const0_rtx)
FAIL;
rs6000_emit_sCOND (LT, operands[0]);