[parisc-linux-cvs] Re: 64 bit compiler bug

amodra@one.net.au amodra@one.net.au
Wed, 30 May 2001 13:47:49 +0930


On Wed, May 30, 2001 at 11:00:27AM +0930, Alan Modra wrote:
> 
> I think this ought to fix it.

Needs a few more tweaks to make expanders match insns.

Index: config/pa/pa.md
===================================================================
RCS file: /home/cvs/parisc/gcc/gcc/config/pa/pa.md,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- pa.md	2001/05/30 01:22:14	1.8
+++ pa.md	2001/05/30 03:58:49	1.9
@@ -3867,6 +3867,7 @@
    (set (reg:SI 25) (match_operand:SI 2 "move_operand" ""))
    (parallel [(set (reg:SI 29) (mult:SI (reg:SI 26) (reg:SI 25)))
 	      (clobber (match_dup 3))
+	      (clobber (reg:SI 2))
 	      (clobber (reg:SI 26))
 	      (clobber (reg:SI 25))
 	      (clobber (reg:SI 31))])
@@ -4011,6 +4012,7 @@
    (parallel [(set (reg:SI 29) (div:SI (reg:SI 26) (reg:SI 25)))
 	      (clobber (match_dup 3))
 	      (clobber (match_dup 4))
+	      (clobber (reg:SI 2))
 	      (clobber (reg:SI 26))
 	      (clobber (reg:SI 25))
 	      (clobber (reg:SI 31))])
@@ -4067,6 +4069,7 @@
    (parallel [(set (reg:SI 29) (udiv:SI (reg:SI 26) (reg:SI 25)))
 	      (clobber (match_dup 3))
 	      (clobber (match_dup 4))
+	      (clobber (reg:SI 2))
 	      (clobber (reg:SI 26))
 	      (clobber (reg:SI 25))
 	      (clobber (reg:SI 31))])
@@ -4123,6 +4126,7 @@
    (parallel [(set (reg:SI 29) (mod:SI (reg:SI 26) (reg:SI 25)))
 	      (clobber (match_dup 3))
 	      (clobber (match_dup 4))
+	      (clobber (reg:SI 2))
 	      (clobber (reg:SI 26))
 	      (clobber (reg:SI 25))
 	      (clobber (reg:SI 31))])
@@ -4176,6 +4180,7 @@
    (parallel [(set (reg:SI 29) (umod:SI (reg:SI 26) (reg:SI 25)))
 	      (clobber (match_dup 3))
 	      (clobber (match_dup 4))
+	      (clobber (reg:SI 2))
 	      (clobber (reg:SI 26))
 	      (clobber (reg:SI 25))
 	      (clobber (reg:SI 31))])