diff mbox series

Fix PR 93568 on PowerPC (vector extract failures)

Message ID 20200205212938.GA6865@ibm-toto.the-meissners.org
State New
Headers show
Series Fix PR 93568 on PowerPC (vector extract failures) | expand

Commit Message

Michael Meissner Feb. 5, 2020, 9:29 p.m. UTC
When I submitted my recent patches, in updating one of the patches, I made a
thinko that resulted in a lot of failures on big endian systems (but not as
many on the little endian systems).

I have done bootstraps on both big endian and little endian systems.  Can I
check in this patch?

On a big endian power8 system, the following tests now pass:

gcc.target/powerpc/pr87532-mc.c
gcc.target/powerpc/pr89765-mc.c
gcc.target/powerpc/vec-extract-3.c
gcc.target/powerpc/vec-extract-5.c
gcc.target/powerpc/vec-extract-6.c
gcc.target/powerpc/vec-extract-7.c
gcc.target/powerpc/vec-extract-8.c
gcc.target/powerpc/vec-extract-9.c
gcc.target/powerpc/vec-extract-v16qi-df.c
gcc.target/powerpc/vec-extract-v16qi.c
gcc.target/powerpc/vec-extract-v16qiu-df.c
gcc.target/powerpc/vec-extract-v16qiu.c
gcc.target/powerpc/vec-extract-v2df.c
gcc.target/powerpc/vec-extract-v2di.c
gcc.target/powerpc/vec-extract-v4sf.c
gcc.target/powerpc/vec-extract-v4si-df.c
gcc.target/powerpc/vec-extract-v4si.c
gcc.target/powerpc/vec-extract-v4siu-df.c
gcc.target/powerpc/vec-extract-v4siu.c
gcc.target/powerpc/vec-extract-v8hi-df.c
gcc.target/powerpc/vec-extract-v8hi.c
gcc.target/powerpc/vec-extract-v8hiu-df.c
gcc.target/powerpc/vec-extract-v8hiu.c
gcc.target/powerpc/vsx-builtin-10b.c
gcc.target/powerpc/vsx-builtin-11b.c
gcc.target/powerpc/vsx-builtin-12b.c
gcc.target/powerpc/vsx-builtin-14b.c
gcc.target/powerpc/vsx-builtin-15b.c
gcc.target/powerpc/vsx-builtin-16b.c
gcc.target/powerpc/vsx-builtin-17b.c
gcc.target/powerpc/vsx-builtin-18b.c
gcc.target/powerpc/vsx-builtin-19b.c
gcc.target/powerpc/vsx-builtin-9b.c

On a little endian power8 system, the following tests now pass:

gcc.target/powerpc/pr87532-mc.c
gcc.target/powerpc/pr89765-mc.c
gcc.target/powerpc/vec-extract-v2di.c
gcc.target/powerpc/vsx-builtin-12b.c
gcc.target/powerpc/vsx-builtin-19b.c

2020-02-05  Michael Meissner  <meissner@linux.ibm.com>

	PR target/93568
	* config/rs6000/rs6000.c (get_vector_offset): Fix

Comments

Segher Boessenkool Feb. 5, 2020, 9:43 p.m. UTC | #1
On Wed, Feb 05, 2020 at 04:29:38PM -0500, Michael Meissner wrote:
> 2020-02-05  Michael Meissner  <meissner@linux.ibm.com>
> 
> 	PR target/93568
> 	* config/rs6000/rs6000.c (get_vector_offset): Fix
> 
> --- /tmp/a8cqkr_rs6000.c	2020-02-05 14:55:36.255021903 -0600
> +++ gcc/config/rs6000/rs6000.c	2020-02-05 13:27:00.393877012 -0600
> @@ -6744,8 +6744,7 @@ get_vector_offset (rtx mem, rtx element,
>  
>    /* All insns should use the 'Q' constraint (address is a single register) if
>       the element number is not a constant.  */
> -  rtx addr = XEXP (mem, 0);
> -  gcc_assert (satisfies_constraint_Q (addr));
> +  gcc_assert (satisfies_constraint_Q (mem));
>  
>    /* Mask the element to make sure the element number is between 0 and the
>       maximum number of elements - 1 so that we don't generate an address

Okay for trunk.  Thank you!


Segher
diff mbox series

Patch

--- /tmp/a8cqkr_rs6000.c	2020-02-05 14:55:36.255021903 -0600
+++ gcc/config/rs6000/rs6000.c	2020-02-05 13:27:00.393877012 -0600
@@ -6744,8 +6744,7 @@  get_vector_offset (rtx mem, rtx element,
 
   /* All insns should use the 'Q' constraint (address is a single register) if
      the element number is not a constant.  */
-  rtx addr = XEXP (mem, 0);
-  gcc_assert (satisfies_constraint_Q (addr));
+  gcc_assert (satisfies_constraint_Q (mem));
 
   /* Mask the element to make sure the element number is between 0 and the
      maximum number of elements - 1 so that we don't generate an address