From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127487 invoked by alias); 8 Nov 2017 19:25:47 -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 127477 invoked by uid 89); 8 Nov 2017 19:25:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1717 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; Wed, 08 Nov 2017 19:25:45 +0000 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D339381DEC; Wed, 8 Nov 2017 19:25:44 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-12.rdu2.redhat.com [10.10.112.12]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1662B60BE3; Wed, 8 Nov 2017 19:25:43 +0000 (UTC) Subject: Re: [5/10] Add vect_perm3_* target selectors To: gcc-patches@gcc.gnu.org, richard.sandiford@linaro.org References: <87inerqqyz.fsf@linaro.org> <87vairpc6f.fsf@linaro.org> From: Jeff Law Message-ID: <6772f26b-f010-a285-ba5a-93b898d3f06b@redhat.com> Date: Wed, 08 Nov 2017 19:49:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <87vairpc6f.fsf@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00666.txt.bz2 On 11/03/2017 10:19 AM, Richard Sandiford wrote: > SLP load permutation fails if any individual permutation requires more > than two vector inputs. For 128-bit vectors, it's possible to permute > 3 contiguous loads of 32-bit and 8-bit elements, but not 16-bit elements > or 64-bit elements. The results are reversed for 256-bit vectors, > and so on for wider vectors. > > This patch adds a routine that tests whether a permute will require > three vectors for a given vector count and element size, then adds > vect_perm3_* target selectors for the cases that we currently use. > > > 2017-11-03 Richard Sandiford > Alan Hayward > David Sherwood > > gcc/ > * doc/sourcebuild.texi (vect_perm_short, vect_perm_byte): Document > previously undocumented selectors. > (vect_perm3_byte, vect_perm3_short, vect_perm3_int): Document. > > gcc/testsuite/ > * lib/target-supports.exp (vect_perm_supported): New proc. > (check_effective_target_vect_perm3_int): Likewise. > (check_effective_target_vect_perm3_short): Likewise. > (check_effective_target_vect_perm3_byte): Likewise. > * gcc.dg/vect/slp-perm-1.c: Expect SLP load permutation to > succeed if vect_perm3_int. > * gcc.dg/vect/slp-perm-5.c: Likewise. > * gcc.dg/vect/slp-perm-6.c: Likewise. > * gcc.dg/vect/slp-perm-7.c: Likewise. > * gcc.dg/vect/slp-perm-8.c: Likewise vect_perm3_byte. > * gcc.dg/vect/slp-perm-9.c: Likewise vect_perm3_short. > Use vect_perm_short instead of vect_perm. Add a scan-tree-dump-not > test for vect_perm3_short targets. Going to take your word on the correctness of vect_perm_supported. :-) OK for the trunk. jeff