diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 33ea3abd478afafa08a1dd87a53a79fabbd9eb9e..62702d06fed841a33ab4bd8a8a537665e38614bf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* config/h8300/h8300.c (compute_mov_length): Correct the
+	length of loading CONST0_RTX (SFmode).
+
 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* toplev.c (output_clean_symbol_name): Remove.
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index da0cd3f5b5e2ff734b47acc76e2b6dccbf7cfa14..0a794da855ad4b3b81154771e98c01188c3ed43f 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -1893,6 +1893,9 @@ compute_mov_length (rtx *operands)
 	      if (REG_P (src))
 		return 4;
 
+	      if (CONST_DOUBLE_OK_FOR_LETTER_P (src, 'G'))
+		return 4;
+
 	      return 8;
 	    }
 
@@ -2012,6 +2015,7 @@ compute_mov_length (rtx *operands)
 
 	      if (CONST_DOUBLE_OK_FOR_LETTER_P (src, 'G'))
 		return 2;
+
 	      return 6;
 	    }