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 <meiss...@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 -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797