[X86][MMX] Handle i32->mmx conversion using movd
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 5 Feb 2015 13:23:07 +0000 (13:23 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 5 Feb 2015 13:23:07 +0000 (13:23 +0000)
commit04715c9915c0c71871887aae8c64ebc477bab955
treeca27553eb65cc832b46a7f2b509daf140f494f3f
parentd4299719afb4da491074ad9fcf5e8f73b8751fdb
[X86][MMX] Handle i32->mmx conversion using movd

Implement a BITCAST dag combine to transform i32->mmx conversion patterns
into a X86 specific node (MMX_MOVW2D) and guarantee that moves between
i32 and x86mmx are better handled, i.e., don't use store-load to do the
conversion..

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228293 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrMMX.td
test/CodeGen/X86/bitcast-mmx.ll
test/CodeGen/X86/vec_extract-mmx.ll