diff options
author | David Greene <greened@obbligato.org> | 2011-02-04 16:08:29 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2011-02-04 16:08:29 +0000 |
commit | ccacdc1952d022108d51b1c8270eb85b2b862c9d (patch) | |
tree | 8cda14adfaf06b748f255c801439a5080c7156a3 /lib/Target/X86/X86ISelLowering.h | |
parent | 6d600da7346bf898cfbe8f6030051f10d157fcd4 (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.h | 10 |
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); |