On 8/22/22 17:10, Robin Dapp wrote:
> Hi,
> 
> after discussing off-list, here is v2 of the patch.  We now recognize if
> the permutation mask only refers to the first or the second operand and
> use this later when emitting vpdi.
> 
> Regtested and bootstrapped, no regressions.
> 
> Is it OK?
> 
> Regards
>  Robin
> 
> From 1f11a6b89c9b0ad64b480229cd4db06eaaaa887a Mon Sep 17 00:00:00 2001
> From: Robin Dapp <rd...@linux.ibm.com>
> Date: Fri, 24 Jun 2022 15:17:08 +0200
> Subject: [PATCH v2] s390: Recognize reverse/element swap permute patterns.
> 
> This adds functions to recognize reverse/element swap permute patterns
> for vler, vster as well as vpdi and rotate.
> 
> gcc/ChangeLog:
> 
>       * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
>       (is_reverse_perm_mask): New function.
>       (expand_perm_with_rot): Recognize reverse pattern.
>       (expand_perm_with_vstbrq): New function.
>       (expand_perm_with_vster): Use vler/vster for element reversal on z15.
>       (vectorize_vec_perm_const_1): Use.
>       (s390_vectorize_vec_perm_const): Add expand functions.
>       * config/s390/vx-builtins.md: Prefer vster over vler.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/s390/vector/vperm-rev-z14.c: New test.
>       * gcc.target/s390/vector/vperm-rev-z15.c: New test.
>       * gcc.target/s390/zvector/vec-reve-store-byte.c: Adjust test
>       expectation.

Ok, thanks!

Andreas

Reply via email to