diff options
author | Scott Michel <scottm@aero.org> | 2008-11-24 17:11:17 +0000 |
---|---|---|
committer | Scott Michel <scottm@aero.org> | 2008-11-24 17:11:17 +0000 |
commit | 104de4390b9bb0030ae81408c3d173ed6053378d (patch) | |
tree | d3fdeef9e8982402dd66b320d39f6ca7f450a8b4 /lib/Target/CellSPU/SPUISelLowering.h | |
parent | fd9ddc066e4ad42b62cd5bf41871c3927c17d0f4 (diff) | |
download | llvm-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.h | 5 |
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 |