summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-20 06:35:37 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-20 06:35:37 +0000
commit892e7f8c6b5c57bc3b613ce45e9ebc74cbd1c02e (patch)
tree7bdf73468288831d4be85f913fdadd4300139dab
parentf2ed60da2fbe964cd6e6bdeba351b5e56e16bb18 (diff)
downloadppe42-gcc-892e7f8c6b5c57bc3b613ce45e9ebc74cbd1c02e.tar.gz
ppe42-gcc-892e7f8c6b5c57bc3b613ce45e9ebc74cbd1c02e.zip
PR target/19427
* config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth shufps elements. (ix86_expand_vector_extract): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93946 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c8
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e3d1f0d82e2..ca86ebb3622 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2005-01-19 Richard Henderson <rth@redhat.com>
+ PR target/19427
+ * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
+ shufps elements.
+ (ix86_expand_vector_extract): Likewise.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
PR middle-end/19304
* expr.c (emit_move_change_mode): New argument force; use
simplify_gen_subreg if true.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index cc3cf4b1657..800cd5264cf 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -16269,7 +16269,7 @@ ix86_expand_vector_set (bool mmx_ok, rtx target, rtx val, int elt)
/* op0 = A B X D */
emit_insn (gen_sse_shufps_1 (target, target, tmp,
GEN_INT (1), GEN_INT (0),
- GEN_INT (2), GEN_INT (3)));
+ GEN_INT (2+4), GEN_INT (3+4)));
return;
case 2:
@@ -16277,7 +16277,7 @@ ix86_expand_vector_set (bool mmx_ok, rtx target, rtx val, int elt)
ix86_expand_vector_set (false, target, val, 0);
emit_insn (gen_sse_shufps_1 (target, target, tmp,
GEN_INT (0), GEN_INT (1),
- GEN_INT (0), GEN_INT (3)));
+ GEN_INT (0+4), GEN_INT (3+4)));
return;
case 3:
@@ -16285,7 +16285,7 @@ ix86_expand_vector_set (bool mmx_ok, rtx target, rtx val, int elt)
ix86_expand_vector_set (false, target, val, 0);
emit_insn (gen_sse_shufps_1 (target, target, tmp,
GEN_INT (0), GEN_INT (1),
- GEN_INT (2), GEN_INT (0)));
+ GEN_INT (2+4), GEN_INT (0+4)));
return;
default:
@@ -16395,7 +16395,7 @@ ix86_expand_vector_extract (bool mmx_ok, rtx target, rtx vec, int elt)
tmp = gen_reg_rtx (mode);
emit_insn (gen_sse_shufps_1 (tmp, vec, vec,
GEN_INT (elt), GEN_INT (elt),
- GEN_INT (elt), GEN_INT (elt)));
+ GEN_INT (elt+4), GEN_INT (elt+4)));
break;
case 2:
OpenPOWER on IntegriCloud