From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14333 invoked by alias); 3 Oct 2012 17:47:06 -0000 Received: (qmail 14306 invoked by uid 22791); 3 Oct 2012 17:47:03 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_50,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KAM_STOCKGEN,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_MV X-Spam-Check-By: sourceware.org Received: from mail-qc0-f175.google.com (HELO mail-qc0-f175.google.com) (209.85.216.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 03 Oct 2012 17:46:59 +0000 Received: by qcsj3 with SMTP id j3so3987244qcs.20 for ; Wed, 03 Oct 2012 10:46:58 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.76.209 with SMTP id d17mr8471810qak.76.1349286418762; Wed, 03 Oct 2012 10:46:58 -0700 (PDT) Received: by 10.49.62.129 with HTTP; Wed, 3 Oct 2012 10:46:58 -0700 (PDT) In-Reply-To: <506C44C8.1070808@mentor.com> References: <50610C62.7060901@codesourcery.com> <506C44C8.1070808@mentor.com> Date: Wed, 03 Oct 2012 17:47:00 -0000 Message-ID: Subject: Re: [PATCH] PowerPC VLE port From: Andrew Pinski To: James Lemke Cc: GCC Patches Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-10/txt/msg00283.txt.bz2 On Wed, Oct 3, 2012 at 6:59 AM, James Lemke wrote: > Ping.. > @@ -847,7 +1106,6 @@ > && (DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op))"))) > > ;; Return 1 if op is an operand that can be loaded via the GOT. > -;; or non-special register register field no cr0 > (define_predicate "got_operand" > (match_code "symbol_ref,const,label_ref")) Most likely should be submitted and committed (as obvious) separately. > @@ -6694,7 +6771,7 @@ > > switch (mode) > { >- case QImode: >+ case QImode: > case HImode: > if (dest == NULL) > dest = gen_reg_rtx (mode); Likewise. > @@ -14944,11 +15104,10 @@ > return; > > case 'Q': >- if (TARGET_MFCRF) >- fputc (',', file); >- /* FALLTHRU */ >- else >+ if (! TARGET_MFCRF) > return; >+ fputc (',', file); >+ /* FALLTHRU */ > > case 'R': > /* X is a CR register. Print the mask for `mtcrf'. */ Likewise. >@@ -15893,7 +16071,7 @@ > } > > /* Return the string to output a conditional branch to LABEL, which is >- the operand number of the label, or -1 if the branch is really a >+ the operand template of the label, or NULL if the branch is really a > conditional return. > > OP is the conditional expression. XEXP (OP, 0) is assumed to be a This looks like it should be done separately also. > +bool > +valid_vle_sd4_field (rtx mem, enum machine_mode mode) No comment before this function. >- (simple_return "")]) >+ (simple_return "1")]) Submitted separately it looks. > libgcc/longlong.h Gets sync'd with glibc's version sometimes. Also have you thought have just adding a vle.md for all the needed patterns and disabling the patterns in rs6000.md for VLE and not using %^/%+/%- ? I think that would have been a cleaner implementation of vle than adding support for it to the current patterns. Also does not have the maintenance issue of always having to check if a new pattern needs the %^/%+/%-. Thanks, Andrew Pinski > > > > -------- Original Message -------- > Subject: [PATCH] PowerPC VLE port > Date: Mon, 24 Sep 2012 21:44:02 -0400 > From: James Lemke > To: GCC Patches > > The initial patch for this port caused much comment. I have attached > an updated patch trying to address many of those points. > All comments are welcome. I would prefer comments are made on-list. > > I have tried to simplify this patch by: > 1) Removing as many compound tests as possible and now rely on feature > flags. > I have removed TARGET_VLE_ISEL, TARGET_VLE_MULTIPLE, TARGET_VLE_ISEL64 & > TARGET_MFCRF_NOVLE. > -mcpu now implies the following options: > -mcpu=e200z[0-2]: -mvle -misel -mno-mfcrf -mmultiple -msoft-float > -mcpu=e200z[367]: -mvle -misel -mno-mfcrf -mmultiple -mfloat-gprs=single \ > -mspe=yes -mabi=spe > 2) When gcc is configured for a non-VLE target, TARGET_VLE evaluates to "0" > so that most VLE-specific compiler code is optimized away. > 3) Separated all VLE-only items from rs6000.md to a new file, vle.md. > In the cases where there was strong commonality there is still VLE code in > rs6000.md. > > On r191665 I have run the DejaGNU suite. A bootstrap is running. > > Comments? > Jim. > > -- > Jim Lemke > Mentor Graphics / CodeSourcery > Orillia Ontario, +1-613-963-1073 > > >