This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [SLP] SLP vectorization: vectorize vector constructors
- From: Joel Hutton <Joel dot Hutton at arm dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, nd <nd at arm dot com>
- Date: Wed, 30 Oct 2019 15:30:25 +0000
- Subject: Re: [SLP] SLP vectorization: vectorize vector constructors
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ccD1Yr4LUyHAoW6Ta1M/FljTXXtUG1+sxyLOQ0S8Qzg=; b=YiGSKujWGpjrey6uFonEcc988Ni1tf++3ubMiVYwtl5IZVJQmcK076rwMY48bc5lL0Lp4dPe8kdoQgAqIfqBrK72g75MDU/IdHF/hb1jD1ONdXoQTaoleC7K6wrqXciDHBoRQXbAQDIXZS1EjZrc71saTwfijDK95JH/jSA5OAU0+vxmHcbFu/duQIbNEqefiZEM6uMC/BWF+Ii85PeKlKfQ9kfqMic/DVD7YsxXnpfdi2GZ8wOvYX745CFKaAMh6vNtjtjwsyIVPgCGOoKXoh2t3KnMqRg2VdvmTIghp1bnaRb9k6thAH2CGi93La27hqgmdaxYwre9kHet9PSsVw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oft+4e9T/CEzledVs0NgyCB5UaByrgnqGMgcGXtrMbFS0/UtewPy8Pe6VNv3gXqPi6eo1/9LJ/V16hRp0AEfnN9YR80g7/T4hrJwo7hClCsCMxMWt/mb88n4OA6jFfcB4sBpFkGEYbkWQwnoCeISWdcy9NiOyB5MTKfSTHaGoCK3ZLsbePSw2QUznogVmeWGiY3Akduk6WPwjDNkwQnklqTZwhSnuUENmaUKFkowp2hDmzrWWOPd/tlbe5D1Xp1pp3HOEbhxS0jsvGHjPxSFSK0qMFLYPc5b9JzXvQyfyMISV022rfsbybWcKqn5jOBG5f5f+f1sx9JI3JILFAkKrg==
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Joel dot Hutton at arm dot com;
- References: <5edb0b00-4ae2-41c0-80ec-76de15d0b110@arm.com> <nycvar.YFH.7.76.1910151349490.5566@zhemvz.fhfr.qr> <6b66b279-eba2-80be-58f0-f72dc2316fcb@arm.com> <nycvar.YFH.7.76.1910301430430.5566@zhemvz.fhfr.qr> <93a0b5b9-312d-b5fe-5d5b-eacce7e19344@arm.com> <nycvar.YFH.7.76.1910301543000.5566@zhemvz.fhfr.qr>
On 30/10/2019 14:51, Richard Biener wrote:
> On Wed, 30 Oct 2019, Joel Hutton wrote:
>
>> On 30/10/2019 13:49, Richard Biener wrote:
>>> Why do you need this? The vectorizer already creates such CTORs. Any
>>> testcase that you can show?
>> typedef long v2di __attribute__((vector_size(16)));
>> v2di v;
>> void
>> foo()
>> {
>> v = (v2di){v[1], v[0]};
>> }
> Huh. On what architecture? Is that for a V2DI constructor of
> V1DI vectors maybe? On x86 the code doesn't trigger.
On aarch64.
emode = E_DImode
eltmode = E_DImode
> The condition was indeed to check for vector mode elements so
> maybe it should simply read
>
> if (VECTOR_MODE_P (emode))
>
> ? eltmode is always scalar.
I'll try that, thanks.