gcc/libgomp
Uros Bizjak b3172cabd2 cpuid.h: New file.
* gcc/config/i386/cpuid.h: New file.
	* gcc/config/i386/driver-i386.c: Include cpuid.h.
	(describe_cache): Shrink size and line strings to 100 bytes.
	(detect_caches_amd): Return "" for unsupported max_ext_level.
	Use __cpuid function.
	(detect_caches_intel): Return "" for unsupported max_level.
	Use __cpuid function.
	(host_detect_local_cpu): Change feature flag variables to
	unsigned int.  Initialize only extended feature flag variables.
	Use __get_cpuid_max to determine max supported cpuid level.
	Use __cpuid function to determine supported features.  Fix
	calculation of family id.  Remove is_amd and check signature
	directly.  Check for Geode signature.  Handle family 4 id.
	[PROCESSOR_GENERIC32]: New default for unknown family id. Move
	cpu discovery code to other part of the function.
	[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
	for sub-architecture.
	[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
	[PROCESSOR_K8]: Add k8-sse3 architecture.
	[PROCESSOR_GENERIC64]: Remove.
	* gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
	* gcc/config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
	to check for SSE and FXSAVE support.
	* gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
	Add -minline-all-stringops.
	* gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
	(x86_64-*-*): Ditto.

testsuite/ChangeLog:

	* gcc.dg/i386-cpuid.h: Remove.
	* gcc.target/i386/mmx-check.h: Include cpuid.h.  Use __get_cpuid.
	* gcc.target/i386/sse-check.h: Ditto.
	* gcc.target/i386/sse2-check.h: Ditto.
	* gcc.target/i386/sse3-check.h: Ditto.
	* gcc.target/i386/ssse3-check.h: Ditto.
	* gcc.target/i386/sse4_1-check.h: Ditto.
	* gcc.target/i386/sse4_2-check.h: Ditto.
	* gcc.target/i386/sse4a-check.h: Ditto.
	* gcc.dg/torture/pr16104-1.c: Ditto.
	* gcc.target/i386/mmx-4.c: Do not use NOINLINE.
	* gcc.target/i386/sse-6.c: Ditto.
	* gcc.target/i386/sse-7.c: Ditto.
	* g++.dg/other/i386-1.C: Include cpuid.h.
	(main): New function.  Use __get_cpuid to check target fetaures.

libgomp/ChangeLog:

	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
	(main): Use __get_cpuid to get i386 target fetaures.
	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
	(main): Use __get_cpuid to get x86_64 target fetaures.

From-SVN: r128141
2007-09-05 19:43:01 +02:00
..
config re PR libgomp/26308 (libgomp bootstrap failure on Tru64 UNIX V4.0F) 2007-07-02 14:38:13 +00:00
testsuite cpuid.h: New file. 2007-09-05 19:43:01 +02:00
acinclude.m4 acinclude.m4: Adjust regular expression for ld version extraction. 2007-03-18 11:17:44 +00:00
aclocal.m4 Regenerate aclocal.m4 in boehm-gc, libffi, libgfortran, libgomp, 2007-07-05 10:54:10 -07:00
alloc.c
barrier.c
ChangeLog cpuid.h: New file. 2007-09-05 19:43:01 +02:00
config.h.in libgomp.h (gomp_cpu_affinity, [...]): New extern decls. 2007-04-04 17:44:20 +02:00
configure configure: Regenerate. 2007-06-02 08:18:15 +00:00
configure.ac libgomp.h (gomp_cpu_affinity, [...]): New extern decls. 2007-04-04 17:44:20 +02:00
configure.tgt re PR libgomp/28482 (Cannot use libgomp in shared library) 2007-05-04 21:21:18 +02:00
critical.c critical.c (GOMP_critical_name_start): Fix *pptr initialization when gomp_mutex_t is larger than pointer and... 2006-06-21 10:59:44 +02:00
env.c libgomp.h (gomp_cpu_affinity, [...]): New extern decls. 2007-04-04 17:44:20 +02:00
error.c
fortran.c acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from test. 2006-10-06 08:25:32 +00:00
iter.c
libgomp_f.h.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
libgomp_g.h
libgomp.h libgomp.h (gomp_cpu_affinity, [...]): New extern decls. 2007-04-04 17:44:20 +02:00
libgomp.map
libgomp.spec.in
libgomp.texi libgomp.texi (GOMP_CPU_AFFINITY): Updated. 2007-04-19 15:36:34 -04:00
loop.c re PR middle-end/29947 (OpenMP parallel for fails for reversed loop range) 2006-12-04 11:26:00 +01:00
Makefile.am Makefile.am: Add -I .. 2007-04-14 19:49:42 +00:00
Makefile.in ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
omp_lib.f90.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
omp_lib.h.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
omp.h.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
ordered.c
parallel.c
sections.c re PR libgomp/32468 (number of threads in a parallel region depends on number of SECTIONs and MAX_THREADS) 2007-07-02 21:19:28 +02:00
single.c
team.c team.c (gomp_team_start): Fix setting up thread_attr stack size. 2007-06-07 22:16:53 +02:00
work.c