From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24699 invoked by alias); 5 Jun 2013 16:05:09 -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 24646 invoked by uid 89); 5 Jun 2013 16:05:01 -0000 X-Spam-SWARE-Status: No, score=-3.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,TW_EQ autolearn=ham version=3.3.1 Received: from e7.ny.us.ibm.com (HELO e7.ny.us.ibm.com) (32.97.182.137) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 05 Jun 2013 16:04:55 +0000 Received: from /spool/local by e7.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 5 Jun 2013 12:04:53 -0400 Received: from d01dlp01.pok.ibm.com (9.56.250.166) by e7.ny.us.ibm.com (192.168.1.107) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 5 Jun 2013 12:04:52 -0400 Received: from d01relay06.pok.ibm.com (d01relay06.pok.ibm.com [9.56.227.116]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id 0327938C804D for ; Wed, 5 Jun 2013 12:04:51 -0400 (EDT) Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay06.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r55G4paU59506878 for ; Wed, 5 Jun 2013 12:04:51 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r55G4TUr004945 for ; Wed, 5 Jun 2013 13:04:29 -0300 Received: from ibm-tiger.the-meissners.org (dhcp-9-32-77-206.usma.ibm.com [9.32.77.206]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id r55G4T6R004881; Wed, 5 Jun 2013 13:04:29 -0300 Received: by ibm-tiger.the-meissners.org (Postfix, from userid 500) id 0F9DB4266A; Wed, 5 Jun 2013 12:04:28 -0400 (EDT) Date: Wed, 05 Jun 2013 16:05:00 -0000 From: Michael Meissner To: Segher Boessenkool Cc: David Edelsohn , Michael Meissner , GCC Patches , Pat Haugen , Peter Bergner Subject: Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins Message-ID: <20130605160427.GA5774@ibm-tiger.the-meissners.org> Mail-Followup-To: Michael Meissner , Segher Boessenkool , David Edelsohn , GCC Patches , Pat Haugen , Peter Bergner References: <20130520204053.GA21090@ibm-tiger.the-meissners.org> <20130521234717.GA27879@ibm-tiger.the-meissners.org> <20130604184853.GA12768@ibm-tiger.the-meissners.org> <1A6C76BF-AB76-4471-9F80-462FC0EBCB60@kernel.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1A6C76BF-AB76-4471-9F80-462FC0EBCB60@kernel.crashing.org> User-Agent: Mutt/1.5.20 (2009-12-10) X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13060516-5806-0000-0000-0000218BC7A0 X-SW-Source: 2013-06/txt/msg00251.txt.bz2 On Wed, Jun 05, 2013 at 05:50:21PM +0200, Segher Boessenkool wrote: > >* config/rs6000/rs6000.md (eqv3): Add support for powerp eqv > >instruction. > > [Typo, "powerp". There are many more typos and non-grammatical > sentences.] > > >Why isn't this covered by boolean_operator and %q output operand? > > The existing patterns (boolc3_...) do for eqv: > > (set reg (xor (not reg) reg)) > > which is not canonical RTL. I wasn't really aware of boolc and friends when I wrote the patches. However, I need named insns to enable vector builtin functions, so except for the splitting part, I wouldn't be able to save much rtl. I also wonder whether it would be useful to have 32-bit do the vector logical ops in gprs as well. At the moment, the patches don't allow it (vector types must be done in the altivec/vsx registers, an TImode is done by splitting the operation into 4 separate categories). On the 64-bit side, having __int128_t passed in GPRs, means you want to avoid ping-ponging between the GPRs and VSX registers. In addition, the atomic quad word support (patch #7) has to run in GPRs, so we need add/subtract/logical to have versions that run in GPRs. I can rewrite the pattern for the vector eqv so that when split it uses the format used by boolc, but since it is not canonical we would never generate it in the rare cases it might be useful to generate it. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797