- Handle special scalar_to_vector case: splats. Using a native 128-bit
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 25 Jul 2011 23:05:25 +0000 (23:05 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 25 Jul 2011 23:05:25 +0000 (23:05 +0000)
commit6a32adc4e5e9aae2c6d5d2192ae0c0a01858d8c2
tree314f2ab65e0bb44b895fb0945b16a794cccc1f2d
parent233fa392453158a41c567b2e445f503d3553b2af
- Handle special scalar_to_vector case: splats. Using a native 128-bit
shuffle before inserting on a 256-bit vector.
- Add AVX versions of movd/movq instructions
- Introduce a few COPY patterns to match insert_subvector instructions.
This turns a trivial insert_subvector instruction into a register copy,
coalescing the xmm into a ymm and avoid emiting on more instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136002 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrFormats.td
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx-256-splat.ll
test/CodeGen/X86/avx-256.ll