llvm/lib
Chris Lattner 2cfdbb2716 add andn/orn/xorn patterns. This allows us to compile this:
long %test(ubyte, short, long %X, long %Y) {
  %A = xor long %X, -1
  %B = and long %Y, %A
  ret long %B
}

to this:

test:
        save -96, %sp, %sp
        andn %i4, %i2, %i0
        andn %i5, %i3, %i1
        restore %g0, %g0, %g0
        retl
        nop

instead of this:

test:
        save -96, %sp, %sp
        xor %i2, -1, %l0
        xor %i3, -1, %l1
        and %i4, %l0, %i0
        and %i5, %l1, %i1
        restore %g0, %g0, %g0
        retl
        nop

The simpleisel emits:  :(

test:
        save -96, %sp, %sp
        or %g0, -1, %l0
        or %g0, -1, %l0
        or %g0, -1, %l0
        or %g0, -1, %l1
        xor %i2, %l0, %l0
        xor %i3, %l1, %l1
        and %i4, %l0, %i0
        and %i5, %l1, %i1
        restore %g0, %g0, %g0
        retl
        nop


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24793 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-17 21:05:49 +00:00
..
Analysis Collapsing node if variable length struct with final field of length zero 2005-12-06 18:04:30 +00:00
Archive Fix a problem with llvm-ranlib that (on some platforms) caused the archive 2005-11-30 05:21:10 +00:00
AsmParser
Bytecode Fix a problem with llvm-ranlib that (on some platforms) caused the archive 2005-11-30 05:21:10 +00:00
CodeGen X86 lowers SELECT to a cmp / test followed by a conditional move. 2005-12-17 01:21:05 +00:00
Debugger tell selectiondag when we're debugging 2005-11-16 07:21:47 +00:00
ExecutionEngine
Linker Adjust the constructor to the Linker class to take an argument that names 2005-12-13 20:00:37 +00:00
Support indicate when a tool is a debug build. 2005-11-16 06:36:47 +00:00
System instead of using mstats, use malloc_zone_statistics which returns numbers 2005-11-14 07:27:56 +00:00
Target add andn/orn/xorn patterns. This allows us to compile this: 2005-12-17 21:05:49 +00:00
Transforms Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefined 2005-12-14 17:23:59 +00:00
VMCore Add a flag to Module::getGlobalVariable to allow it to return vars with 2005-12-05 05:30:21 +00:00
Makefile