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. Richard