aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/CellSPU/SPUInstrInfo.td
diff options
context:
space:
mode:
authorScott Michel <scottm@aero.org>2008-12-04 21:01:44 +0000
committerScott Michel <scottm@aero.org>2008-12-04 21:01:44 +0000
commite2641a1721cd4cb21b3d247c986159a266f8b8ca (patch)
treee22bd5a13cb529b7f4fed5e5219a461399ff2d34 /lib/Target/CellSPU/SPUInstrInfo.td
parent760997765ebcc690c5db3e0f0258f7ff19855b1d (diff)
downloadexternal_llvm-e2641a1721cd4cb21b3d247c986159a266f8b8ca.zip
external_llvm-e2641a1721cd4cb21b3d247c986159a266f8b8ca.tar.gz
external_llvm-e2641a1721cd4cb21b3d247c986159a266f8b8ca.tar.bz2
CellSPU: Fix bug 3055
- Add v4f32, v2f64 to LowerVECTOR_SHUFFLE - Look for vector rotate in shuffle elements, generate a vector rotate instead of a full-blown shuffle when opportunity presents itself. - Generate larger test harness and fix a few interesting but obscure bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60552 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CellSPU/SPUInstrInfo.td')
-rw-r--r--lib/Target/CellSPU/SPUInstrInfo.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/CellSPU/SPUInstrInfo.td b/lib/Target/CellSPU/SPUInstrInfo.td
index 03f79d3..678f8e9 100644
--- a/lib/Target/CellSPU/SPUInstrInfo.td
+++ b/lib/Target/CellSPU/SPUInstrInfo.td
@@ -2124,7 +2124,9 @@ multiclass RotateQuadLeftByBytes
def v16i8: ROTQBYVecInst<v16i8>;
def v8i16: ROTQBYVecInst<v8i16>;
def v4i32: ROTQBYVecInst<v4i32>;
+ def v4f32: ROTQBYVecInst<v4f32>;
def v2i64: ROTQBYVecInst<v2i64>;
+ def v2f64: ROTQBYVecInst<v2f64>;
}
defm ROTQBY: RotateQuadLeftByBytes;
@@ -2147,7 +2149,9 @@ multiclass RotateQuadByBytesImm
def v16i8: ROTQBYIVecInst<v16i8>;
def v8i16: ROTQBYIVecInst<v8i16>;
def v4i32: ROTQBYIVecInst<v4i32>;
+ def v4f32: ROTQBYIVecInst<v4f32>;
def v2i64: ROTQBYIVecInst<v2i64>;
+ def vfi64: ROTQBYIVecInst<v2f64>;
}
defm ROTQBYI: RotateQuadByBytesImm;