diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-12-14 19:05:06 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-12-14 19:05:06 +0000 |
| commit | 7dac1083dabdd14dd8a582afa7a34dacc978a818 (patch) | |
| tree | 52bdd303ac1094566ea5a5eece89ebe96c9f7902 /llvm/lib/Target/TargetSubtarget.cpp | |
| parent | 8c9e14620f9e0ded5b089a6ee34bf865119319cf (diff) | |
| download | bcm5719-llvm-7dac1083dabdd14dd8a582afa7a34dacc978a818.tar.gz bcm5719-llvm-7dac1083dabdd14dd8a582afa7a34dacc978a818.zip | |
Fix the (zext (zextload)) case to trigger, similarly for sign extends.
Allow (zext (truncate)) to apply after legalize if the target supports
AND (which all do).
This compiles
short %foo() {
%tmp.0 = load ubyte* %X ; <ubyte> [#uses=1]
%tmp.3 = cast ubyte %tmp.0 to short ; <short> [#uses=1]
ret short %tmp.3
}
to:
_foo:
movzbl _X, %eax
ret
instead of:
_foo:
movzbl _X, %eax
movzbl %al, %eax
ret
thanks to Evan for pointing this out.
llvm-svn: 24709
Diffstat (limited to 'llvm/lib/Target/TargetSubtarget.cpp')
0 files changed, 0 insertions, 0 deletions

