From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 102857 invoked by alias); 29 Nov 2017 09:50:07 -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 102568 invoked by uid 89); 29 Nov 2017 09:49:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KB_WAM_FROM_NAME_SINGLEWORD,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=sebastianperytintelcom, U*sebastian.peryt, sebastian.peryt@intel.com, H*f:sk:17623B1 X-HELO: mail-it0-f53.google.com Received: from mail-it0-f53.google.com (HELO mail-it0-f53.google.com) (209.85.214.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 29 Nov 2017 09:49:53 +0000 Received: by mail-it0-f53.google.com with SMTP id p139so3335478itb.1 for ; Wed, 29 Nov 2017 01:49:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ly4Q5yEjHM8r7peESYiNUKXB5cfCu+j1dAZg4jVO/oQ=; b=X8R3GFliuNype38pfi6TVdp/OloOJDUdd6wb1vTowi/XBfEXVKJwVW8uCTxmnrbpjy TVYr11Koo2est1lpIbteVkzqsXU+adSavIVynTDRnavCIdfKAVOcAmfZdz+ZVqOqr5wd 8iv9CGuVb5ZUuc5+/qNDl/4eVB0BoUetGpAv+DB56BnLiBXYo1PDr8kr/atZ2UqWb3Z5 IuYck2Eh9lR4/Q+ARXG4uYBCGXgpf422nGglekIcF9Dd8MKHaHmfgsmkHeDys9TEABfI Kir2QazCOGJu4iJAxYqEBSLJf8Gr83jII6es9BoRBWUBji+eLqkkGCuCS8o5/hW6tGbX MVNw== X-Gm-Message-State: AJaThX7xgS+QhP/hr1SjfT3GNSDlyNMX7dKfcPEzBuw+kZBXdREzGLBo 5tX6SsvParNzQeDwkXEqKEOeksPW4pH9HjvgG2Q= X-Google-Smtp-Source: AGs4zMbuxFaRtw8tJTfQVr7jNAZQ9I10x778u9KpeeILWyhGLBdk4zmXFbaOSIRpXaU9dfOUmJnv3uDBsykEMmY/6S4= X-Received: by 10.36.208.23 with SMTP id m23mr6541858itg.137.1511948991618; Wed, 29 Nov 2017 01:49:51 -0800 (PST) MIME-Version: 1.0 Received: by 10.2.43.85 with HTTP; Wed, 29 Nov 2017 01:49:51 -0800 (PST) In-Reply-To: <17623B198193D741876BD81A6E3AE5AD3C5A1285@irsmsx111.ger.corp.intel.com> References: <17623B198193D741876BD81A6E3AE5AD3C5A1285@irsmsx111.ger.corp.intel.com> From: Uros Bizjak Date: Wed, 29 Nov 2017 09:55:00 -0000 Message-ID: Subject: Re: [Patch][x86, backport] Backport to GCC-6 vzeroupper patches To: "Peryt, Sebastian" Cc: "gcc-patches@gcc.gnu.org" , "Lu, Hongjiu" Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2017-11/txt/msg02485.txt.bz2 On Wed, Nov 29, 2017 at 10:46 AM, Peryt, Sebastian wrote: > Hi, > > I'd like to ask for backporting to GCC-6 branch vzeroupper generation patches from trunk, > that are resolving 3 PRs: > PR target/82941 > PR target/82942 > PR target/82990 > > Two patches were combined into one and rebased. Bootstraped and tested. > Is it ok for merge? > > Changelog: > > Fix PR82941 and PR82942 by adding proper vzeroupper generation on SKX. > Add X86_TUNE_EMIT_VZEROUPPER to indicate if vzeroupper instruction > should be inserted before a transfer of control flow out of the function. > It is turned on by default unless we are tuning for KNL. Users can always > use -mzeroupper or -mno-zeroupper to override X86_TUNE_EMIT_VZEROUPPER. > > 2017-11-29 Sebastian Peryt > H.J. Lu > > gcc/ > Bakcported from trunk > PR target/82941 > PR target/82942 > PR target/82990 > * config/i386/i386.c (pass_insert_vzeroupper): Remove > TARGET_AVX512F check from gate condition. > (ix86_check_avx256_register): Changed to ... > (ix86_check_avx_upper_register): ... this. Add extra check for > VALID_AVX512F_REG_OR_XI_MODE. > (ix86_avx_u128_mode_needed): Changed > ix86_check_avx256_register to ix86_check_avx_upper_register. > (ix86_check_avx256_stores): Changed to ... > (ix86_check_avx_upper_stores): ... this. Changed > ix86_check_avx256_register to ix86_check_avx_upper_register. > (ix86_avx_u128_mode_after): Changed > avx_reg256_found to avx_upper_reg_found. Changed > ix86_check_avx256_stores to ix86_check_avx_upper_stores. > (ix86_avx_u128_mode_entry): Changed > ix86_check_avx256_register to ix86_check_avx_upper_register. > (ix86_avx_u128_mode_exit): Ditto. > (ix86_option_override_internal): Set MASK_VZEROUPPER if > neither -mzeroupper nor -mno-zeroupper is used and > TARGET_EMIT_VZEROUPPER is set. > * config/i386/i386.h: (host_detect_local_cpu): New define. > (TARGET_EMIT_VZEROUPPER): New. > * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER. > > 2017-11-29 Sebastian Peryt > H.J. Lu > > gcc/testsuite/ > Backported from trunk > PR target/82941 > PR target/82942 > PR target/82990 > * gcc.target/i386/pr82941-1.c: New test. > * gcc.target/i386/pr82941-2.c: Likewise. > * gcc.target/i386/pr82942-1.c: Likewise. > * gcc.target/i386/pr82942-2.c: Likewise. > * gcc.target/i386/pr82990-1.c: Likewise. > * gcc.target/i386/pr82990-2.c: Likewise. > * gcc.target/i386/pr82990-3.c: Likewise. > * gcc.target/i386/pr82990-4.c: Likewise. > * gcc.target/i386/pr82990-5.c: Likewise. > * gcc.target/i386/pr82990-6.c: Likewise. > * gcc.target/i386/pr82990-7.c: Likewise. I doubt that gcc-6 is used for KNL, but OK anyway. Uros.