summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/TransformInternals.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-18 05:12:10 +0000
committerChris Lattner <sabre@nondot.org>2005-09-18 05:12:10 +0000
commit27cb9dbd35eb1fd70df5548b5ab47205241dcaad (patch)
tree5fb9bf31657256da2c19018aa3bfc3d2f691e6e8 /llvm/lib/Transforms/TransformInternals.cpp
parent1813aabcf2c3e53e1b75f399c1f0f56387666314 (diff)
downloadbcm5719-llvm-27cb9dbd35eb1fd70df5548b5ab47205241dcaad.tar.gz
bcm5719-llvm-27cb9dbd35eb1fd70df5548b5ab47205241dcaad.zip
implement shift.ll:test25. This compiles:
struct S { unsigned int i : 6, j : 11, k : 15; } b; void plus3 (unsigned int x) { b.k += x; } to: _plus3: lis r2, ha16(L_b$non_lazy_ptr) lwz r2, lo16(L_b$non_lazy_ptr)(r2) lwz r3, 0(r2) rlwinm r4, r3, 0, 0, 14 add r4, r4, r3 rlwimi r4, r3, 0, 15, 31 stw r4, 0(r2) blr instead of: _plus3: lis r2, ha16(L_b$non_lazy_ptr) lwz r2, lo16(L_b$non_lazy_ptr)(r2) lwz r4, 0(r2) srwi r5, r4, 17 add r3, r5, r3 slwi r3, r3, 17 rlwimi r3, r4, 0, 15, 31 stw r3, 0(r2) blr llvm-svn: 23381
Diffstat (limited to 'llvm/lib/Transforms/TransformInternals.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud