aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-10-28 05:09:42 +0000
committerDavid S. Miller <davem@gcc.gnu.org>2011-10-27 22:09:42 -0700
commit0a940828f6dce12ae6e9b3e5c7317c086682974d (patch)
treedc8e934e9356347a8f7a9de1710b091a06e3b79c
parent26689420afc4cbc1d22e7e4ba09ee80b1bf7d5f4 (diff)
downloadgcc-0a940828f6dce12ae6e9b3e5c7317c086682974d.zip
gcc-0a940828f6dce12ae6e9b3e5c7317c086682974d.tar.gz
gcc-0a940828f6dce12ae6e9b3e5c7317c086682974d.tar.bz2
Fix constraint on 64-bit VIS3 vector moves.
* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f' constraint. From-SVN: r180601
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/sparc/sparc.md4
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 54e059e..2d864d8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2011-10-27 David S. Miller <davem@davemloft.net>
+ * config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
+ constraint.
+
* regcprop.c (copyprop_hardreg_forward_1): Reject the
transformation when we narrow the mode on big endian.
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 2b4b2bb..dcd23a1 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -7686,8 +7686,8 @@
(set_attr "cpu_feature" "vis,vis,vis,*,*,*,*,*,*,vis3,vis3")])
(define_insn "*mov<VM64:mode>_insn_sp64"
- [(set (match_operand:VM64 0 "nonimmediate_operand" "=e,e,e,e,m,m,*r, m,*r, f,*r")
- (match_operand:VM64 1 "input_operand" "Y,C,e,m,e,Y, m,*r, f,*r,*r"))]
+ [(set (match_operand:VM64 0 "nonimmediate_operand" "=e,e,e,e,m,m,*r, m,*r, e,*r")
+ (match_operand:VM64 1 "input_operand" "Y,C,e,m,e,Y, m,*r, e,*r,*r"))]
"TARGET_VIS
&& TARGET_ARCH64
&& (register_operand (operands[0], <VM64:MODE>mode)