summaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-12-22 23:58:41 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-12-22 23:58:41 -0800
commit1e0598e25c07970f830bb52f2ae75c7007dea4b4 (patch)
tree82224c10b6b040c1b09d8cc1ee0b14eb54d26e72 /gcc/tree-vectorizer.c
parent1c47af84a30650b28b6d1957f1689e2107396a2e (diff)
downloadgcc-1e0598e25c07970f830bb52f2ae75c7007dea4b4.tar.gz
optabs.h (OTI_movmisalign, [...]): New.
* optabs.h (OTI_movmisalign, movmisalign_optab): New. * optabs.c (init_optabs): Create it. * genopinit.c (optabs): Initialize it. * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it. * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise. * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * target.h (vectorize.misaligned_mem_ok): Remove. * targhooks.c (default_vect_misaligned_mem_ok): Remove. * doc/md.texi (movmisalign): New. * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. From-SVN: r92537
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index c591d48825c..9a7ee12d3fc 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -2704,8 +2704,8 @@ vect_supportable_dr_alignment (struct data_reference *dr)
|| targetm.vectorize.builtin_mask_for_load ()))
return dr_unaligned_software_pipeline;
- if (targetm.vectorize.misaligned_mem_ok (mode))
- /* Can't software pipeline the loads. */
+ if (movmisalign_optab->handlers[mode].insn_code != CODE_FOR_nothing)
+ /* Can't software pipeline the loads, but can at least do them. */
return dr_unaligned_supported;
}