Hi! During testing with older gas I've noticed failures, where 0xf2 was a pasto instead of the right 0xf3 for xrelease insn.
Fixed thusly, regtested on x86_64-linux and i686-linux, ok for trunk? BTW, I wonder if dg-options shouldn't select -march=i686 for !lp64, if somebody configures gcc to default to -march=i386, I guess xadd etc. won't be emitted there. 2012-05-03 Jakub Jelinek <ja...@redhat.com> * gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of .byte 0xf2. * gcc.target/i386/hle-sub-rel-1.c: Likewise. * gcc.target/i386/hle-xchg-rel-1.c: Likewise. * gcc.target/i386/hle-add-rel-1.c: Likewise. --- gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c.jj 2012-05-03 09:13:52.309647976 +0200 +++ gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c 2012-05-03 11:19:24.335586795 +0200 @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mhle" } */ -/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+xadd" } } */ +/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+xadd" } } */ int hle_xadd (int *p, int v) --- gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c.jj 2012-05-03 09:13:52.310653828 +0200 +++ gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c 2012-05-03 11:19:22.284585667 +0200 @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mhle" } */ -/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+sub" } } */ +/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+sub" } } */ void hle_sub (int *p, int v) --- gcc/testsuite/gcc.target/i386/hle-xchg-rel-1.c.jj 2012-05-03 09:13:52.311657477 +0200 +++ gcc/testsuite/gcc.target/i386/hle-xchg-rel-1.c 2012-05-03 11:19:26.319587600 +0200 @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mhle" } */ -/* { dg-final { scan-assembler "\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+xchg" } } */ +/* { dg-final { scan-assembler "\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+xchg" } } */ int hle_xchg (int *p, int v) --- gcc/testsuite/gcc.target/i386/hle-add-rel-1.c.jj 2012-05-03 09:13:52.310653828 +0200 +++ gcc/testsuite/gcc.target/i386/hle-add-rel-1.c 2012-05-03 11:19:19.435586105 +0200 @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mhle" } */ -/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf2\)\[ \t\n\]+add" } } */ +/* { dg-final { scan-assembler "lock\[ \n\t\]+\(xrelease\|\.byte\[ \t\]+0xf3\)\[ \t\n\]+add" } } */ void hle_add (int *p, int v) Jakub