OSDN Git Service

* target/i386/i386.c (ix86_expand_vector_move): Expand unaligned
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 May 2007 12:17:42 +0000 (12:17 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 May 2007 12:17:42 +0000 (12:17 +0000)
memory access via x86_expand_vector_move_misalign() only for
TImode values on 32-bit targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125129 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c

index 5f19afe..355293d 100644 (file)
@@ -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>
index b0db950..f68dc6a 100644 (file)
@@ -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))))
     {