s390.md ("trunctddd2"): Use TDmode for the target of ldxtr.
authorAndreas Krebbel <krebbel1@de.ibm.com>
Thu, 12 Apr 2007 12:07:24 +0000 (12:07 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Thu, 12 Apr 2007 12:07:24 +0000 (12:07 +0000)
2007-04-12  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.md ("trunctddd2"): Use TDmode for the target of
ldxtr.

From-SVN: r123741

gcc/ChangeLog
gcc/config/s390/s390.md

index 7349b77..4af158b 100644 (file)
@@ -1,3 +1,8 @@
+2007-04-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of
+       ldxtr.
+
 2007-04-12  Douglas Gregor  <doug.gregor@gmail.com>
 
        PR c++/31078
index bfbb598..8642af7 100644 (file)
 
 (define_insn "trunctddd2"
   [(set (match_operand:DD 0 "register_operand" "=f")
-       (float_truncate:DD (match_operand:TD 1 "register_operand" "f")))]
+       (float_truncate:DD (match_operand:TD 1 "register_operand" "f")))
+   (clobber (match_scratch:TD 2 "=f"))]
   "TARGET_HARD_FLOAT && TARGET_HARD_DFP"
-  "ldxtr\t%0,0,%1,0"
-  [(set_attr "op_type" "RRF")
-   (set_attr "type"    "fsimptf")])
+  "ldxtr\t%2,0,%1,0\;ldr\t%0,%2"
+  [(set_attr "length"  "6")
+   (set_attr "type"    "ftrunctf")])
 
 (define_insn "truncddsd2"
   [(set (match_operand:SD 0 "register_operand" "=f")