From patchwork Mon Sep 14 15:40:47 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Reutner-Fischer X-Patchwork-Id: 517472 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4E18F140779 for ; Tue, 15 Sep 2015 01:41:13 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=rTnANAnB; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :in-reply-to:references:mime-version:content-transfer-encoding :content-type:subject:from:date:to:cc:message-id; q=dns; s= default; b=dG9iuiaseBaHsSLHD8SYX3s2PkEiOPF0cUkCDJE3VqMFfuYA16isW NjCInLoMXhzVtwO4JbsAsEksqdZGBzcDhEonTSwYw/OarehXSqN8h3gzvyzd7onL lXdXgSt3CWYbl4zpRiKOHmOCwNAvGKUMigaLKS2ea7Fv+iW1XiXDAc= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :in-reply-to:references:mime-version:content-transfer-encoding :content-type:subject:from:date:to:cc:message-id; s=default; bh= VbZMl6+o2JAVtI1HRvGjOfPLMu4=; b=rTnANAnBy1Dn3i3uAIMBvDLm/ZWrD4K8 irXKFqZ3fHzlJ37Z7sEJJTP7uyWWS6DKe4FESJEoE7hDJwVbDBeOWPmdKr7aken7 uiCdVJY7k/8aq0KdPz2l40XpguUEmktIwEr+zQoUaLdoNh2lZbkl3Ox/uJyb74m5 LZkB6DY5ENk= Received: (qmail 83853 invoked by alias); 14 Sep 2015 15:41:05 -0000 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 Received: (qmail 83837 invoked by uid 89); 14 Sep 2015 15:41:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL, BAYES_50, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f179.google.com Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com) (209.85.212.179) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 14 Sep 2015 15:41:03 +0000 Received: by wicgb1 with SMTP id gb1so147418105wic.1 for ; Mon, 14 Sep 2015 08:41:00 -0700 (PDT) X-Received: by 10.180.103.167 with SMTP id fx7mr26148821wib.89.1442245260534; Mon, 14 Sep 2015 08:41:00 -0700 (PDT) Received: from [10.46.16.81] (089144213081.atnat0022.highway.a1.net. [89.144.213.81]) by smtp.gmail.com with ESMTPSA id m4sm16136143wjb.37.2015.09.14.08.40.59 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Sep 2015 08:40:59 -0700 (PDT) User-Agent: K-9 Mail for Android In-Reply-To: <55F69187.7020702@st.com> References: <55F69187.7020702@st.com> MIME-Version: 1.0 Subject: Re: [PATCH 1/4] [ARM] Add attribute/pragma target fpu= From: Bernhard Reutner-Fischer Date: Mon, 14 Sep 2015 17:40:47 +0200 To: Christian Bruel , kyrylo.tkachov@arm.com, Ramana.Radhakrishnan@arm.com CC: gcc-patches@gcc.gnu.org Message-ID: <84D96C45-DD45-4155-AF6C-97AAC3EFB155@gmail.com> X-IsSubscribed: yes On September 14, 2015 11:36:13 AM GMT+02:00, Christian Bruel wrote: >Hi, > >This patch moves the FPU flags settings and checks to the attribute >hooks. .e.g neon must be checked in arm_option_check_internal. FPU name > >is emitted before each function and arm_fpu_index is Saved to be >handled >by the cl_target_option_save/restore functions. I keep forgetting if it's a capital W or a lowercase one but you'll know. Thanks, diff -ruN gnu_trunk.p0/gcc/gcc/config/arm/arm.c gnu_trunk.p1/gcc/gcc/config/arm/arm.c --- gnu_trunk.p0/gcc/gcc/config/arm/arm.c 2015-09-10 14:27:28.931847219 +0200 +++ gnu_trunk.p1/gcc/gcc/config/arm/arm.c 2015-09-11 14:53:45.388771537 +0200 @@ -2713,6 +2713,12 @@ arm_option_check_internal (struct gcc_options *opts) { int flags = opts->x_target_flags; + const struct arm_fpu_desc *fpu_desc = &all_fpus[opts->x_arm_fpu_index]; + + /* iWMMXt and NEON are incompatible. */ + if (TARGET_IWMMXT && TARGET_VFP + && ARM_FPU_FSET_HAS (fpu_desc->features, FPU_FL_NEON)) + error ("iWMMXt `and NEON are incompatible"); Maybe there is just dirt on my screen or my graphic-memory is broken, but I see an odd character between iWMMXt and and?