Message ID | yddk46qswg3.fsf@manam.CeBiTec.Uni-Bielefeld.DE |
---|---|
State | New |
Headers | show |
On 11/23/2011 07:14 AM, Rainer Orth wrote: > PR testsuite/51258 > * gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*. > * gcc.dg/atomic-exchange-5.c: Likewise. > * gcc.dg/atomic-load-5.c: Likewise. > * gcc.dg/atomic-op-5.c: Likewise. > * gcc.dg/atomic-store-5.c: Likewise. > * gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo. Ok I guess... But why don't we just change the default 64-bit target to have this enabled? I somehow doubt that there are many people that have those very first machines that didn't have this feature... r~
Richard Henderson <rth@redhat.com> writes:
> But why don't we just change the default 64-bit target to have this enabled? I somehow doubt that there are many people that have those very first machines that didn't have this feature...
I just saw that we still have them in large numbers:
$ > isainfo -v
64-bit amd64 applications
sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc
fpu
32-bit i386 applications
ahf sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8
tsc fpu
$ psrinfo -pv
The physical processor has 1 virtual processor (0)
x86 (AuthenticAMD F5A family 15 model 5 step 10 clock 2391 MHz)
AMD Opteron(tm) Processor 250 [ Socket: 940 ]
The physical processor has 1 virtual processor (1)
x86 (AuthenticAMD F5A family 15 model 5 step 10 clock 2391 MHz)
AMD Opteron(tm) Processor 250 [ Socket: 940 ]
These are Sun Fire V60z machines, admittedly not current, but probably
still in widespread use.
Rainer
On 11/23/2011 07:35 AM, Rainer Orth wrote: > Richard Henderson <rth@redhat.com> writes: > >> But why don't we just change the default 64-bit target to have this enabled? I somehow doubt that there are many people that have those very first machines that didn't have this feature... > > I just saw that we still have them in large numbers... Which suggests that the -mcx16 change by itself is wrong, we also need to check for that cpuid bit in the sync_int_128 test. r~
# HG changeset patch # Parent ad316ae6941ee37a3133fc84f8281ae9c07ebefa Fix several atomic tests on 32-bit x86 (PR testsuite/51258) diff --git a/gcc/testsuite/gcc.dg/atomic-compare-exchange-5.c b/gcc/testsuite/gcc.dg/atomic-compare-exchange-5.c --- a/gcc/testsuite/gcc.dg/atomic-compare-exchange-5.c +++ b/gcc/testsuite/gcc.dg/atomic-compare-exchange-5.c @@ -2,7 +2,7 @@ values with each valid memory model. */ /* { dg-do run } */ /* { dg-require-effective-target sync_int_128 } */ -/* { dg-options "-mcx16" { target { x86_64-*-* } } } */ +/* { dg-options "-mcx16" { target { i?86-*-* x86_64-*-* } } } */ /* Test the execution of __atomic_compare_exchange_n builtin for an int_128. */ diff --git a/gcc/testsuite/gcc.dg/atomic-exchange-5.c b/gcc/testsuite/gcc.dg/atomic-exchange-5.c --- a/gcc/testsuite/gcc.dg/atomic-exchange-5.c +++ b/gcc/testsuite/gcc.dg/atomic-exchange-5.c @@ -2,7 +2,7 @@ values with each valid memory model. */ /* { dg-do run } */ /* { dg-require-effective-target sync_int_128 } */ -/* { dg-options "-mcx16" { target { x86_64-*-* } } } */ +/* { dg-options "-mcx16" { target { i?86-*-* x86_64-*-* } } } */ /* Test the execution of the __atomic_X builtin for a 16 byte value. */ diff --git a/gcc/testsuite/gcc.dg/atomic-load-5.c b/gcc/testsuite/gcc.dg/atomic-load-5.c --- a/gcc/testsuite/gcc.dg/atomic-load-5.c +++ b/gcc/testsuite/gcc.dg/atomic-load-5.c @@ -2,7 +2,7 @@ values with each valid memory model. */ /* { dg-do run } */ /* { dg-require-effective-target sync_int_128 } */ -/* { dg-options "-mcx16" { target { x86_64-*-* } } } */ +/* { dg-options "-mcx16" { target { i?86-*-* x86_64-*-* } } } */ extern void abort(void); diff --git a/gcc/testsuite/gcc.dg/atomic-op-5.c b/gcc/testsuite/gcc.dg/atomic-op-5.c --- a/gcc/testsuite/gcc.dg/atomic-op-5.c +++ b/gcc/testsuite/gcc.dg/atomic-op-5.c @@ -2,7 +2,7 @@ values with each valid memory model. */ /* { dg-do run } */ /* { dg-require-effective-target sync_int_128 } */ -/* { dg-options "-mcx16" { target { x86_64-*-* } } } */ +/* { dg-options "-mcx16" { target { i?86-*-* x86_64-*-* } } } */ /* Test the execution of the __atomic_*OP builtin routines for an int_128. */ diff --git a/gcc/testsuite/gcc.dg/atomic-store-5.c b/gcc/testsuite/gcc.dg/atomic-store-5.c --- a/gcc/testsuite/gcc.dg/atomic-store-5.c +++ b/gcc/testsuite/gcc.dg/atomic-store-5.c @@ -2,7 +2,7 @@ values with each valid memory model. */ /* { dg-do run } */ /* { dg-require-effective-target sync_int_128 } */ -/* { dg-options "-mcx16" { target { x86_64-*-* } } } */ +/* { dg-options "-mcx16" { target { i?86-*-* x86_64-*-* } } } */ /* Test the execution of the __atomic_store_n builtin for a 16 byte value. */ diff --git a/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c b/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c --- a/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c +++ b/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c @@ -1,6 +1,6 @@ /* { dg-do link } */ /* { dg-require-effective-target sync_int_128 } */ -/* { dg-options "-mcx16" { target { x86_64-*-* i?86-*-*] } } } */ +/* { dg-options "-mcx16" { target { x86_64-*-* i?86-*-* } } } */ /* { dg-final { simulate-thread } } */ #include <stdio.h>