diff options
author | Chris Lattner <sabre@nondot.org> | 2005-04-11 20:29:59 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-04-11 20:29:59 +0000 |
commit | bd0781ed12dd817f760065e3ac2dcff12fb29440 (patch) | |
tree | 960d8d6077fa9bb9b6aad9460a9d9f4db7132937 /lib/Target/PowerPC/PPCISelPattern.cpp | |
parent | ee27f57a6a4dd7fa9259b3604f563907da1f65ef (diff) |
Teach the dag mechanism that this:
long long test2(unsigned A, unsigned B) {
return ((unsigned long long)A << 32) + B;
}
is equivalent to this:
long long test1(unsigned A, unsigned B) {
return ((unsigned long long)A << 32) | B;
}
Now they are both codegen'd to this on ppc:
_test2:
blr
or this on x86:
test2:
movl 4(%esp), %edx
movl 8(%esp), %eax
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21231 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCISelPattern.cpp')
0 files changed, 0 insertions, 0 deletions