https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115304
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pinskia at gcc dot gnu.org --- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note when I am adding V4QI support to the aarch64 backend (emulating it via V8QI), I am getting a failure in slp-gap-1.c but it is different from the others. Without V4QI, the pattern matched `\{_\[0-9\]\+, 0` was able to match 6 times. we got in the IR: ``` unsigned int _50; vector(2) unsigned int _49; ... _50 = MEM <unsigned int> [(uint8_t *)vectp_pix1.5_58]; _49 = {_50, 0}; ``` But afterwards we now get: ``` vector(4) unsigned char _50; vector(8) unsigned char vect__34.9; ... _50 = MEM <vector(4) unsigned char> [(uint8_t *)vectp_pix1.5_58]; vect__34.9_49 = {_50, { 0, 0, 0, 0 }}; ``` Which produces the exact same code. I am trying to figure out the best way to change the testcase pattern to make sure we don't match: vect__37.23_6 = VEC_PERM_EXPR <vect__37.15_30, vect__37.19_13, { 0, 1, 2, 3, 8, 9, 10, 11 }>; too. `\{_\[0-9\]\+, { 0, 0` I think that will work but should I just do an alternative for the scan-tree-dump-times or should I put it as a seperate one with some target selection here?