diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e57e05783de480c0ad76589e6829ac6764ea7ffd..125db40a8173eea5cd54fd189ec158a746b19384 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand
+	as the source of the set.
+
 2007-06-25  Roman Zippel <zippel@linux-m68k.org>
 
 	* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P,
diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md
index 94e8528ab08a08bae1254454f102863c466c00fc..58d401fb3c1bea51debc8fe3699359a52b23f48e 100644
--- a/gcc/config/rs6000/spe.md
+++ b/gcc/config/rs6000/spe.md
@@ -2319,7 +2319,7 @@
 
 (define_insn "*frob_ti_tf_2"
   [(set (subreg:TF (match_operand:TI 0 "gpc_reg_operand" "=&r") 0)
-	(match_operand:TF 1 "gpc_reg_operand" "r"))]
+	(match_operand:TF 1 "input_operand" "r"))]
   "TARGET_E500_DOUBLE"
   "evmergehi %0,%1,%1\;mr %L0,%1\;evmergehi %Y0,%L1,%L1\;mr %Z0,%L1"
   [(set_attr "length" "16")])