diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e7d5e8bfd4498f3cb8b1773ae3005d904c0fb991..802f45c013ddf3261245d51d92c0cca025cd4237 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-26  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
+	modes.
+
 2004-08-26  Joseph S. Myers  <jsm@polyomino.org.uk>
 
 	PR c/13801
@@ -113,16 +118,16 @@
 
 2004-08-25  Richard Henderson  <rth@redhat.com>
 
-        PR target/16974
-        * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
-        if the constant satisfies add_operand.
+	PR target/16974
+	* config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
+	if the constant satisfies add_operand.
 
 2004-08-25  Richard Henderson  <rth@redhat.com>
  
-        PR debug/10695
-        * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
-        (alpha_expand_prologue): Handle >32-bit frames.  Generate proper
-        unwind info for >16-bit frames.
+	PR debug/10695
+	* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
+	(alpha_expand_prologue): Handle >32-bit frames.  Generate proper
+	unwind info for >16-bit frames.
 
 2004-08-25  Richard B. Kreckel  <richard.kreckel@framatome-anp.com>
 
@@ -131,8 +136,8 @@
 
 2004-08-25  Richard Henderson  <rth@redhat.com>
 
-        * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
-        (TARGET_CANNOT_FORCE_CONST_MEM): New.
+	* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
+	(TARGET_CANNOT_FORCE_CONST_MEM): New.
 
 2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
 
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index fd2754bd05af8701fac27236f8a454b60110d753..3acecb8e5740e4772e345f7967616c6ac95a8c13 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -647,6 +647,7 @@ extern const char *alpha_tls_size_string; /* For -mtls-size= */
 #define HARD_REGNO_MODE_OK(REGNO, MODE) 				\
   ((REGNO) >= 32 && (REGNO) <= 62 					\
    ? (MODE) == SFmode || (MODE) == DFmode || (MODE) == DImode		\
+     || (MODE) == SCmode || (MODE) == DCmode				\
    : 1)
 
 /* A C expression that is nonzero if a value of mode