PR target/19350
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jan 2005 10:15:13 +0000 (10:15 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jan 2005 10:15:13 +0000 (10:15 +0000)
        * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
        to V4SFmode in SSE1 fallback load path.

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

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

index fbeebb0..644d216 100644 (file)
@@ -1,5 +1,11 @@
 2005-01-19  Richard Henderson  <rth@redhat.com>
 
+       PR target/19350
+       * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
+       to V4SFmode in SSE1 fallback load path.
+
+2005-01-19  Richard Henderson  <rth@redhat.com>
+
        * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
        in QImode expansion to ix86_expand_vector_set.
        (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
index 447393d..256d38f 100644 (file)
@@ -7703,6 +7703,8 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
          else
            emit_insn (gen_rtx_CLOBBER (VOIDmode, op0));
 
+         if (mode != V4SFmode)
+           op0 = gen_lowpart (V4SFmode, op0);
          m = adjust_address (op1, V2SFmode, 0);
          emit_insn (gen_sse_loadlps (op0, op0, m));
          m = adjust_address (op1, V2SFmode, 8);