aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/s390/s390.md9
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7349b77..4af158b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index bfbb598..8642af7 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -3560,11 +3560,12 @@
(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")