This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/9760] [arm] Combine cannot do its job because immediate operand is used instead of register



------- Comment #6 from ramana dot r at gmail dot com  2009-03-12 18:45 -------
With Mainline today gcc produces : 

        stmfd   sp!, {r4, lr}
        mov     r1, r0, lsr #24
        mov     r4, r0
        mov     r0, #8
        bl      func
        mov     r1, r4, lsr #16
        and     r1, r1, #255
        mov     r0, #8
        bl      func
        mov     r1, r4, lsr #8
        and     r1, r1, #255
        mov     r0, #8
        ldmfd   sp!, {r4, lr}
        b       func

The problem still exists. This can't be a problem with the combiner because the
combine would stop at function call boundaries. 


-- 

ramana dot r at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rearnsha at arm dot com,
                   |                            |ramana dot r at gmail dot
                   |                            |com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9760


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]