From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23300 invoked by alias); 20 Feb 2002 17:56:06 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23217 invoked by uid 71); 20 Feb 2002 17:56:04 -0000 Date: Wed, 20 Feb 2002 10:06:00 -0000 Message-ID: <20020220175604.23212.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Alan Matsuoka Subject: Re: target/5736: bootstraping CVS HEAD on powerpc fails in checked build Reply-To: Alan Matsuoka X-SW-Source: 2002-02/txt/msg00508.txt.bz2 List-Id: The following reply was made to PR target/5736; it has been noted by GNATS. From: Alan Matsuoka To: pthomas@suse.de Cc: gcc-prs@gcc.gnu.org, gcc-gnats@gcc.gnu.org, aj@suse.de, dje@watson.ibm.com Subject: Re: target/5736: bootstraping CVS HEAD on powerpc fails in checked build Date: Wed, 20 Feb 2002 12:46:12 -0500 ## > > ## > ## > You might want to try this patch it's completly untested. I don't have enough time or resources to test it. I sent that one in to gcc-patches last night. I've bootstrapped in on ppc linux without any regressions. I caught this one when working on the AltiVec stuff with checking turned on. Pre-Approved by Geoff Keating. alanm@redhat.com (Alan Matsuoka) writes: # > Hey guy, # > # > # > I was running a build with all the checking flags turned on # > while looking for a problem with my stuff when I ran into an # > abort inside LEGITIMATE_OFFSET_ADDRESS_P # > # > *************** typedef struct rs6000_args # > *** 1969,1973 **** # > && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \ # > && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ # > ! && (! ALTIVEC_VECTOR_MODE (MODE) || INTVAL (X) == 0) \ # > && (((MODE) != DFmode && (MODE) != DImode) \ # > || (TARGET_32BIT \ # > --- 2116,2121 ---- # > && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \ # > && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ # > ! && (! ALTIVEC_VECTOR_MODE (mode) \ # > ! || (GET_CODE (XEXP (X,1)) == CONST_INT && INTVAL (XEXP (X,1)) == 0)) \ # > && (((MODE) != DFmode && (MODE) != DImode) \ # > || (TARGET_32BIT \ # > # > # > rtl checking aborts in the INTVAL (X) because it was looking at a const_int # > I think that this is what fixes it. # # Good catch! # # Please send this to the FSF list, with a ChangeLog entry, and you can # say I approved it in advance. # # -- # - Geoffrey Keating Bootstrapped on ppc linux without any regressions. Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look for (const_int 0) in X not just INTVAL. Index: rs6000.h =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v retrieving revision 1.181 diff -d -c -p -r1.181 rs6000.h *** rs6000.h 2002/02/19 02:53:36 1.181 --- rs6000.h 2002/02/20 04:52:08 *************** typedef struct rs6000_args *** 1971,1977 **** && GET_CODE (XEXP (X, 0)) == REG \ && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \ && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ ! && (! ALTIVEC_VECTOR_MODE (MODE) || INTVAL (X) == 0) \ && (((MODE) != DFmode && (MODE) != DImode) \ || (TARGET_32BIT \ ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \ --- 1971,1978 ---- && GET_CODE (XEXP (X, 0)) == REG \ && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \ && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ ! && (! ALTIVEC_VECTOR_MODE (mode) \ ! || (GET_CODE (XEXP (X,1)) == CONST_INT && INTVAL (XEXP (X,1)) == 0)) \ && (((MODE) != DFmode && (MODE) != DImode) \ || (TARGET_32BIT \ ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \ ## Graham. ## ## ChangeLog ## ## * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Fix typo. ## ## ------------------------------------------------------------------------ ## Index: gcc/config/rs6000/rs6000.h ## =================================================================== ## RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v ## retrieving revision 1.182 ## diff -c -p -r1.182 rs6000.h ## *** rs6000.h 2002/02/20 04:56:34 1.182 ## --- rs6000.h 2002/02/20 17:24:00 ## *************** typedef struct rs6000_args ## *** 1974,1980 **** ## && GET_CODE (XEXP (X, 0)) == REG \ ## && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \ ## && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ ## ! && (! ALTIVEC_VECTOR_MODE (MODE) || INTVAL (X) == 0) \ ## && (((MODE) != DFmode && (MODE) != DImode) \ ## || (TARGET_32BIT \ ## ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \ ## --- 1974,1981 ---- ## && GET_CODE (XEXP (X, 0)) == REG \ ## && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \ ## && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ ## ! && (! ALTIVEC_VECTOR_MODE (MODE) \ ## ! || INTVAL (XEXP (X, 1)) == 0) \ ## && (((MODE) != DFmode && (MODE) != DImode) \ ## || (TARGET_32BIT \ ## ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \ ## ------------------------------------------------------------------------ Alan Matsuoka GCC Engineering Red Hat Canada, Ltd mailto:alanm@redhat.com Tel: (416) 482-2661 x250 / Fax: (416) 482-6299