On Wed, 16 Aug 2023 at 15:21, Richard Sandiford <richard.sandif...@arm.com> wrote: > > Prathamesh Kulkarni <prathamesh.kulka...@linaro.org> writes: > >> Unfortunately, the patch regressed following tests on ppc64le and > >> armhf respectively: > >> gcc.target/powerpc/vec-perm-ctor.c scan-tree-dump-not optimized > >> "VIEW_CONVERT_EXPR" > >> gcc.dg/tree-ssa/forwprop-20.c scan-tree-dump-not forwprop1 "VEC_PERM_EXPR" > >> > >> This happens because of the change to vect_cst_ctor_array which > >> removes handling of VECTOR_CST, > >> and thus we return NULL_TREE for cases where VEC_PERM_EXPR has > >> vector_cst, ctor input operands. > >> > >> For eg we fail to fold VEC_PERM_EXPR for the following test taken from > >> forwprop-20.c: > >> void f (double d, vecf* r) > >> { > >> vecf x = { -d, 5 }; > >> vecf y = { 1, 4 }; > >> veci m = { 2, 0 }; > >> *r = __builtin_shuffle (x, y, m); // { 1, -d } > >> } > >> because vect_cst_ctor_to_array will now return NULL_TREE for vector_cst > >> {1, 4}. > >> > >> The attached patch thus reverts the changes to vect_cst_ctor_to_array, > >> which makes the tests pass again. > >> I have put the patch for another round of bootstrap+test on the above > >> targets (aarch64, aarch64-sve, x86_64, armhf, ppc64le). > >> OK to commit if it passes ? > > The patch now passes bootstrap+test on all these targets. > > OK, thanks. Thanks a lot for the helpful reviews! Committed in: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a7dba4a1c05a76026d88dcccc0b519cf83bff9a2
Thanks, Prathamesh > > Richard