https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114207
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=111613 Keywords| |wrong-code Status|UNCONFIRMED |NEW Component|c |tree-optimization Summary|Wrong code bug since GCC |modref gets confused by |12.1 |vecotorized code ` -O3 | |-fno-tree-forwprop` Target Milestone|--- |12.4 Ever confirmed|0 |1 Last reconfirmed| |2024-03-02 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. The IR is: ``` vectp.7_7 = &s_4(D)->b; vectp.7_8 = vectp.7_7 + 18446744073709551612; vect__1.8_9 = MEM <vector(2) int> [(int *)vectp.7_8]; vect__2.9_10 = VEC_PERM_EXPR <vect__1.8_9, vect__1.8_9, { 1, 0 }>; MEM <vector(2) int> [(int *)s_4(D)] = vect__2.9_10; ``` modref thinks this only reads s->b somehow.