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.

Reply via email to