diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-02-28 06:35:35 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-02-28 06:35:35 +0000 |
| commit | 15045b6973bfe7a5adda8c0fb53bb1b0cdc06b8d (patch) | |
| tree | 2ed0170d05d3187715e94467bed3460c3c05e250 /utils/TableGen/CodeGenTarget.cpp | |
| parent | 71d9ebcbc1c74848372e11c96989ede974b2366d (diff) | |
Fold "and (LOAD P), 255" -> zextload. This allows us to compile:
unsigned foo3(unsigned *P) { return *P & 255; }
as:
_foo3:
lbz r3, 3(r3)
blr
instead of:
_foo3:
lwz r2, 0(r3)
rlwinm r3, r2, 0, 24, 31
blr
and:
unsigned short foo2(float a) { return a; }
as:
_foo2:
fctiwz f0, f1
stfd f0, -8(r1)
lhz r3, -2(r1)
blr
instead of:
_foo2:
fctiwz f0, f1
stfd f0, -8(r1)
lwz r2, -4(r1)
rlwinm r3, r2, 0, 16, 31
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26417 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenTarget.cpp')
0 files changed, 0 insertions, 0 deletions
