From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7340 invoked by alias); 1 Aug 2017 16:21:48 -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 7313 invoked by uid 89); 1 Aug 2017 16:21:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=23AM, 23am X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 01 Aug 2017 16:21:46 +0000 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 92857C7F03; Tue, 1 Aug 2017 16:21:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 92857C7F03 Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=jakub@redhat.com Received: from tucnak.zalov.cz (ovpn-116-40.ams2.redhat.com [10.36.116.40]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 990B21711A; Tue, 1 Aug 2017 16:21:43 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.15.2/8.15.2) with ESMTP id v71GLc6Z026436; Tue, 1 Aug 2017 18:21:39 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.15.2/8.15.2/Submit) id v71GLYJX026435; Tue, 1 Aug 2017 18:21:34 +0200 Date: Tue, 01 Aug 2017 16:21:00 -0000 From: Jakub Jelinek To: Segher Boessenkool Cc: Richard Biener , Uros Bizjak , David Edelsohn , Marcus Shawcroft , Richard Earnshaw , Andreas Krebbel , Matthew Fortune , Eric Botcazou , Andrew Jenner , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Switch vec_init and vec_extract optabs to 2 mode optab to allow extraction of vector from vector or initialization of vector from smaller vectors (PR target/80846) Message-ID: <20170801162134.GY2123@tucnak> Reply-To: Jakub Jelinek References: <20170725091432.GQ2123@tucnak> <20170725205256.GI13471@gate.crashing.org> <20170726070904.GV2123@tucnak> <20170726114123.GN13471@gate.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170726114123.GN13471@gate.crashing.org> User-Agent: Mutt/1.7.1 (2016-10-04) X-IsSubscribed: yes X-SW-Source: 2017-08/txt/msg00105.txt.bz2 On Wed, Jul 26, 2017 at 06:41:23AM -0500, Segher Boessenkool wrote: > > That is to follow aarch64 iterator naming convention, where they have > > Ugh, for some reason I thought this was in rs6000/ as well. I have > fresh coffee now. Sorry. Apparently I broke power bootstrap with this, because two new spots were introduced after I wrote the patch and my cross-compiler which didn't have HAVE_AS_POWER9 defined didn't reveal that. Fixed thusly, committed as obvious to trunk: 2017-08-01 Jakub Jelinek PR target/80846 * config/rs6000/vsx.md (vextract_fp_from_shorth, vextract_fp_from_shortl): Add element mode after mode in gen_vec_init* calls. --- gcc/config/rs6000/vsx.md.jj 2017-07-28 09:10:49.000000000 +0200 +++ gcc/config/rs6000/vsx.md 2017-08-01 18:04:50.000000000 +0200 @@ -4523,7 +4523,7 @@ (define_expand "vextract_fp_from_shorth" inputs in half words 1,3,5,7 (IBM numbering). Use xxperm to move src half words 0,1,2,3 for the conversion instruction. */ v = gen_rtvec_v (16, rvals); - emit_insn (gen_vec_initv16qi (mask, gen_rtx_PARALLEL (V16QImode, v))); + emit_insn (gen_vec_initv16qiqi (mask, gen_rtx_PARALLEL (V16QImode, v))); emit_insn (gen_altivec_vperm_v8hiv16qi (tmp, operands[1], operands[1], mask)); emit_insn (gen_vsx_xvcvhpsp (operands[0], tmp)); @@ -4552,7 +4552,7 @@ (define_expand "vextract_fp_from_shortl" inputs in half words 1,3,5,7 (IBM numbering). Use xxperm to move src half words 4,5,6,7 for the conversion instruction. */ v = gen_rtvec_v (16, rvals); - emit_insn (gen_vec_initv16qi (mask, gen_rtx_PARALLEL (V16QImode, v))); + emit_insn (gen_vec_initv16qiqi (mask, gen_rtx_PARALLEL (V16QImode, v))); emit_insn (gen_altivec_vperm_v8hiv16qi (tmp, operands[1], operands[1], mask)); emit_insn (gen_vsx_xvcvhpsp (operands[0], tmp)); Jakub