From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 117647 invoked by alias); 8 Jun 2018 21:47:25 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 117637 invoked by uid 89); 8 Jun 2018 21:47:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=stood, realworld, real-world, re-organization X-HELO: NAM02-CY1-obe.outbound.protection.outlook.com Received: from mail-cys01nam02on0041.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) (104.47.37.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 08 Jun 2018 21:47:23 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Received: from sellcey-dt.caveonetworks.com (50.233.148.156) by SN6PR07MB5037.namprd07.prod.outlook.com (2603:10b6:805:ad::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.17; Fri, 8 Jun 2018 21:47:20 +0000 Message-ID: <1528494436.3449.36.camel@cavium.com> Subject: Re: How to get GCC on par with ICC? From: Steve Ellcey Reply-To: sellcey@cavium.com To: Richard Biener , pmenzel+gcc.gnu.org@molgen.mpg.de Cc: GCC Development Date: Fri, 08 Jun 2018 22:08:00 -0000 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: CO1PR15CA0067.namprd15.prod.outlook.com (2603:10b6:101:20::11) To SN6PR07MB5037.namprd07.prod.outlook.com (2603:10b6:805:ad::15) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR07MB5037: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Forefront-PRVS: 06973FFAD3 Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Office365-Filtering-Correlation-Id: 9a9e802b-a790-4459-4914-08d5cd89696a X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2018 21:47:20.1673 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9a9e802b-a790-4459-4914-08d5cd89696a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR07MB5037 X-SW-Source: 2018-06/txt/msg00122.txt.bz2 On Thu, 2018-06-07 at 12:01 +0200, Richard Biener wrote: >  > When we do our own comparisons of GCC vs. ICC on benchmarks > like SPEC CPU 2006/2017 ICC doesn't have a big lead over GCC > (in fact it even trails in some benchmarks) unless you get to > "SPEC tricks" like data structure re-organization optimizations that > probably never apply in practice on real-world code (and people > should fix such things at the source level being pointed at them > via actually profiling their codes). Richard, I was wondering if you have any more details about these comparisions you have done that you can share?  Compiler versions, options used, hardware, etc  Also, were there any tests that stood out in terms of icc outperforming GCC? I did a compare of SPEC 2017 rate using GCC 8.* (pre release) and a recent ICC (2018.0.128?) on my desktop (Xeon CPU E5-1650 v4). I used '-xHost -O3' for icc and '-march=native -mtune=native -O3' for gcc. The int rate numbers (running 1 copy only) were not too bad, GCC was only about 2% slower and only 525.x264_r seemed way slower with GCC. The fp rate numbers (again only 1 copy) showed a larger difference,  around 20%.  521.wrf_r was more than twice as slow when compiled with GCC instead of ICC and 503.bwaves_r and 510.parest_r also showed significant slowdowns when compiled with GCC vs. ICC. Steve Ellcey sellcey@cavium.com