aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2019-05-15 15:30:32 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2019-05-15 08:30:32 -0700
commite093d046bf0d4747fb69a45d46252413bda638dd (patch)
tree4063c39e889c52bfbe4c06494a8c96fa98281698 /gcc
parentebd3c067f0bddc09f93ccabe97642e3e80615b4a (diff)
downloadgcc-e093d046bf0d4747fb69a45d46252413bda638dd.zip
gcc-e093d046bf0d4747fb69a45d46252413bda638dd.tar.gz
gcc-e093d046bf0d4747fb69a45d46252413bda638dd.tar.bz2
i386: Allow MMXMODE moves with TARGET_MMX_WITH_SSE
PR target/89021 * config/i386/mmx.md (MMXMODE:mov<mode>): Also allow TARGET_MMX_WITH_SSE. (MMXMODE:*mov<mode>_internal): Likewise. (MMXMODE:movmisalign<mode>): Likewise. From-SVN: r271250
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/mmx.md6
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 206281d..a0664dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/89021
+ * config/i386/mmx.md (MMXMODE:mov<mode>): Also allow
+ TARGET_MMX_WITH_SSE.
+ (MMXMODE:*mov<mode>_internal): Likewise.
+ (MMXMODE:movmisalign<mode>): Likewise.
+
2019-05-15 Uroš Bizjak <ubizjak@gmail.com>
PR target/89021
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 8ffe4f7..95cc541 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -70,7 +70,7 @@
(define_expand "mov<mode>"
[(set (match_operand:MMXMODE 0 "nonimmediate_operand")
(match_operand:MMXMODE 1 "nonimmediate_operand"))]
- "TARGET_MMX"
+ "TARGET_MMX || TARGET_MMX_WITH_SSE"
{
ix86_expand_vector_move (<MODE>mode, operands);
DONE;
@@ -81,7 +81,7 @@
"=r ,o ,r,r ,m ,?!y,!y,?!y,m ,r ,?!y,v,v,v,m,r,v,!y,*x")
(match_operand:MMXMODE 1 "nonimm_or_0_operand"
"rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!y,r ,C,v,m,v,v,r,*x,!y"))]
- "TARGET_MMX
+ "(TARGET_MMX || TARGET_MMX_WITH_SSE)
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))"
{
switch (get_attr_type (insn))
@@ -232,7 +232,7 @@
(define_expand "movmisalign<mode>"
[(set (match_operand:MMXMODE 0 "nonimmediate_operand")
(match_operand:MMXMODE 1 "nonimmediate_operand"))]
- "TARGET_MMX"
+ "TARGET_MMX || TARGET_MMX_WITH_SSE"
{
ix86_expand_vector_move (<MODE>mode, operands);
DONE;