diff options
author | Eliot Dresselhaus <eliot@sonic.net> | 2006-07-14 17:44:27 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2006-07-14 13:44:27 -0400 |
commit | 27714d4372fb987b0680ebf509833b2dea5126fe (patch) | |
tree | e7bd2e58c9b50fd655026e21606026b05fe18918 | |
parent | 8d6bd4a7917e33c6deabe809f98d31410c6848f9 (diff) | |
download | gcc-27714d4372fb987b0680ebf509833b2dea5126fe.zip gcc-27714d4372fb987b0680ebf509833b2dea5126fe.tar.gz gcc-27714d4372fb987b0680ebf509833b2dea5126fe.tar.bz2 |
re PR target/27287 (returning constant double)
2006-07-14 Eliot Dresselhaus <eliot@sonic.net>
PR target/27287
* config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
From-SVN: r115451
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/spe.md | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4cdb0ac..c2abdff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-07-14 Eliot Dresselhaus <eliot@sonic.net> + + PR target/27287 + * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative. + 2006-07-14 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md index 8e636f8..930c48a 100644 --- a/gcc/config/rs6000/spe.md +++ b/gcc/config/rs6000/spe.md @@ -2211,11 +2211,13 @@ [(set_attr "length" "8")]) (define_insn "*frob_di_df_2" - [(set (subreg:DF (match_operand:DI 0 "register_operand" "=&r") 0) - (match_operand:DF 1 "register_operand" "r"))] + [(set (subreg:DF (match_operand:DI 0 "register_operand" "=&r,r") 0) + (match_operand:DF 1 "input_operand" "r,m"))] "TARGET_E500_DOUBLE" - "evmergehi %H0,%1,%1\;evmergelo %L0,%1,%1" - [(set_attr "length" "8")]) + "@ + evmergehi %H0,%1,%1\;evmergelo %L0,%1,%1 + evldd%X1 %0,%y1" + [(set_attr "length" "8,4")]) (define_insn "*mov_sidf_e500_subreg0" [(set (subreg:SI (match_operand:DF 0 "register_operand" "+r") 0) |