https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107212

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
            Summary|-O2 and -O3 optimizer bug   |[11/12/13 Regression] Wrong
                   |                            |vectorizer code since
                   |                            |r11-718-gc735929a2503a7d0
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
          Component|c                           |tree-optimization
   Target Milestone|---                         |11.5
           Keywords|                            |wrong-code
   Last reconfirmed|                            |2022-10-11

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
A bit reduced test-case:

$ cat pr107212.c
int main() {
    unsigned int tab[6][2] = { {69, 73}, {36, 40}, {24, 16}, {16, 11}, {4, 5},
{3, 1} };

    int flag = 1;
    int sum_0 = 0;
    int sum_1 = 0;

    for(int t=0; t<6; t++) {
        sum_0 += tab[t][0];
        sum_1 += tab[t][1];
    }

    int x1 = (sum_0 < 100);
    int x2 = (sum_0 > 200);
    int x3 = (x1 || x2);

    if(sum_1 > 200) {
        flag=0;
    }

    __builtin_printf("sum_1: %d\n", sum_1);
    if (x1 || x2)
      __builtin_abort ();

    return 0;
}

With -O3 it started with r11-718-gc735929a2503a7d0.

Reply via email to