mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 14:10:41 +00:00
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27907 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
118af5f6d6
commit
879acefed5
@ -172,3 +172,21 @@ information in the constant folder, so we don't know the endianness of the
|
||||
target!
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
Consider this:
|
||||
|
||||
unsigned short swap_16(unsigned short v) { return (v>>8) | (v<<8); }
|
||||
|
||||
Compiled with the ppc backend:
|
||||
|
||||
_swap_16:
|
||||
slwi r2, r3, 8
|
||||
srwi r3, r3, 8
|
||||
or r2, r3, r2
|
||||
rlwinm r3, r2, 0, 16, 31
|
||||
blr
|
||||
|
||||
The rlwinm (an and by 65535) is dead. The dag combiner should propagate bits
|
||||
better than that to see this.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user