diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8eaa5115c0f65694191a4c0cd1358646389564c4..97a358d3e56b3e95f2043c4b0598289e9200249f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2008-05-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF
+	after V4SI_FTYPE_V8HI.
+	(ix86_init_mmx_sse_builtins): Move case V4HI_FTYPE_V4HI after
+	case V4SI_FTYPE_V2DF.
+
 2008-05-03  Kenneth Zadeck <zadeck@naturalbridge.com>
 
 	* doc/invoke.texi (max-flow-memory-locations): Removed.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index d9fc4bd694bdef7300966686c4cc2aaf5ae50da1..d19b91de0847dea83e60684b07f732c687640844 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -18023,8 +18023,8 @@ enum ix86_builtin_type
   V8QI_FTYPE_V8QI,
   V4SI_FTYPE_V4SI,
   V4SI_FTYPE_V16QI,
-  V4SI_FTYPE_V4SF,
   V4SI_FTYPE_V8HI,
+  V4SI_FTYPE_V4SF,
   V4SI_FTYPE_V2DF,
   V4HI_FTYPE_V4HI,
   V4SF_FTYPE_V4SF,
@@ -19599,15 +19599,15 @@ ix86_init_mmx_sse_builtins (void)
 	case V4SI_FTYPE_V8HI:
 	  type = v4si_ftype_v8hi;
 	  break;
-	case V4HI_FTYPE_V4HI:
-	  type = v4hi_ftype_v4hi;
-	  break;
 	case V4SI_FTYPE_V4SF:
 	  type = v4si_ftype_v4sf;
 	  break;
 	case V4SI_FTYPE_V2DF:
 	  type = v4si_ftype_v2df;
 	  break;
+	case V4HI_FTYPE_V4HI:
+	  type = v4hi_ftype_v4hi;
+	  break;
 	case V4SF_FTYPE_V4SF:
 	case V4SF_FTYPE_V4SF_VEC_MERGE:
 	  type = v4sf_ftype_v4sf;