On Wed, Sep 2, 2026 at 12:09 AM Iain Sandoe <[email protected]> wrote:
>
> gentle ping,
>
> > On 19 Aug 2026, at 14:27, Iain Sandoe <[email protected]> wrote:
> >
> > Tested on x86_64-linux, darwin, OK for trunk?
> > thanks
> > Iain
> >
> > --- 8< ---
> >
> > These tests now pass the function body scans on Darwin, but fail the
> > scanasms for 16byte literals.  This because these scan separately for
> > .long 0 appearing 3 times, with no constraint on sequence.  A bare
> > .long 0 can also match other code (e.g. eh_frame literals) which leads
> > to a fail everywhere on Darwin.
> >
> > Match these multi-word literals explicitly - which actually is better
> > even on cfi-asm targets since it checks the literal and its memory
> > order rather than the two parts independently.
> >
> > gcc/testsuite/ChangeLog:
> >
> > * gcc.target/i386/builtin-copysign-2.c: Check 16 byte literal
> > explicitly.
> > * gcc.target/i386/builtin-copysign-3.c: Likewise.
> > * gcc.target/i386/builtin-copysign-5.c: Likewise.
> > * gcc.target/i386/builtin-fabs-1.c: Likewise.

OK.

Thanks,
Uros.

> >
> > Signed-off-by: Iain Sandoe <[email protected]>
> > ---
> > gcc/testsuite/gcc.target/i386/builtin-copysign-2.c | 3 +--
> > gcc/testsuite/gcc.target/i386/builtin-copysign-3.c | 3 +--
> > gcc/testsuite/gcc.target/i386/builtin-copysign-5.c | 3 +--
> > gcc/testsuite/gcc.target/i386/builtin-fabs-1.c     | 3 +--
> > 4 files changed, 4 insertions(+), 8 deletions(-)
> >
> > diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c 
> > b/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c
> > index d90c5a49a3a..54d6863254b 100644
> > --- a/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c
> > +++ b/gcc/testsuite/gcc.target/i386/builtin-copysign-2.c
> > @@ -18,5 +18,4 @@ foo (float x)
> >   return __builtin_copysignf (x, 0.0);
> > }
> >
> > -/* { dg-final { scan-assembler-times ".long 0" 3 { target { ! ia32 } } } } 
> > */
> > -/* { dg-final { scan-assembler-times ".long 2147483647" 1 { target { ! 
> > ia32 } } } } */
> > +/* { dg-final { scan-assembler-times 
> > {.long\s2147483647[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0} 1 { 
> > target { ! ia32 } } } } */
> > diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c 
> > b/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c
> > index d3b4dd5a4af..c7de3935cae 100644
> > --- a/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c
> > +++ b/gcc/testsuite/gcc.target/i386/builtin-copysign-3.c
> > @@ -18,5 +18,4 @@ foo (float x)
> >   return __builtin_copysignf (x, -3.0);
> > }
> >
> > -/* { dg-final { scan-assembler-times ".long 0" 3 { target { ! ia32 } } } } 
> > */
> > -/* { dg-final { scan-assembler-times ".long -2147483648" 1 { target { ! 
> > ia32 } } } } */
> > +/* { dg-final { scan-assembler-times 
> > {.long\s-2147483648[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0} 1 { 
> > target { ! ia32 } } } } */
> > diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c 
> > b/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c
> > index 3f4df5f779b..8b81b29828d 100644
> > --- a/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c
> > +++ b/gcc/testsuite/gcc.target/i386/builtin-copysign-5.c
> > @@ -18,5 +18,4 @@ foo (__float128 x)
> >   return __builtin_copysignq (0.0, x);
> > }
> >
> > -/* { dg-final { scan-assembler-times ".long 0" 3 { target { ! ia32 } } } } 
> > */
> > -/* { dg-final { scan-assembler-times ".long -2147483648" 1 { target { ! 
> > ia32 } } } } */
> > +/* { dg-final { scan-assembler-times 
> > {.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s-2147483648} 1 { 
> > target { ! ia32 } } } } */
> > diff --git a/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c 
> > b/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
> > index a9a25f6bd4b..c53628a4ed0 100644
> > --- a/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
> > +++ b/gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
> > @@ -19,5 +19,4 @@ foo (float x)
> >   return -__builtin_fabsf (x);
> > }
> >
> > -/* { dg-final { scan-assembler-times ".long 0" 3 { target { ! ia32 } } } } 
> > */
> > -/* { dg-final { scan-assembler-times ".long -2147483648" 1 { target { ! 
> > ia32 } } } } */
> > +/* { dg-final { scan-assembler-times 
> > {.long\s-2147483648[\n\r]+\s.long\s0[\n\r]+\s.long\s0[\n\r]+\s.long\s0} 1 { 
> > target { ! ia32 } } } } */
> > --
> > 2.50.1 (Apple Git-155)
> >
>

Reply via email to