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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-07-08

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is IV-OPTS going wrong.

What is interesting is for powerpc, doloop can move it back to being `!=0`.
E.g we get:
```
        li 8,19
        li 9,36
        lis 10,v@ha
        mtctr 8
.L2:
        stw 9,v@l(10)
        addi 9,9,-2
        bdnz .L2
        blr
```
Turning off ivopts `-fno-ivopts`. avr gives:
```
.L2:
        sts v+1,r19
        sts v,r18
        subi r18,2
        sbc r19,__zero_reg__
        sbiw r24, 1
        brne .L2
```

Which seems like reasonable code.

Reply via email to