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

Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-06-26
                 CC|                            |ramana at gcc dot gnu.org
      Known to work|                            |6.0
     Ever confirmed|0                           |1
      Known to fail|                            |5.1.0

--- Comment #3 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
This smells of a dup of PR65768 ... 

Trunk generates for example in comment #1.


func:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        @ link register save eliminated.
        ldr     r3, .L6
        ldr     r2, [r3]
        orr     r2, r2, #65536
        str     r2, [r3]
.L2:
        ldr     r2, [r3]
        lsls    r2, r2, #14
        bpl     .L2
        ldr     r2, [r3]
        orr     r2, r2, #16777216
        str     r2, [r3]
        bx      lr
.L7:
        .align  2
.L6:
        .word   67112960

and for the last example

func:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        @ link register save eliminated.
        mov     r3, #1073741824
        mov     r2, r3
        ldr     r1, [r3]
.L2:
        ldr     r3, [r2]
        subs    r3, r3, r1
        uxth    r3, r3
        cmp     r3, r0
        bcc     .L2
        bx      lr


May well be a dup of PR65768 ?

Reply via email to