diff options
author | Chris Lattner <sabre@nondot.org> | 2006-04-06 18:26:28 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-04-06 18:26:28 +0000 |
commit | d0608e191ff9c00af68985f246410c219d1bec57 (patch) | |
tree | 75f8f1a32964f188205efe6758c15a9cff938f20 /lib/Target/PowerPC/PPCISelLowering.h | |
parent | eb2285b7ff5ca8037bb3f53a8394fdb759de1f34 (diff) | |
download | llvm-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.h | 8 |
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. |