c/2840: HP-UX: ICEs with -march=1.0 in gcc 3.0 prerelease

law@redhat.com law@redhat.com
Wed May 16 12:56:00 GMT 2001


The following reply was made to PR c/2840; it has been noted by GNATS.

From: law@redhat.com
To: rbrown64@csc.com.au
Cc: gcc-gnats@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: Re: c/2840: HP-UX: ICEs with -march=1.0 in gcc 3.0 prerelease 
Date: Wed, 16 May 2001 12:40:14 -0700

   In message < 20010516060847.22952.qmail@sourceware.cygnus.com >you write:
   > -Running target unix/-march=1.0
   > +Running target unix
   > -FAIL: gcc.c-torture/compile/941019-1.c,  -O1  
   > ...
   > +PASS: gcc.c-torture/compile/941019-1.c,  -O1  
 I've just checked in the attched fix, which hopefully fixes most/all of
 these failures.  I don't have the resources right now to run a -mpa-risc-1-0
 test as my secondary HP machine is in a box in preparation for moving in
 a couple weeks.  So if you could rebuild/retest after updating your sources
 it would be greatly appreciated.
 
 [ The patch was bootstrapped and tested in PA1.1 mode as well as spot checked
   on a few of the tests in PA1.0 mode. ]
 
 I installed this on the branch as well as in the mainline sources.
 
 FWIW, PA1.0 and PA1.1 behaved differently because we're more restrictive
 about what values can go into FP regs for PA1.0.  This caused PA1.0 to 
 need a reload that PA1.1 doesn't, and because of HARD_REGNO_MODE_OK, we
 couldn't find a suitable GPR register for the reload.
 
 	* pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
 	GPRs.
 
 Index: pa32-regs.h
 ===================================================================
 RCS file: /cvs/gcc/egcs/gcc/config/pa/pa32-regs.h,v
 retrieving revision 1.5
 diff -c -3 -p -r1.5 pa32-regs.h
 *** pa32-regs.h	2001/01/17 05:23:21	1.5
 --- pa32-regs.h	2001/05/16 19:34:44
 ***************
 *** 174,180 ****
        ? GET_MODE_SIZE (MODE) <= 4 || ((REGNO) & 1) == 0			\
      /* Make wide modes be in aligned registers. */			\
      : (GET_MODE_SIZE (MODE) <= UNITS_PER_WORD				\
 !       || (GET_MODE_SIZE (MODE) <= 2 * UNITS_PER_WORD && ((REGNO) & 1) == 0)))
   
   /* How to renumber registers for dbx and gdb.
   
 --- 174,180 ----
        ? GET_MODE_SIZE (MODE) <= 4 || ((REGNO) & 1) == 0			\
      /* Make wide modes be in aligned registers. */			\
      : (GET_MODE_SIZE (MODE) <= UNITS_PER_WORD				\
 !       || (GET_MODE_SIZE (MODE) <= 4 * UNITS_PER_WORD && ((REGNO) & 1) == 0)))
   
   /* How to renumber registers for dbx and gdb.
   
 
 



More information about the Gcc-prs mailing list