diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc3390cc6e386b0d9d9d2a5e6ad541291be549e7..87a6c571990c9e78737bb244045e57f343c296d5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-09  Edmar Wienskoski  <edmar@freescale.com>
+
+	PR target/44067
+	* config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
+	e500v2 target.
+
 2010-06-09  Joern Rennecke  <joern.rennecke@embecosm.com>
 
 	PR plugins/44459:
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 3106648c81c756b4af203d8305d1e6d2bf7a5a7f..9cfa74f369048e042f3b3882215dd13464d3518d 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -218,7 +218,8 @@
   (TD "TARGET_DFP")])
 
 ; These modes do not fit in integer registers in 32-bit mode.
-(define_mode_iterator DIFD [DI DF DD])
+; but on e500v2, the gpr are 64 bit registers
+(define_mode_iterator DIFD [DI (DF "!TARGET_E500_DOUBLE") DD])
 
 ;; Iterator for reciprocal estimate instructions
 (define_mode_iterator RECIPF [SF DF V4SF V2DF])