diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/s390/s390.md | 9 |
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") |
