This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix target/19427


Blah.  Think-o in changing over to the new definition of shufps.

Tested on i686-linux with --with-arch=pentium{3,4} and with no
extra option.


r~


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

Index: gcc/config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.781
diff -u -p -d -r1.781 i386.c
--- gcc/config/i386/i386.c	18 Jan 2005 14:13:09 -0000	1.781
+++ gcc/config/i386/i386.c	20 Jan 2005 06:32:26 -0000
@@ -16269,7 +16301,7 @@ ix86_expand_vector_set (bool mmx_ok, rtx
 	  /* 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 +16309,7 @@ ix86_expand_vector_set (bool mmx_ok, rtx
 	  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 +16317,7 @@ ix86_expand_vector_set (bool mmx_ok, rtx
 	  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 +16427,7 @@ ix86_expand_vector_extract (bool mmx_ok,
 	  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:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]