Better implementation of truncate. ISel matches it to a pseudo instruction
authorEvan Cheng <evan.cheng@apple.com>
Fri, 5 May 2006 05:40:20 +0000 (05:40 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 5 May 2006 05:40:20 +0000 (05:40 +0000)
commit8f7f7125e95e4fce29a4b8acbc88f708e7fae42f
tree58b00b6d6d5312528fe864094a62dec26efad595
parent55c63257f31e2fa0b4a606f15d809cf615bc960c
Better implementation of truncate. ISel matches it to a pseudo instruction
that gets emitted as movl (for r32 to i16, i8) or a movw (for r16 to i8). And
if the destination gets allocated a subregister of the source operand, then
the instruction will not be emitted at all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28119 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ATTAsmPrinter.cpp
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86IntelAsmPrinter.cpp
lib/Target/X86/X86RegisterInfo.cpp
lib/Target/X86/X86RegisterInfo.h