summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCInstrAltivec.td
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-04 00:05:13 +0000
committerChris Lattner <sabre@nondot.org>2006-04-04 00:05:13 +0000
commit684ad7702f5196c2b1efd93aec4eb7283c3c24c6 (patch)
treed15cba5d18ebdd63ee30a91ea7787af5aac09ccd /lib/Target/PowerPC/PPCInstrAltivec.td
parentb68314480d693f2d431c9d1748f4c8c084f3e5f5 (diff)
downloadllvm-684ad7702f5196c2b1efd93aec4eb7283c3c24c6.tar.gz
llvm-684ad7702f5196c2b1efd93aec4eb7283c3c24c6.tar.bz2
llvm-684ad7702f5196c2b1efd93aec4eb7283c3c24c6.tar.xz
Plug in the byte and short splats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27387 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrAltivec.td')
-rw-r--r--lib/Target/PowerPC/PPCInstrAltivec.td6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/PPCInstrAltivec.td b/lib/Target/PowerPC/PPCInstrAltivec.td
index 9d559b3665..bef06939ea 100644
--- a/lib/Target/PowerPC/PPCInstrAltivec.td
+++ b/lib/Target/PowerPC/PPCInstrAltivec.td
@@ -293,10 +293,12 @@ def VSLW : VX1_Int< 388, "vslw", int_ppc_altivec_vslw>;
def VSPLTB : VXForm_1<524, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
"vspltb $vD, $vB, $UIMM", VecPerm,
- []>;
+ [(set VRRC:$vD, (vector_shuffle (v16i8 VRRC:$vB), (undef),
+ VSPLT_shuffle_mask:$UIMM))]>;
def VSPLTH : VXForm_1<588, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
"vsplth $vD, $vB, $UIMM", VecPerm,
- []>;
+ [(set VRRC:$vD, (vector_shuffle (v8i16 VRRC:$vB), (undef),
+ VSPLT_shuffle_mask:$UIMM))]>;
def VSPLTW : VXForm_1<652, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
"vspltw $vD, $vB, $UIMM", VecPerm,
[(set VRRC:$vD, (vector_shuffle (v4f32 VRRC:$vB), (undef),