From patchwork Fri Jul 4 13:48:20 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 367118 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 E3B931400A3 for ; Fri, 4 Jul 2014 23:48:44 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; q=dns; s=default; b=n4TB5dNMviKCBTfXO KapQMD7/H3so2fmu080rFM7pSrAxOAwwwnCQeRkCyysjSH6LusYIAT9rJxZbCUrl j1+xToLvDBWvmRVgIhzwxX7lZtOgveei9wy9kLMHnvFU8wEG84QG5Kt/L64OW5+m EKIbXLEj2kyEgGahUB2rU/QNWA= 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 :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; s=default; bh=htEHb+Qc0BdCvrHIoWMokNH /F1I=; b=aaTMhzv/s4l/XlkU20fHON4snP2Euvu4o1IAU+hoWC03QzyB+DhHFW7 7EI0rqDo7UALRR3l9ISaucvLvzSyXDQ6Y++k4EQ1Fqr6uJAviPbQmBbDq1guGWPS /Z5LdJbjMDzxa7P0rGXzdmFrjJ6ViX8FsEjnka6phK+2dtYaV2Vg= Received: (qmail 27690 invoked by alias); 4 Jul 2014 13:48:37 -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 27655 invoked by uid 89); 4 Jul 2014 13:48:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 04 Jul 2014 13:48:31 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1X33qj-0005kw-Ig from Tom_deVries@mentor.com ; Fri, 04 Jul 2014 06:48:25 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Fri, 4 Jul 2014 06:48:25 -0700 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.2.247.3; Fri, 4 Jul 2014 14:48:23 +0100 Message-ID: <53B6B0A4.2010708@mentor.com> Date: Fri, 4 Jul 2014 15:48:20 +0200 From: Tom de Vries User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Jeff Law CC: Marc Glisse , Vladimir Makarov , GCC Patches Subject: [PATCH, COMMITTED] Update earlyclobber documentation References: <53B30B96.2000603@mentor.com> <53B31041.8060608@redhat.com> <53B32D3A.1030700@mentor.com> <53B3AAE8.3080003@mentor.com> <53B3BEC3.5040004@mentor.com> <53B3CC22.4000800@mentor.com> <53B48ABF.9000209@redhat.com> In-Reply-To: <53B48ABF.9000209@redhat.com> [ was: Re: combination of read/write and earlyclobber constraint modifier on gcc@ ] On 03-07-14 00:42, Jeff Law wrote: > Based on various followups (public & private), let's go with the clarification > above. Richard E. explicitly added support for this in the mid/late 90s as an > optimization for the ARM. Jeff, Committed as attached. Thanks to all for the helpful comments. - Tom 2014-07-04 Tom de Vries * doc/md.texi (@subsection Constraint Modifier Characters): Clarify combination of earlyclobber and read/write modifiers. diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 539865e..fde67d7 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -1582,7 +1582,10 @@ alternatives of this form often allows GCC to produce better code when only some of the inputs can be affected by the earlyclobber. See, for example, the @samp{mulsi3} insn of the ARM@. -@samp{&} does not obviate the need to write @samp{=}. +Furthermore, if the @dfn{earlyclobber} operand is also read/write operand, then +that operand is modified only after it's used. + +@samp{&} does not obviate the need to write @samp{=} or @samp{+}. @cindex @samp{%} in constraint @item % -- 1.9.1