llvm-6502/lib
Chris Lattner 08b698e38d Emit long comparison against -1 better. Instead of this (x86):
test2:
        movl 8(%esp), %eax
        notl %eax
        movl 4(%esp), %ecx
        notl %ecx
        orl %eax, %ecx
        cmpl $0, %ecx
        sete %al
        movzbl %al, %eax
        ret

or this (PPC):

_test2:
        nor r2, r4, r4
        nor r3, r3, r3
        or r2, r2, r3
        cntlzw r2, r2
        srwi r3, r2, 5
        blr

Emit this:

test2:
        movl 8(%esp), %eax
        andl 4(%esp), %eax
        cmpl $-1, %eax
        sete %al
        movzbl %al, %eax
        ret

or this:

_test2:
.LBB_test2_0:   ;
        and r2, r4, r3
        cmpwi cr0, r2, -1
        li r3, 1
        li r2, 0
        beq .LBB_test2_2        ;
.LBB_test2_1:   ;
        or r3, r2, r2
.LBB_test2_2:   ;
        blr

it seems like the PPC isel could do better for R32 == -1 case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21242 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-12 01:46:05 +00:00
..
Analysis Don't make this require loopsimplify. It works BETTER with loop simplify 2005-04-06 21:45:00 +00:00
Archive Implement an isBytecodeArchive method to determine if an archive contains 2005-02-26 22:00:32 +00:00
AsmParser don't crash in some bad cases. 2005-03-23 01:29:26 +00:00
Bytecode This mega patch converts us from using Function::a{iterator|begin|end} to 2005-03-15 04:54:21 +00:00
CodeGen Emit long comparison against -1 better. Instead of this (x86): 2005-04-12 01:46:05 +00:00
Debugger Correct the comments and file header. 2004-12-23 21:16:46 +00:00
ExecutionEngine Fix the missing symbols problem Bill was hitting. Patch contributed by 2005-03-17 15:38:16 +00:00
Linker fix some 80 column violations 2005-03-15 23:03:34 +00:00
Support Timers SHOULD NOT record the time taken to count the bytes allocated in the heap! 2005-03-22 03:20:38 +00:00
System Eliminate tabs 2005-04-11 03:44:22 +00:00
Target Implement bitfield clears 2005-04-12 00:10:02 +00:00
Transforms Fix bug: InstCombine/2005-05-07-UDivSelectCrash.ll 2005-04-08 04:03:26 +00:00
VMCore First step in adding pcmarker intrinsic. Second step (soon) is adding backend support. 2005-03-28 20:05:49 +00:00
Makefile Add the Linker library 2004-11-14 21:54:41 +00:00