aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2008-08-03 20:45:17 +0200
committerUros Bizjak <uros@gcc.gnu.org>2008-08-03 20:45:17 +0200
commitb7c9c5ab7f1a599429f439a5fdc0391630e0d67c (patch)
tree377aedd61f6db6beb6d80109aa639cbedcf86d89
parent2266066678883fb62e0b1eab42e06c5c8a267a48 (diff)
downloadgcc-b7c9c5ab7f1a599429f439a5fdc0391630e0d67c.zip
gcc-b7c9c5ab7f1a599429f439a5fdc0391630e0d67c.tar.gz
gcc-b7c9c5ab7f1a599429f439a5fdc0391630e0d67c.tar.bz2
mmx.md (*mov<mode>_internal_rex64): Use Yi instead of x to avoid inter-unit moves for !TARGET_INTER_UNIT_MOVES.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use Yi instead of x to avoid inter-unit moves for !TARGET_INTER_UNIT_MOVES. (*movv2sf_internal_rex64): Ditto. From-SVN: r138566
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/mmx.md8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index efb5505..b3bdb04 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/mmx.md (*mov<mode>_internal_rex64): Use Yi instead of x
+ to avoid inter-unit moves for !TARGET_INTER_UNIT_MOVES.
+ (*movv2sf_internal_rex64): Ditto.
+
2008-08-03 Jan Hubicka <jh@suse.cz>
* optabs.c (expand_binop, expand_builtin_pow, expand_builtin_powi,
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index ca09587..8e77a30 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -65,9 +65,9 @@
(define_insn "*mov<mode>_internal_rex64"
[(set (match_operand:MMXMODEI8 0 "nonimmediate_operand"
- "=rm,r,!?y,!?y ,m ,!y,*Y2,x,x ,m,r,x")
+ "=rm,r,!?y,!?y ,m ,!y,*Y2,x,x ,m,r,Yi")
(match_operand:MMXMODEI8 1 "vector_move_operand"
- "Cr ,m,C ,!?ym,!?y,*Y2,!y,C,xm,x,x,r"))]
+ "Cr ,m,C ,!?ym,!?y,*Y2,!y,C,xm,x,Yi,r"))]
"TARGET_64BIT && TARGET_MMX
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@
@@ -124,9 +124,9 @@
(define_insn "*movv2sf_internal_rex64"
[(set (match_operand:V2SF 0 "nonimmediate_operand"
- "=rm,r ,!?y,!?y ,m ,!y,*Y2,x,x,x,m,r,x")
+ "=rm,r ,!?y,!?y ,m ,!y,*Y2,x,x,x,m,r,Yi")
(match_operand:V2SF 1 "vector_move_operand"
- "Cr ,m ,C ,!?ym,!y,*Y2,!y,C,x,m,x,x,r"))]
+ "Cr ,m ,C ,!?ym,!y,*Y2,!y,C,x,m,x,Yi,r"))]
"TARGET_64BIT && TARGET_MMX
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@