aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-06-11 14:47:04 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-06-11 14:47:04 +0000
commitdf14489af1373b2358e19cee33a5d80d8730c1a1 (patch)
treec251a0412881bb1d6a273097554b36b9b1a08472
parente9024f7f3822c6e620da3a4629e389083c5287b6 (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/s390.md12
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