Jonathan Wright via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> Hi,
>
> A recent change "gcc: Add vec_select -> subreg RTL simplification"
> updated the expected test results for SVE extraction tests. The new
> result should only have been changed for little endian. This patch
> restores the old expected result for big endian.
>
> Ok for master?

OK, thanks.

Richard

> Thanks,
> Jonathan
>
> ---
>
> gcc/testsuite/ChangeLog:
>
> 2021-07-15  Jonathan Wright  <jonathan.wri...@arm.com>
>
>       * gcc.target/aarch64/sve/extract_1.c: Split expected results
>       by big/little endian targets, restoring the old expected
>       result for big endian.
>       * gcc.target/aarch64/sve/extract_2.c: Likewise.
>       * gcc.target/aarch64/sve/extract_3.c: Likewise.
>       * gcc.target/aarch64/sve/extract_4.c: Likewise.
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/extract_1.c 
> b/gcc/testsuite/gcc.target/aarch64/sve/extract_1.c
> index 
> 1a926dbb76fb42ab4bcfa18922fdbb2366d04e6e..7d76c98e92545817f6544d1b131cdbbd800c46ab
>  100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/extract_1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/extract_1.c
> @@ -56,7 +56,10 @@ typedef _Float16 vnx8hf __attribute__((vector_size (32)));
>  
>  TEST_ALL (EXTRACT)
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 2 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 2 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\td[0-9]+, v[0-9]+\.d\[0\]\n} } } */
>  /* { dg-final { scan-assembler-times {\tdup\td[0-9]+, v[0-9]+\.d\[1\]\n} 1 } 
> } */
> @@ -64,7 +67,10 @@ TEST_ALL (EXTRACT)
>  /* { dg-final { scan-assembler-times {\tlastb\tx[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  /* { dg-final { scan-assembler-times {\tlastb\td[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tw[0-9]+, s[0-9]\n} 2 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, s[0-9]\n} 2 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.s\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[3\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\ts[0-9]+, v[0-9]+\.s\[0\]\n} } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/extract_2.c 
> b/gcc/testsuite/gcc.target/aarch64/sve/extract_2.c
> index 
> 1c54d10cd348f8c81b6369b7b180e30580c8988d..a2644ceae68235175ff787d1d9cbece83985dc5f
>  100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/extract_2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/extract_2.c
> @@ -56,7 +56,10 @@ typedef _Float16 vnx16hf __attribute__((vector_size (64)));
>  
>  TEST_ALL (EXTRACT)
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 2 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 2 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\td[0-9]+, v[0-9]+\.d\[0\]\n} } } */
>  /* { dg-final { scan-assembler-times {\tdup\td[0-9]+, v[0-9]+\.d\[1\]\n} 1 } 
> } */
> @@ -64,7 +67,10 @@ TEST_ALL (EXTRACT)
>  /* { dg-final { scan-assembler-times {\tlastb\tx[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  /* { dg-final { scan-assembler-times {\tlastb\td[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tw[0-9]+, s[0-9]\n} 2 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, s[0-9]\n} 2 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.s\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[3\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\ts[0-9]+, v[0-9]+\.s\[0\]\n} } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/extract_3.c 
> b/gcc/testsuite/gcc.target/aarch64/sve/extract_3.c
> index 
> 501b9f3027128d3297ef77694f6dbcf1fb4d9824..baa54594c482253b1e0aae2b62a342edea0369e9
>  100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/extract_3.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/extract_3.c
> @@ -77,7 +77,10 @@ typedef _Float16 vnx32hf __attribute__((vector_size 
> (128)));
>  
>  TEST_ALL (EXTRACT)
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 5 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 5 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\td[0-9]+, v[0-9]+\.d\[0\]\n} } } */
>  /* { dg-final { scan-assembler-times {\tdup\td[0-9]+, v[0-9]+\.d\[1\]\n} 1 } 
> } */
> @@ -86,7 +89,10 @@ TEST_ALL (EXTRACT)
>  /* { dg-final { scan-assembler-times {\tlastb\tx[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  /* { dg-final { scan-assembler-times {\tlastb\td[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tw[0-9]+, s[0-9]\n} 5 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, s[0-9]\n} 5 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.s\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[3\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\ts[0-9]+, v[0-9]+\.s\[0\]\n} } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/extract_4.c 
> b/gcc/testsuite/gcc.target/aarch64/sve/extract_4.c
> index 
> 94d31554b0a41822cb472522948d8a3bb0765f1e..aa6fe482dbfdc3b2fa54473523cc0efd467a64de
>  100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/extract_4.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/extract_4.c
> @@ -84,7 +84,10 @@ typedef _Float16 v128hf __attribute__((vector_size (256)));
>  
>  TEST_ALL (EXTRACT)
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 6 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, d[0-9]\n} 6 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.d\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\td[0-9]+, v[0-9]+\.d\[0\]\n} } } */
>  /* { dg-final { scan-assembler-times {\tdup\td[0-9]+, v[0-9]+\.d\[1\]\n} 1 } 
> } */
> @@ -93,7 +96,10 @@ TEST_ALL (EXTRACT)
>  /* { dg-final { scan-assembler-times {\tlastb\tx[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  /* { dg-final { scan-assembler-times {\tlastb\td[0-9]+, p[0-7], 
> z[0-9]+\.d\n} 1 } } */
>  
> -/* { dg-final { scan-assembler-times {\tfmov\tw[0-9]+, s[0-9]\n} 6 } } */
> +/* { dg-final { scan-assembler-times {\tfmov\tx[0-9]+, s[0-9]\n} 6 {
> +             target { aarch64_little_endian } } } } */
> +/* { dg-final { scan-assembler-times {\tumov\tx[0-9]+, v[0-9]+\.s\[0\]\n} 1 {
> +             target { aarch64_big_endian } } } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[1\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-times {\tumov\tw[0-9]+, v[0-9]+\.s\[3\]\n} 1 
> } } */
>  /* { dg-final { scan-assembler-not {\tdup\ts[0-9]+, v[0-9]+\.s\[0\]\n} } } */

Reply via email to