This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcse.c patch breaks simd-2.c


Hi Roger,

> and/or (2) add support for ZERO_EXTRACT and SIGN_EXTRACT to the function
> reg_overlap_mentioned_p on line 1570 of rtlanal.c.  This function

FWIW, in trying to get 3.3 working on the VAX, I found that I needed
to add ZERO_EXTRACT to reg_overlap_mentioned_p.  The vax has a couple
of machine instructions which require this although it obviously
doesn't support the vector modes that are the subject of this discussion.

Dave
-- 
J. David Anglin                                  dave dot anglin at nrc-cnrc dot gc dot ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Index: rtlanal.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/rtlanal.c,v
retrieving revision 1.143
diff -u -3 -p -r1.143 rtlanal.c
--- rtlanal.c	8 Jan 2003 11:20:19 -0000	1.143
+++ rtlanal.c	10 Jan 2003 23:02:48 -0000
@@ -1635,6 +1635,11 @@ reg_overlap_mentioned_p (x, in)
 	return 0;
       }
 
+    case ZERO_EXTRACT:
+      return (reg_overlap_mentioned_p (XEXP (x, 0), in)
+	      || reg_overlap_mentioned_p (XEXP (x, 1), in)
+	      || reg_overlap_mentioned_p (XEXP (x, 2), in));
+
     default:
       break;
     }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]