aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86ISelLowering.h
diff options
context:
space:
mode:
authorDavid Greene <greened@obbligato.org>2011-02-04 16:08:29 +0000
committerDavid Greene <greened@obbligato.org>2011-02-04 16:08:29 +0000
commitccacdc1952d022108d51b1c8270eb85b2b862c9d (patch)
tree8cda14adfaf06b748f255c801439a5080c7156a3 /lib/Target/X86/X86ISelLowering.h
parent6d600da7346bf898cfbe8f6030051f10d157fcd4 (diff)
[AVX] Support VSINSERTF128 with more patterns and appropriate
infrastructure. This makes lowering 256-bit vectors to 128-bit vectors simple when 256-bit vector support is not available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124868 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86ISelLowering.h')
-rw-r--r--lib/Target/X86/X86ISelLowering.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.h b/lib/Target/X86/X86ISelLowering.h
index 29c2706218..419da3742c 100644
--- a/lib/Target/X86/X86ISelLowering.h
+++ b/lib/Target/X86/X86ISelLowering.h
@@ -413,6 +413,11 @@ namespace llvm {
/// suitable for input to VEXTRACTF128.
bool isVEXTRACTF128Index(SDNode *N);
+ /// isVINSERTF128Index - Return true if the specified
+ /// INSERT_SUBVECTOR operand specifies a subvector insert that is
+ /// suitable for input to VINSERTF128.
+ bool isVINSERTF128Index(SDNode *N);
+
/// getShuffleSHUFImmediate - Return the appropriate immediate to shuffle
/// the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUF* and SHUFP*
/// instructions.
@@ -435,6 +440,11 @@ namespace llvm {
/// with VEXTRACTF128 instructions.
unsigned getExtractVEXTRACTF128Immediate(SDNode *N);
+ /// getInsertVINSERTF128Immediate - Return the appropriate
+ /// immediate to insert at the specified INSERT_SUBVECTOR index
+ /// with VINSERTF128 instructions.
+ unsigned getInsertVINSERTF128Immediate(SDNode *N);
+
/// isZeroNode - Returns true if Elt is a constant zero or a floating point
/// constant +0.0.
bool isZeroNode(SDValue Elt);