aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-01-20 02:15:13 -0800
committerRichard Henderson <rth@gcc.gnu.org>2005-01-20 02:15:13 -0800
commitb4bb3199a4c08f0a0d079ee230882a568f7adce3 (patch)
tree89b4b8d9e6f34d4d990961264bcd1db5362c041b /gcc
parentceda96fcdd084f9d68f231aa47a96b9b17d502d7 (diff)
downloadgcc-b4bb3199a4c08f0a0d079ee230882a568f7adce3.zip
gcc-b4bb3199a4c08f0a0d079ee230882a568f7adce3.tar.gz
gcc-b4bb3199a4c08f0a0d079ee230882a568f7adce3.tar.bz2
re PR target/19350 (Compilation with -O1 -ftree-vectorize gives unrecognizable insn on x86.)
PR target/19350 * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert to V4SFmode in SSE1 fallback load path. From-SVN: r93957
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fbeebb0..644d216 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 447393d..256d38f 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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);