summaryrefslogtreecommitdiff
path: root/lib/Target/CellSPU/SPUISelLowering.h
diff options
context:
space:
mode:
authorScott Michel <scottm@aero.org>2008-11-24 17:11:17 +0000
committerScott Michel <scottm@aero.org>2008-11-24 17:11:17 +0000
commit104de4390b9bb0030ae81408c3d173ed6053378d (patch)
treed3fdeef9e8982402dd66b320d39f6ca7f450a8b4 /lib/Target/CellSPU/SPUISelLowering.h
parentfd9ddc066e4ad42b62cd5bf41871c3927c17d0f4 (diff)
downloadllvm-104de4390b9bb0030ae81408c3d173ed6053378d.tar.gz
llvm-104de4390b9bb0030ae81408c3d173ed6053378d.tar.bz2
llvm-104de4390b9bb0030ae81408c3d173ed6053378d.tar.xz
CellSPU:
(a) Improve the extract element code: there's no need to do gymnastics with rotates into the preferred slot if a shuffle will do the same thing. (b) Rename a couple of SPUISD pseudo-instructions for readability and better semantic correspondence. (c) Fix i64 sign/any/zero extension lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59965 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CellSPU/SPUISelLowering.h')
-rw-r--r--lib/Target/CellSPU/SPUISelLowering.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Target/CellSPU/SPUISelLowering.h b/lib/Target/CellSPU/SPUISelLowering.h
index d6fb3f8001..a252ee37a5 100644
--- a/lib/Target/CellSPU/SPUISelLowering.h
+++ b/lib/Target/CellSPU/SPUISelLowering.h
@@ -40,8 +40,8 @@ namespace llvm {
SHUFFLE_MASK, ///< Shuffle mask
CNTB, ///< Count leading ones in bytes
PROMOTE_SCALAR, ///< Promote scalar->vector
- EXTRACT_ELT0, ///< Extract element 0
- EXTRACT_ELT0_CHAINED, ///< Extract element 0, with chain
+ VEC2PREFSLOT, ///< Extract element 0
+ VEC2PREFSLOT_CHAINED, ///< Extract element 0, with chain
EXTRACT_I1_ZEXT, ///< Extract element 0 as i1, zero extend
EXTRACT_I1_SEXT, ///< Extract element 0 as i1, sign extend
EXTRACT_I8_ZEXT, ///< Extract element 0 as i8, zero extend
@@ -59,7 +59,6 @@ namespace llvm {
VEC_ROTR, ///< Vector rotate right
ROTQUAD_RZ_BYTES, ///< Rotate quad right, by bytes, zero fill
ROTQUAD_RZ_BITS, ///< Rotate quad right, by bits, zero fill
- ROTBYTES_RIGHT_S, ///< Vector rotate right, by bytes, sign fill
ROTBYTES_LEFT, ///< Rotate bytes (loads -> ROTQBYI)
ROTBYTES_LEFT_CHAINED, ///< Rotate bytes (loads -> ROTQBYI), with chain
ROTBYTES_LEFT_BITS, ///< Rotate bytes left by bit shift count