From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 114832 invoked by alias); 17 Jul 2015 16:05:34 -0000 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 Received: (qmail 114823 invoked by uid 89); 17 Jul 2015 16:05:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: e06smtp17.uk.ibm.com Received: from e06smtp17.uk.ibm.com (HELO e06smtp17.uk.ibm.com) (195.75.94.113) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Fri, 17 Jul 2015 16:05:32 +0000 Received: from /spool/local by e06smtp17.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 17 Jul 2015 17:05:29 +0100 Received: from d06dlp01.portsmouth.uk.ibm.com (9.149.20.13) by e06smtp17.uk.ibm.com (192.168.101.147) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Fri, 17 Jul 2015 17:05:27 +0100 X-MailFrom: vogt@linux.vnet.ibm.com X-RcptTo: gcc-patches@gcc.gnu.org Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 0AB5817D805A for ; Fri, 17 Jul 2015 17:06:47 +0100 (BST) Received: from d06av08.portsmouth.uk.ibm.com (d06av08.portsmouth.uk.ibm.com [9.149.37.249]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t6HG5Qp135258576 for ; Fri, 17 Jul 2015 16:05:26 GMT Received: from d06av08.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av08.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t6HG5Qs5018701 for ; Fri, 17 Jul 2015 10:05:26 -0600 Received: from bl3ahm9f.de.ibm.com (sig-9-79-69-251.de.ibm.com [9.79.69.251]) by d06av08.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id t6HG5QbW018692 for ; Fri, 17 Jul 2015 10:05:26 -0600 Received: from dvogt by bl3ahm9f.de.ibm.com with local (Exim 4.76) (envelope-from ) id 1ZG88Z-00061d-W0; Fri, 17 Jul 2015 18:05:24 +0200 Date: Fri, 17 Jul 2015 16:09:00 -0000 From: Dominik Vogt To: gcc-patches@gcc.gnu.org Subject: [PATCH 4/4] S390 -march=native related fixes Message-ID: <20150717160523.GD22696@linux.vnet.ibm.com> Reply-To: vogt@linux.vnet.ibm.com Mail-Followup-To: gcc-patches@gcc.gnu.org References: <20150717160050.GA17946@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="n2Pv11Ogg/Ox8ay5" Content-Disposition: inline In-Reply-To: <20150717160050.GA17946@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15071716-0029-0000-0000-00000581D92A X-SW-Source: 2015-07/txt/msg01551.txt.bz2 --n2Pv11Ogg/Ox8ay5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 333 On Fri, Jul 17, 2015 at 05:00:50PM +0100, Dominik Vogt wrote: > The following series of patches contains fixes, and cleanup work > related to -march=native (and -mtune=native) for S390. > > * 0004 Non-mandatory cleanup of the S390 code handling the various > cpu types. Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany --n2Pv11Ogg/Ox8ay5 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=0004-ChangeLog Content-length: 274 gcc/ChangeLog * config/s390/s390.c (s390_reorg): Clean up handling of processors with -mtune= (s390_issue_rate): Likewise. (s390_sched_reorder): Likewise. (s390_sched_variable_issue): Likewise. (s390_loop_unroll_adjust): Likewise. (s390_option_override): Likewise. --n2Pv11Ogg/Ox8ay5 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0004-S390-Clean-up-handling-of-various-PROCESSOR_-values-.patch" Content-length: 3294 >From 1d52b5534a728c9625b64bb702f3adcb2fc35ed0 Mon Sep 17 00:00:00 2001 From: Dominik Vogt Date: Wed, 8 Jul 2015 13:20:41 +0100 Subject: [PATCH 4/4] S390: Clean up handling of various PROCESSOR_* values with -mtune=. --- gcc/config/s390/s390.c | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 27e1c35..1764243 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -7304,11 +7304,15 @@ s390_issue_rate (void) return 3; case PROCESSOR_2097_Z10: return 2; + case PROCESSOR_9672_G5: + case PROCESSOR_9672_G6: + case PROCESSOR_2064_Z900: /* Starting with EC12 we use the sched_reorder hook to take care of instruction dispatch constraints. The algorithm only picks the best instruction and assumes only a single instruction gets issued per cycle. */ case PROCESSOR_2827_ZEC12: + case PROCESSOR_2964_Z13: default: return 1; } @@ -12914,10 +12918,7 @@ s390_reorg (void) s390_optimize_prologue (); /* Walk over the insns and do some >=z10 specific changes. */ - if (s390_tune == PROCESSOR_2097_Z10 - || s390_tune == PROCESSOR_2817_Z196 - || s390_tune == PROCESSOR_2827_ZEC12 - || s390_tune == PROCESSOR_2964_Z13) + if (s390_tune >= PROCESSOR_2097_Z10) { rtx_insn *insn; bool insn_added_p = false; @@ -13168,12 +13169,12 @@ static int s390_sched_reorder (FILE *file, int verbose, rtx_insn **ready, int *nreadyp, int clock ATTRIBUTE_UNUSED) { - if (s390_tune == PROCESSOR_2097_Z10) - if (reload_completed && *nreadyp > 1) - s390_z10_prevent_earlyload_conflicts (ready, nreadyp); + if (s390_tune == PROCESSOR_2097_Z10 + && reload_completed + && *nreadyp > 1) + s390_z10_prevent_earlyload_conflicts (ready, nreadyp); - if ((s390_tune == PROCESSOR_2827_ZEC12 - || s390_tune == PROCESSOR_2964_Z13) + if (s390_tune >= PROCESSOR_2827_ZEC12 && reload_completed && *nreadyp > 1) { @@ -13256,8 +13257,7 @@ s390_sched_variable_issue (FILE *file, int verbose, rtx_insn *insn, int more) { last_scheduled_insn = insn; - if ((s390_tune == PROCESSOR_2827_ZEC12 - || s390_tune == PROCESSOR_2964_Z13) + if (s390_tune >= PROCESSOR_2827_ZEC12 && reload_completed && recog_memoized (insn) >= 0) { @@ -13335,10 +13335,7 @@ s390_loop_unroll_adjust (unsigned nunroll, struct loop *loop) unsigned i; unsigned mem_count = 0; - if (s390_tune != PROCESSOR_2097_Z10 - && s390_tune != PROCESSOR_2817_Z196 - && s390_tune != PROCESSOR_2827_ZEC12 - && s390_tune != PROCESSOR_2964_Z13) + if (s390_tune < PROCESSOR_2097_Z10) return nunroll; /* Count the number of memory references within the loop body. */ @@ -13553,10 +13550,7 @@ s390_option_override (void) target_flags |= MASK_LONG_DOUBLE_128; #endif - if (s390_tune == PROCESSOR_2097_Z10 - || s390_tune == PROCESSOR_2817_Z196 - || s390_tune == PROCESSOR_2827_ZEC12 - || s390_tune == PROCESSOR_2964_Z13) + if (s390_tune >= PROCESSOR_2097_Z10) { maybe_set_param_value (PARAM_MAX_UNROLLED_INSNS, 100, global_options.x_param_values, -- 2.3.0 --n2Pv11Ogg/Ox8ay5--