llvm-6502/lib/Target
Chris Lattner 610f1e2785 Codegen signed divides by 2 and -2 more efficiently. In particular
instead of:

s:   ;; X / 2
        movl 4(%esp), %eax
        movl %eax, %ecx
        shrl $31, %ecx
        movl %eax, %edx
        addl %ecx, %edx
        sarl $1, %eax
        ret

t:   ;; X / -2
        movl 4(%esp), %eax
        movl %eax, %ecx
        shrl $31, %ecx
        movl %eax, %edx
        addl %ecx, %edx
        sarl $1, %eax
        negl %eax
        ret

Emit:

s:
        movl 4(%esp), %eax
        cmpl $-2147483648, %eax
        sbbl $-1, %eax
        sarl $1, %eax
        ret

t:
        movl 4(%esp), %eax
        cmpl $-2147483648, %eax
        sbbl $-1, %eax
        sarl $1, %eax
        negl %eax
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 04:02:39 +00:00
..
CBackend FreeBSD uses GCC. Patch contributed by Jeff Cohen! 2004-10-06 03:15:44 +00:00
PowerPC Generate better code by being far less clever when it comes to the select instruction. Don't create overlapping register lifetimes 2004-09-29 05:00:31 +00:00
Skeleton Make sure to set the operand list 2004-09-21 17:30:54 +00:00
Sparc I think this will handle double args. 2004-09-30 19:44:32 +00:00
SparcV8 I think this will handle double args. 2004-09-30 19:44:32 +00:00
SparcV9 Make EmitMappingInfo into an "external location" option, so that it can be set 2004-09-30 20:20:01 +00:00
X86 Codegen signed divides by 2 and -2 more efficiently. In particular 2004-10-06 04:02:39 +00:00
Makefile Targets are independent of each other, so compile them in parallel 2004-09-15 01:34:25 +00:00
MRegisterInfo.cpp Add getAllocatableSet() function. 2004-08-26 22:21:04 +00:00
Target.td Add initial support for variants 2004-10-03 19:34:18 +00:00
TargetData.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
TargetFrameInfo.cpp
TargetInstrInfo.cpp
TargetMachine.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
TargetMachineRegistry.cpp
TargetSchedInfo.cpp Since we use alloca now make sure we include the proper headers for it. 2004-09-28 02:53:15 +00:00