On Fri, Jul 17, 2026 at 2:39 AM H.J. Lu <[email protected]> wrote:
>
> After
>
> commit cbc56384029c9224280b0a1018fb9502797f243d
> Author: H.J. Lu <[email protected]>
> Date: Fri Jun 26 08:43:20 2026 +0800
>
> determine_block_size: Set len_rtx to min size if min size == max size
>
> ix86_expand_set_or_cpymem may use vector loop on a block of memory whose
> size < epilogue size. Don't use misaligned prologue if count <= epilogue
> size.
>
> gcc/
>
> PR target/126275
> * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Don't
> use misaligned prologue if count <= epilogue size.
>
> gcc/testsuite/
>
> PR target/126275
> * gcc.target/i386/pr126275.c: New.
- if (noalign && !misaligned_prologue_used)
- {
- /* Also use misaligned prologue if alignment isn't needed and
- destination isn't aligned. Since alignment isn't needed,
- the destination after prologue won't be aligned. */
+ if (noalign
+ && !misaligned_prologue_used
+ && (!count || count > (unsigned int) epilogue_size_needed))
(unsigned HOST_WIDE_INT)
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-O1 -fno-pic -ftree-loop-distribute-patterns
-fno-tree-dominator-opts -fno-tree-scev-cprop -march=x86-64" } */
You are using -fno-pic with target fpic. You should probably remove
target selector.
LGTM otherwise.
Thanks,
Uros.