re PR target/19427 (gcc.c-torture/execute/simd-1.c compilation fails for i686 with -msse)

PR target/19427
        * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
        shufps elements.
        (ix86_expand_vector_extract): Likewise.

From-SVN: r93946
This commit is contained in:
Richard Henderson 2005-01-19 22:35:37 -08:00 committed by Richard Henderson
parent 539eaa3aaa
commit b100079f2f
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,10 @@
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

View File

@ -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: