On Sun, Jan 13, 2013 at 10:06:05PM -0800, Andi Kleen wrote: > 2013-01-12 Andi Kleen <a...@linux.intel.com> > Jonathan Wakely <jwakely....@gmail.com> > > PR libstdc++/55223 > * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: > Add.
The test is broken on i?86-linux, > --- /dev/null > +++ > b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc > @@ -0,0 +1,120 @@ > +// { dg-options "-std=gnu++0x" } 1) you need // { dg-additional-options "-march=i486" { target ia32 } } or something similar, otherwise for a pure i386 target it will not work right > +// { dg-do compile { target i?86-*-* x86_64-*-* } } > +// { dg-final { scan-assembler-times "\(xacquire\|\.byte.*0xf2\)" 14 } } > +// { dg-final { scan-assembler-times "\(xrelease\|\.byte.*0xf3\)" 14 } } 2) \.byte.*0xf needs to be replaced by \.byte\[^\n\r]*0xf otherwise it will happily match say .byte 0 .uleb128 0x2d .long 0xf23 in .debug_info 3) I guess you want to add "-g0 -fno-exceptions -fno-asynchronous-unwind-tables" to double check that .byte 0xf2 or .byte 0xf3 won't suddenly appear in .debug_* or .eh_frame sections. Jakub