diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2002-06-11 14:47:04 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2002-06-11 14:47:04 +0000 |
commit | df14489af1373b2358e19cee33a5d80d8730c1a1 (patch) | |
tree | c251a0412881bb1d6a273097554b36b9b1a08472 /gcc | |
parent | e9024f7f3822c6e620da3a4629e389083c5287b6 (diff) | |
download | gcc-df14489af1373b2358e19cee33a5d80d8730c1a1.zip gcc-df14489af1373b2358e19cee33a5d80d8730c1a1.tar.gz gcc-df14489af1373b2358e19cee33a5d80d8730c1a1.tar.bz2 |
s390.md (movsi): Only use floating point register alternatives when operands are already fprs.
* config/s390/s390.md (movsi): Only use floating point
register alternatives when operands are already fprs.
(movdi_31, movdi_64): Likewise.
From-SVN: r54506
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc8dd0e..3b84101 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-06-11 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.md (movsi): Only use floating point + register alternatives when operands are already fprs. + (movdi_31, movdi_64): Likewise. + 2002-06-11 David S. Miller <davem@redhat.com> * emit-rtl.c (try_split): Do not abort on non-INSN_P. diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index f9a1d7b..cbec795 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -947,8 +947,8 @@ (set_attr "atype" "mem")]) (define_insn "*movdi_64" - [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,m,f,f,m") - (match_operand:DI 1 "general_operand" "d,m,d,f,m,f"))] + [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,m,!*f,!*f,!m") + (match_operand:DI 1 "general_operand" "d,m,d,*f,m,*f"))] "TARGET_64BIT" "@ lgr\\t%0,%1 @@ -961,8 +961,8 @@ (set_attr "atype" "reg,mem,mem,reg,mem,mem")]) (define_insn "*movdi_31" - [(set (match_operand:DI 0 "nonimmediate_operand" "=d,Q,d,m,f,f,m") - (match_operand:DI 1 "general_operand" "Q,d,dKm,d,f,m,f"))] + [(set (match_operand:DI 0 "nonimmediate_operand" "=d,Q,d,m,!*f,!*f,!m") + (match_operand:DI 1 "general_operand" "Q,d,dKm,d,*f,m,*f"))] "!TARGET_64BIT" "@ lm\\t%0,%N0,%1 @@ -1100,8 +1100,8 @@ (set_attr "atype" "mem")]) (define_insn "*movsi" - [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,m,f,f,m") - (match_operand:SI 1 "general_operand" "d,m,d,f,m,f"))] + [(set (match_operand:SI 0 "nonimmediate_operand" "=d,d,m,!*f,!*f,!m") + (match_operand:SI 1 "general_operand" "d,m,d,*f,m,*f"))] "" "@ lr\\t%0,%1 |