[X86][SSE] Sign extension for target vector sizes less than 128 bits (pt1)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 3 Jul 2015 07:51:01 +0000 (07:51 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 3 Jul 2015 07:51:01 +0000 (07:51 +0000)
commite3c6222c76543408d07c8ca274f0c4eb07780dcd
treea3d82727e8e5e37ba63d1766e5edaf3d7d223f5e
parent6890be345ea145d98dc3a048d3ed3fc1f354e214
[X86][SSE] Sign extension for target vector sizes less than 128 bits (pt1)

This patch adds support for sign extension for sub 128-bit vectors, such as to v2i32. It concatenates with UNDEF subvectors up to 128-bits, performs the sign extension (i.e. as v4i32) and then extracts the target subvector.

Patch 1/2 of D10589 - the second patch covers the conversion of v2i8/v2i16 to v2f64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241323 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-sext.ll