summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCISelLowering.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-06 18:26:28 +0000
committerChris Lattner <sabre@nondot.org>2006-04-06 18:26:28 +0000
commitd0608e191ff9c00af68985f246410c219d1bec57 (patch)
tree75f8f1a32964f188205efe6758c15a9cff938f20 /lib/Target/PowerPC/PPCISelLowering.h
parenteb2285b7ff5ca8037bb3f53a8394fdb759de1f34 (diff)
downloadllvm-d0608e191ff9c00af68985f246410c219d1bec57.tar.gz
llvm-d0608e191ff9c00af68985f246410c219d1bec57.tar.bz2
llvm-d0608e191ff9c00af68985f246410c219d1bec57.tar.xz
Support pattern matching vsldoi(x,y) and vsldoi(x,x), which allows the f.e. to
lower it and LLVM to have one fewer intrinsic. This implements CodeGen/PowerPC/vec_shuffle.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27450 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCISelLowering.h')
-rw-r--r--lib/Target/PowerPC/PPCISelLowering.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCISelLowering.h b/lib/Target/PowerPC/PPCISelLowering.h
index 4b59c2f5eb..77d85c2559 100644
--- a/lib/Target/PowerPC/PPCISelLowering.h
+++ b/lib/Target/PowerPC/PPCISelLowering.h
@@ -110,6 +110,14 @@ namespace llvm {
/// VPKUWUM instruction.
bool isVPKUWUMShuffleMask(SDNode *N);
+ /// isVSLDOIShuffleMask - If this is a vsldoi shuffle mask, return the shift
+ /// amount, otherwise return -1.
+ int isVSLDOIShuffleMask(SDNode *N);
+
+ /// isVSLDOIRotateShuffleMask - If this is a vsldoi rotate shuffle mask,
+ /// return the shift amount, otherwise return -1. This matches vsldoi(x,x).
+ int isVSLDOIRotateShuffleMask(SDNode *N);
+
/// isSplatShuffleMask - Return true if the specified VECTOR_SHUFFLE operand
/// specifies a splat of a single element that is suitable for input to
/// VSPLTB/VSPLTH/VSPLTW.