diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48bf6152168e652a4d785046fb1ccf2823cfd05c..7d63a5bd6c1f8d3f5d06a077499235fe79c84f27 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-09-24  Alexandre Oliva  <aoliva@redhat.com>
+
+	* config/i386/i386.md (*tls_global_dynamic_64,
+	*tls_local_dynamic_base_64): Add missing mode to call.
+	(tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
+
 2005-09-24  Jan Hubicka  <jh@suse.cz>
 
 	* cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index c1d455a600fa691b258f1908142be7aff6488976..72f927c3a9be2634808a9db13858f024b18fbc03 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -14076,8 +14076,8 @@
 
 (define_insn "*tls_global_dynamic_64"
   [(set (match_operand:DI 0 "register_operand" "=a")
-	(call (mem:QI (match_operand:DI 2 "call_insn_operand" ""))
-		      (match_operand:DI 3 "" "")))
+	(call:DI (mem:QI (match_operand:DI 2 "call_insn_operand" ""))
+		 (match_operand:DI 3 "" "")))
    (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")]
 	      UNSPEC_TLS_GD)]
   "TARGET_64BIT"
@@ -14087,7 +14087,7 @@
 
 (define_expand "tls_global_dynamic_64"
   [(parallel [(set (match_operand:DI 0 "register_operand" "")
-		   (call (mem:QI (match_dup 2)) (const_int 0)))
+		   (call:DI (mem:QI (match_dup 2)) (const_int 0)))
 	      (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")]
 			 UNSPEC_TLS_GD)])]
   ""
@@ -14143,8 +14143,8 @@
 
 (define_insn "*tls_local_dynamic_base_64"
   [(set (match_operand:DI 0 "register_operand" "=a")
-	(call (mem:QI (match_operand:DI 1 "call_insn_operand" ""))
-		      (match_operand:DI 2 "" "")))
+	(call:DI (mem:QI (match_operand:DI 1 "call_insn_operand" ""))
+		 (match_operand:DI 2 "" "")))
    (unspec:DI [(const_int 0)] UNSPEC_TLS_LD_BASE)]
   "TARGET_64BIT"
   "lea{q}\t{%&@TLSLD(%%rip), %%rdi|%%rdi, %&@TLSLD[%%rip]}\;call\t%P1"
@@ -14153,7 +14153,7 @@
 
 (define_expand "tls_local_dynamic_base_64"
   [(parallel [(set (match_operand:DI 0 "register_operand" "")
-		   (call (mem:QI (match_dup 1)) (const_int 0)))
+		   (call:DI (mem:QI (match_dup 1)) (const_int 0)))
 	      (unspec:DI [(const_int 0)] UNSPEC_TLS_LD_BASE)])]
   ""
 {