From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id 1A29B39960EF; Thu, 17 Sep 2020 17:03:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1A29B39960EF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1600362216; bh=tnLWpAicHuFQQy+cOv020fdXUjHYlS7aox0nzjkL714=; h=From:To:Subject:Date:From; b=fCcQzwghSLvfmPvIH9jVriJXnq59jd/DGIu1iPSTo6R+NqZr/1u8FkZMOrB9s9nwN TmVAaTHibfggdjpeHkF1rSbVDFGAQ0nIZfV+qHu6nHOqrOsU7iXh1jXwgXq6BbeIFV 1T7dy7d9ZUj+Fg8Ap+aIpnGIBBPhLwjwM80IdrUM= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/vendors/redhat/heads/gcc-8-branch)] x86: Handle -mavx512vpopcntdq for -march=native X-Act-Checkin: gcc X-Git-Author: H.J. Lu X-Git-Refname: refs/vendors/redhat/heads/gcc-8-branch X-Git-Oldrev: 9cdd9aebc737a5698591a4b4fefdc88413ff8c3e X-Git-Newrev: 616015a7972abf1a5314c761d9bf2fac3f4628da Message-Id: <20200917170336.1A29B39960EF@sourceware.org> Date: Thu, 17 Sep 2020 17:03:36 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2020 17:03:36 -0000 https://gcc.gnu.org/g:616015a7972abf1a5314c761d9bf2fac3f4628da commit 616015a7972abf1a5314c761d9bf2fac3f4628da Author: H.J. Lu Date: Fri May 22 04:18:34 2020 -0700 x86: Handle -mavx512vpopcntdq for -march=native Add -mavx512vpopcntdq for -march=native if AVX512VPOPCNTDQ is available. PR target/95258 * config/i386/driver-i386.c (host_detect_local_cpu): Detect AVX512VPOPCNTDQ. (cherry picked from commit 808b611bfb4b05703ea174e50874c711dca44c98) Diff: --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/driver-i386.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cd75e91a042..c1fe7eb3bd1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-05-24 H.J. Lu + + PR target/95258 + * config/i386/driver-i386.c (host_detect_local_cpu): Detect + AVX512VPOPCNTDQ. + 2020-05-21 Martin Liska * common/config/aarch64/aarch64-common.c (aarch64_handle_option): diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c index 704cadd8fcf..97eaf68442d 100644 --- a/gcc/config/i386/driver-i386.c +++ b/gcc/config/i386/driver-i386.c @@ -420,6 +420,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) unsigned int has_avx5124fmaps = 0, has_avx5124vnniw = 0; unsigned int has_gfni = 0, has_avx512vbmi2 = 0; unsigned int has_avx512bitalg = 0; + unsigned int has_avx512vpopcntdq = 0; unsigned int has_shstk = 0; unsigned int has_avx512vnni = 0, has_vaes = 0; unsigned int has_vpclmulqdq = 0; @@ -519,6 +520,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) has_vaes = ecx & bit_VAES; has_vpclmulqdq = ecx & bit_VPCLMULQDQ; has_avx512bitalg = ecx & bit_AVX512BITALG; + has_avx512vpopcntdq = ecx & bit_AVX512VPOPCNTDQ; has_movdiri = ecx & bit_MOVDIRI; has_movdir64b = ecx & bit_MOVDIR64B; @@ -1098,6 +1100,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) const char *vaes = has_vaes ? " -mvaes" : " -mno-vaes"; const char *vpclmulqdq = has_vpclmulqdq ? " -mvpclmulqdq" : " -mno-vpclmulqdq"; const char *avx512bitalg = has_avx512bitalg ? " -mavx512bitalg" : " -mno-avx512bitalg"; + const char *avx512vpopcntdq = has_avx512vpopcntdq ? " -mavx512vpopcntdq" : " -mno-avx512vpopcntdq"; const char *movdiri = has_movdiri ? " -mmovdiri" : " -mno-movdiri"; const char *movdir64b = has_movdir64b ? " -mmovdir64b" : " -mno-movdir64b"; options = concat (options, mmx, mmx3dnow, sse, sse2, sse3, ssse3, @@ -1112,7 +1115,8 @@ const char *host_detect_local_cpu (int argc, const char **argv) avx512ifma, avx512vbmi, avx5124fmaps, avx5124vnniw, clwb, mwaitx, clzero, pku, rdpid, gfni, shstk, avx512vbmi2, avx512vnni, vaes, vpclmulqdq, - avx512bitalg, movdiri, movdir64b, NULL); + avx512bitalg, avx512vpopcntdq, movdiri, movdir64b, + NULL); } done: