On Tue, Aug 10, 2021 at 7:37 PM Peter Bergner <berg...@linux.ibm.com> wrote: > > PR101849 shows we ICE on a test case when we pass a non __vector_pair * > pointer to the __builtin_vsx_lxvp and __builtin_vsx_stxvp built-ins > that is cast to __vector_pair *. The problem is that when we expand > the built-in, the cast has already been removed from gimple and we are > only given the base pointer. The solution used here (which fixes the ICE) > is to catch this case and convert the pointer to a __vector_pair * pointer > when expanding the built-in. > > This passed bootstrap and regression testing on powerpc64le-linux with > no regressions. Ok for mainline? This also affects GCC 11 and 10, so > ok there too after it has baked on trunk for a few days? > > Peter > > > gcc/ > PR target/101849 > * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Cast > pointer to __vector_pair *. > > gcc/testsuite/ > PR target/101849 > * gcc.target/powerpc/pr101849.c: New test.
Okay. Thanks, David