llvm-6502/lib
Chris Lattner 8571637ee9 Codegen long >> 2 to this:
foo:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EDX, DWORD PTR [%ESP + 8]
        shrd %EAX, %EDX, 2
        sar %EDX, 2
        ret

instead of this:

test1:
        mov %ECX, DWORD PTR [%ESP + 4]
        shr %ECX, 2
        mov %EDX, DWORD PTR [%ESP + 8]
        mov %EAX, %EDX
        shl %EAX, 30
        or %EAX, %ECX
        sar %EDX, 2
        ret

and long << 2 to this:

foo:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %ECX, DWORD PTR [%ESP + 8]
***     mov %EDX, %EAX
        shrd %EDX, %ECX, 30
        shl %EAX, 2
        ret

instead of this:

foo:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %ECX, %EAX
        shr %ECX, 30
        mov %EDX, DWORD PTR [%ESP + 8]
        shl %EDX, 2
        or %EDX, %ECX
        shl %EAX, 2
        ret

The extra copy (marked ***) can be eliminated when I teach the code generator
that shrd32rri8 is really commutative.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19681 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-19 06:18:43 +00:00
..
Analysis Silence VC++ warnings. 2005-01-12 04:51:37 +00:00
Archive Remove potential platform portability issue with size of "int". 2004-12-29 01:20:24 +00:00
AsmParser Silence VS warnings. 2005-01-08 20:07:03 +00:00
Bytecode Remove potential platform portability issue with size of "int". 2004-12-29 01:20:24 +00:00
CodeGen Implement a way of expanding shifts. This applies to targets that offer 2005-01-19 04:19:40 +00:00
Debugger Correct the comments and file header. 2004-12-23 21:16:46 +00:00
ExecutionEngine Improve compatiblity with HPUX on Itanium, patch by Duraid Madina 2005-01-16 01:31:31 +00:00
Linker Remove un-needed #includes. 2004-12-20 04:15:44 +00:00
Support Use size_t instead of long to represent memory usage. long is 32 bits 2005-01-08 20:15:57 +00:00
System Fix bugpoint 2005-01-16 04:23:22 +00:00
Target Codegen long >> 2 to this: 2005-01-19 06:18:43 +00:00
Transforms Delete PHI nodes that are not dead but are locked in a cycle of single 2005-01-17 05:10:15 +00:00
VMCore implement these methods. 2005-01-15 06:52:40 +00:00
Makefile