diff -u gcc-4.4-4.4.4/debian/changelog gcc-4.4-4.4.4/debian/changelog
--- gcc-4.4-4.4.4/debian/changelog
+++ gcc-4.4-4.4.4/debian/changelog
@@ -1,3 +1,10 @@
+gcc-4.4 (4.4.4-4+powerpcspe4.6) unreleased; urgency=low
+
+  * Non-maintainer upload.
+  * Bugfix for GCC PR44606
+
+ -- David Kuehling <dvdkhlng@gmx.de>  Thu, 27 Jan 2011 17:26:01 +0000
+
 gcc-4.4 (4.4.4-4+powerpcspe4.5) unreleased; urgency=low
 
   * Updated bugfix for GCC PR target/44364
diff -u gcc-4.4-4.4.4/debian/rules.patch gcc-4.4-4.4.4/debian/rules.patch
--- gcc-4.4-4.4.4/debian/rules.patch
+++ gcc-4.4-4.4.4/debian/rules.patch
@@ -97,6 +97,7 @@
 	boehm_gc_nolwsync \
 	no_fpr_in_libgcc \
 	eieio_workaround \
+	pr44606
 
 # TODO: update ...
 #	libjava-rpath \
only in patch2:
unchanged:
--- gcc-4.4-4.4.4.orig/debian/patches/pr44606.diff
+++ gcc-4.4-4.4.4/debian/patches/pr44606.diff
@@ -0,0 +1,22 @@
+# DP: fix pr44606 powerpcspe register allocator bug; backported from GCC SVN r1683475
+
+--- a/src/gcc/reload1.c	2010/12/30 14:19:06	168346
++++ b/src/gcc/reload1.c	2010/12/30 15:47:43	168347
+@@ -6600,17 +6600,6 @@
+ 	      && (rld[r].nregs == max_group_size
+ 		  || ! reg_classes_intersect_p (rld[r].rclass, group_class)))
+ 	    search_equiv = rld[r].in;
+-	  /* If this is an output reload from a simple move insn, look
+-	     if an equivalence for the input is available.  */
+-	  else if (inheritance && rld[r].in == 0 && rld[r].out != 0)
+-	    {
+-	      rtx set = single_set (insn);
+-
+-	      if (set
+-		  && rtx_equal_p (rld[r].out, SET_DEST (set))
+-		  && CONSTANT_P (SET_SRC (set)))
+-		search_equiv = SET_SRC (set);
+-	    }
+ 
+ 	  if (search_equiv)
+ 	    {
