llvm/lib
Chris Lattner 95a5e0507e SIGN_EXTEND_INREG does not demand its top bits. Give SimplifyDemandedBits
a chance to hack on it.  This compiles:

int baz(long long a) { return (short)(((int)(a >>24)) >> 9); }

into:
_baz:
        slwi r2, r3, 8
        srwi r2, r2, 9
        extsh r3, r2
        blr

instead of:

_baz:
        srwi r2, r4, 24
        rlwimi r2, r3, 8, 0, 23
        srwi r2, r2, 9
        extsh r3, r2
        blr

This implements CodeGen/PowerPC/sign_ext_inreg1.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36212 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-17 19:03:21 +00:00
..
Analysis Remove use of Instruction::getNext 2007-04-17 17:52:45 +00:00
Archive
AsmParser Regenerate 2007-04-16 22:02:23 +00:00
Bytecode Make long line fit in 80 cols. 2007-04-16 23:32:28 +00:00
CodeGen SIGN_EXTEND_INREG does not demand its top bits. Give SimplifyDemandedBits 2007-04-17 19:03:21 +00:00
Debugger
ExecutionEngine eliminate use of Instruction::getPrev(). Patch by Gabor Greif in 2005. 2007-04-17 17:38:28 +00:00
Linker Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
Support Fix PR1329. 2007-04-14 21:50:21 +00:00
System
Target add a note 2007-04-17 18:03:00 +00:00
Transforms Spell doFinalization right, so that it is a proper virtual override and 2007-04-17 18:21:36 +00:00
VMCore eliminate a use of Instruction::getPrev(), patch by Gabor Greif in 2005. 2007-04-17 17:36:12 +00:00
Makefile