aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2011-08-05 18:06:09 +0200
committerUros Bizjak <uros@gcc.gnu.org>2011-08-05 18:06:09 +0200
commit42443bdbc84a6b144c84c96b6cc33b25558a9307 (patch)
tree511575b153f1e9a4e620f948befd6071cdf3b384
parent28d711bf640d069aff010c0ac91d6f60dbedefc8 (diff)
downloadgcc-42443bdbc84a6b144c84c96b6cc33b25558a9307.zip
gcc-42443bdbc84a6b144c84c96b6cc33b25558a9307.tar.gz
gcc-42443bdbc84a6b144c84c96b6cc33b25558a9307.tar.bz2
i386.md (*movdi_internal_rex64): Use "!o" constraint instead of "!m" for operand 0, alternative 4.
2011-08-05 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (*movdi_internal_rex64): Use "!o" constraint instead of "!m" for operand 0, alternative 4. (*movdf_internal_rex64): Ditto for operand 0, alernative 6. From-SVN: r177463
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/i386/i386.md4
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d64ae8..1b5cd35 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -6,6 +6,9 @@
(*pushdf_rex64): New pattern, split out of *pushdf. Use "m"
constraint instead of "o" for opreand 1.
(*pushdf): Disable for TARGET_64BIT. Correct mode attribute.
+ (*movdi_internal_rex64): Use "!o" constraint instead of "!m" for
+ operand 0, alternative 4.
+ (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
2011-08-05 Uros Bizjak <ubizjak@gmail.com>
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index c3e74e5..1bea9ee 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1982,7 +1982,7 @@
(define_insn "*movdi_internal_rex64"
[(set (match_operand:DI 0 "nonimmediate_operand"
- "=r,r ,r,m ,!m,*y,m*y,?*y,?r ,?*Ym,*x,m ,*x,*x,?r ,?*Yi,?*x,?*Ym")
+ "=r,r ,r,m ,!o,*y,m*y,?*y,?r ,?*Ym,*x,m ,*x,*x,?r ,?*Yi,?*x,?*Ym")
(match_operand:DI 1 "general_operand"
"Z ,rem,i,re,n ,C ,*y ,m ,*Ym,r ,C ,*x,*x,m ,*Yi,r ,*Ym,*x"))]
"TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
@@ -2934,7 +2934,7 @@
(define_insn "*movdf_internal_rex64"
[(set (match_operand:DF 0 "nonimmediate_operand"
- "=f,m,f,?r,?m,?r,!m,Y2*x,Y2*x,Y2*x,m ,Yi,r ")
+ "=f,m,f,?r,?m,?r,!o,Y2*x,Y2*x,Y2*x,m ,Yi,r ")
(match_operand:DF 1 "general_operand"
"fm,f,G,rm,r ,F ,F ,C ,Y2*x,m ,Y2*x,r ,Yi"))]
"TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))