http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58853
--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Jan Hubicka from comment #7)
> Yes, we can add this, too, for correctness with manual changes to tunning
> flags
> (so the patch is approved).
> What confuses me is why TARGET_MISALIGNED_MOVE_STRING_PROLOGUES seems to be
> true
> given that
>
> DEF_TUNE (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES,
> "misaligned_move_string_prologues",
> m_386 | m_486 | m_CORE_ALL | m_AMD_MULTIPLE | m_GENERIC)
>
> and we tune for pentiumpro (that was intentionally left out for this purpose)
Index: i386.c
===================================================================
--- i386.c (revision 204676)
+++ i386.c (working copy)
@@ -23764,7 +23764,7 @@
/* Misaligned move sequences handles both prologues and epilogues at once.
Default code generation results in smaller code for large alignments and
also avoids redundant job when sizes are known precisely. */
- misaligned_prologue_used = (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES
+ misaligned_prologue_used =
(TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES
&& MAX (desired_align, epilogue_size_needed) <=
32
&& ((desired_align > align && !align_bytes)
|| (!count && epilogue_size_needed > 1)));