On Wed, May 22, 2019 at 5:52 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > On Wed, May 22, 2019 at 6:36 AM Rainer Orth <r...@cebitec.uni-bielefeld.de> > wrote: > > > > Hi Uros, > > > > >> the new testcase FAILs on i386-pc-solaris2.11 (both with the default > > >> -m32 and -m64), but also on i586-unknown-freebsd11.2, i686-pc-linux-gnu: > > >> > > >> +FAIL: gcc.target/i386/vect-signbitf.c scan-assembler-not -2147483648 > > > > > > It works for me on x86_64-linux-gnu with -32, so I'm at loss on what > > > might be wrong. > > > > I just tried x86_64-pc-linux-gnu and i686-pc-linux-gnu bootstraps: no > > failures (with or without -m32) in the former, fails for both -m32 and > > -m64 in the latter, just as on i386-pc-solaris2.11. > > > > i686 GCC generates slightly different assembly codes from x86-64 GCC > with -m32: > > > @@ -88,16 +88,16 @@ main.cold: > .size a, 4096 > a: > .long 0 > - .long 2147483648 > + .long -2147483648 <<<<<<<< This matches /* { dg-final { > scan-assembler-not "-2147483648" } } */ > .long 1065353216 > - .long 3212836864 > - .long 3221225472 > + .long -1082130432 > + .long -1073741824 > .long 1077936128 > - .long 3231711232 > - .long 3238002688 > + .long -1063256064 > + .long -1056964608 > .long 1095761920 > .long 1101529088 > - .long 3251109888 > + .long -1043857408 > .long 1107558400 > .zero 4048 > > These numbers are equivalent. Should we check > > andl $-2147483648, %edx
I think we can go with: -/* { dg-final { scan-assembler-not "-2147483648" } } */ +/* { dg-final { scan-assembler-not "\\$-2147483648" } } */ > BTW, we also need -mfpmath=sse since it may not be the default for -m32. No need for this, vectorization does not care for target math. Uros.