aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Archive/Archive.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-08-30 02:44:00 +0000
committerNate Begeman <natebegeman@mac.com>2005-08-30 02:44:00 +0000
commit56eb86806d5d178d42108f17d11098b3e640b996 (patch)
treece499a104202367c0aa0162fc12305d36a9c0215 /lib/Bytecode/Archive/Archive.cpp
parentf7f3d321916c1ef3a82b2a175a368a148b1ede46 (diff)
Add support for AssertSext and AssertZext, folding other extensions with
them. This allows for elminination of redundant extends in the entry blocks of functions on PowerPC. Add support for i32 x i32 -> i64 multiplies, by recognizing when the inputs to ISD::MUL in ExpandOp are actually just extended i32 values and not real i64 values. this allows us to codegen int mulhs(int a, int b) { return ((long long)a * b) >> 32; } as: _mulhs: mulhw r3, r4, r3 blr instead of: _mulhs: mulhwu r2, r4, r3 srawi r5, r3, 31 mullw r5, r4, r5 add r2, r2, r5 srawi r4, r4, 31 mullw r3, r4, r3 add r3, r2, r3 blr with a similar improvement on x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23147 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Archive/Archive.cpp')
0 files changed, 0 insertions, 0 deletions