[LLVMbugs] [Bug 9370] [arm] unnecessary MOVW not optimized

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Mar 2 10:08:27 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=9370

Evan Cheng <evan.cheng at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |evan.cheng at apple.com
         Resolution|                            |INVALID

--- Comment #1 from Evan Cheng <evan.cheng at apple.com> 2011-03-02 12:08:27 CST ---
Hi skoe, there is nothing wrong with the codegen. movw + movt pair must target
the same register. We could reuse the value of the first movw, but it requires
another copy.

    movw    r0, #32796
    mov.w    r1, #-1
    movt    r0, #20480
    str    r1, [r0]
    movw    r0, #32796    @ <= this MOVW is not needed, value is there already
    movt    r0, #20482
    str    r1, [r0]

=>

    movw    r0, #32796
    mov  r2, r0  @ <=
    mov.w    r1, #-1
    movt    r0, #20480
    str    r1, [r0]
    movt    r2, #20482  @ <=
    str    r1, [r2]

I don't think it's any better.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list