aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2007-05-28 14:17:42 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-05-28 14:17:42 +0200
commite9dd4c3e048450ef944455cd1e9440bee024d0f8 (patch)
tree9e71824a6f8fff8b20bed9ad39cbe614d6d3e834
parentae5dd5f579538ba4f64f628b716019e01f887f2c (diff)
downloadgcc-e9dd4c3e048450ef944455cd1e9440bee024d0f8.zip
gcc-e9dd4c3e048450ef944455cd1e9440bee024d0f8.tar.gz
gcc-e9dd4c3e048450ef944455cd1e9440bee024d0f8.tar.bz2
i386.c (ix86_expand_vector_move): Expand unaligned memory access via x86_expand_vector_move_misalign() only for...
* target/i386/i386.c (ix86_expand_vector_move): Expand unaligned memory access via x86_expand_vector_move_misalign() only for TImode values on 32-bit targets. From-SVN: r125129
-rw-r--r--gcc/ChangeLog22
-rw-r--r--gcc/config/i386/i386.c2
2 files changed, 15 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f19afe..355293d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,13 +1,19 @@
+2007-05-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * target/i386/i386.c (ix86_expand_vector_move): Expand unaligned
+ memory access via x86_expand_vector_move_misalign() only for
+ TImode values on 32-bit targets.
+
2007-05-28 Razya Ladelsky <razya@il.ibm.com>
- * matrix-reorg.c: New file. Implement matrix flattening and transposing
- optimization.
- * tree-pass.h: Add matrix reorg pass.
- * common.opt: Add fipa-mreorg flag.
- * Makefile.in: Add matrix-reorg.c.
- * passes.c: Add matrix reorg pass.
- * varpool.c (add_new_static_var): New function.
- * cgraph.h (add_new_static_var): Declare.
+ * matrix-reorg.c: New file. Implement matrix flattening and
+ transposing optimization.
+ * tree-pass.h: Add matrix reorg pass.
+ * common.opt: Add fipa-mreorg flag.
+ * Makefile.in: Add matrix-reorg.c.
+ * passes.c: Add matrix reorg pass.
+ * varpool.c (add_new_static_var): New function.
+ * cgraph.h (add_new_static_var): Declare.
2007-05-27 Eric Christopher <echristo@apple.com>
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b0db950..f68dc6a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -9746,7 +9746,7 @@ ix86_expand_vector_move (enum machine_mode mode, rtx operands[])
unaligned memory access. Use ix86_expand_vector_move_misalign()
if memory operand is not aligned correctly. */
if (!no_new_pseudos
- && SSE_REG_MODE_P (mode)
+ && (mode == TImode) && !TARGET_64BIT
&& ((MEM_P (op0) && (MEM_ALIGN (op0) < align))
|| (MEM_P (op1) && (MEM_ALIGN (op1) < align))))
{