From patchwork Sun Aug 7 20:35:37 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 108837 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id E5A2CB6F7A for ; Mon, 8 Aug 2011 12:02:37 +1000 (EST) Received: (qmail 12673 invoked by alias); 7 Aug 2011 20:35:55 -0000 Received: (qmail 12513 invoked by uid 22791); 7 Aug 2011 20:35:54 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, NO_DNS_FOR_FROM, RP_MATCHES_RCVD, TW_AV X-Spam-Check-By: sourceware.org Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 07 Aug 2011 20:35:38 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 07 Aug 2011 13:35:38 -0700 X-ExtLoop1: 1 Received: from gnu-6.sc.intel.com ([10.3.194.135]) by orsmga002.jf.intel.com with ESMTP; 07 Aug 2011 13:35:37 -0700 Received: by gnu-6.sc.intel.com (Postfix, from userid 500) id DF20CC0658; Sun, 7 Aug 2011 13:35:37 -0700 (PDT) Date: Sun, 7 Aug 2011 13:35:37 -0700 From: "H.J. Lu" To: gcc-patches@gcc.gnu.org, Kirill Yukhin Cc: joseph@codesourcery.com, Uros Bizjak Subject: PATCH: Add -mavx2 and properly check numbers of mask bits Message-ID: <20110807203537.GA27870@intel.com> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, opth-gen.awk has print "#define " mask name " (1 << " masknum[vname]++ ")" and int has 32bits. We should check if (masknum[var] > 32) instead of if (masknum[var] > 31) Now, I got #define OPTION_MASK_ISA_X32 (1 << 30) #define OPTION_MASK_ISA_XOP (1 << 31) in options.h. OK for trunk? Thanks. H.J. --- 2011-08-07 H.J. Lu * opth-gen.awk: Properly check numbers of mask bits. * config/i386/i386.opt: Add mavx2. diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt index f197dd8..3cfc812 100644 --- a/gcc/config/i386/i386.opt +++ b/gcc/config/i386/i386.opt @@ -457,6 +457,10 @@ mavx Target Report Mask(ISA_AVX) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation +mavx2 +Target Report Mask(ISA_AVX2) Var(ix86_isa_flags) Save +Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation + mfma Target Report Mask(ISA_FMA) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk index 876e0f6..5d156f5 100644 --- a/gcc/opth-gen.awk +++ b/gcc/opth-gen.awk @@ -311,7 +311,7 @@ for (i = 0; i < n_extra_masks; i++) { } for (var in masknum) { - if (masknum[var] > 31) { + if (masknum[var] > 32) { if (var == "") print "#error too many target masks" else