config.gcc (extra_headers): For x86 and x86-64, remove gmmintrin.h, add immintrin.h and avxintrin.h.

gcc/

2008-11-21  H.J. Lu  <hongjiu.lu@intel.com>
	    Xuepeng Guo  <xuepeng.guo@intel.com>

	* config.gcc (extra_headers): For x86 and x86-64, remove
	gmmintrin.h, add immintrin.h and avxintrin.h.

	* config/i386/gmmintrin.h: Renamed to ...
	* config/i386/avxintrin.h: This.  Don't include intrinsics if
	_IMMINTRIN_H_INCLUDED is undedined.

	* config/i386/immintrin.h: New.

gcc/testsuite/

2008-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-1.c: Include <immintrin.h> instead of
	<gmmintrin.h>.
	* gcc.target/i386/avx-2.c: Likewise.
	* gcc.target/i386/m256-check.h: Likewise.
	* g++.dg/other/i386-5.C: Likewise.
	* g++.dg/other/i386-6.C: Likewise.

Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com>

From-SVN: r142090
This commit is contained in:
H.J. Lu 2008-11-21 14:05:02 +00:00 committed by H.J. Lu
parent da9014c049
commit 04a412f9d4
9 changed files with 33 additions and 23 deletions

View File

@ -1,3 +1,15 @@
2008-11-21 H.J. Lu <hongjiu.lu@intel.com>
Xuepeng Guo <xuepeng.guo@intel.com>
* config.gcc (extra_headers): For x86 and x86-64, remove
gmmintrin.h, add immintrin.h and avxintrin.h.
* config/i386/gmmintrin.h: Renamed to ...
* config/i386/avxintrin.h: This. Don't include intrinsics if
_IMMINTRIN_H_INCLUDED is undedined.
* config/i386/immintrin.h: New.
2008-11-21 Jakub Jelinek <jakub@redhat.com>
PR target/38208

View File

@ -298,7 +298,7 @@ i[34567]86-*-*)
extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
nmmintrin.h bmmintrin.h mmintrin-common.h
wmmintrin.h gmmintrin.h cross-stdarg.h"
wmmintrin.h immintrin.h avxintrin.h cross-stdarg.h"
;;
x86_64-*-*)
cpu_type=i386
@ -307,7 +307,7 @@ x86_64-*-*)
extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
nmmintrin.h bmmintrin.h mmintrin-common.h
wmmintrin.h gmmintrin.h cross-stdarg.h"
wmmintrin.h immintrin.h avxintrin.h cross-stdarg.h"
need_64bit_hwint=yes
;;
ia64-*-*)

View File

@ -27,16 +27,9 @@
/* Implemented from the specification included in the Intel C++ Compiler
User Guide and Reference, version 11.0. */
#ifndef _GMMINTRIN_H_INCLUDED
#define _GMMINTRIN_H_INCLUDED
#ifndef __AVX__
# error "AVX instruction set not enabled"
#else
/* We need definitions from the SSE4, SSSE3, SSE3, SSE2 and SSE header
files. */
#include <smmintrin.h>
#ifndef _IMMINTRIN_H_INCLUDED
# error "Never use <avxintrin.h> directly; include <immintrin.h> instead."
#endif
/* Internal data types for implementing the intrinsics. */
typedef double __v4df __attribute__ ((__vector_size__ (32)));
@ -1476,7 +1469,3 @@ _mm256_castsi128_si256 (__m128i __A)
{
return (__m256i) __builtin_ia32_si256_si ((__v4si)__A);
}
#endif /* __AVX__ */
#endif /* _GMMINTRIN_H_INCLUDED */

View File

@ -1,3 +1,12 @@
2008-11-21 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx-1.c: Include <immintrin.h> instead of
<gmmintrin.h>.
* gcc.target/i386/avx-2.c: Likewise.
* gcc.target/i386/m256-check.h: Likewise.
* g++.dg/other/i386-5.C: Likewise.
* g++.dg/other/i386-6.C: Likewise.
2008-11-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37472

View File

@ -5,5 +5,5 @@
#include <wmmintrin.h>
#include <bmmintrin.h>
#include <gmmintrin.h>
#include <immintrin.h>
#include <mm3dnow.h>

View File

@ -5,7 +5,7 @@
#include <wmmintrin.h>
#include <bmmintrin.h>
#include <gmmintrin.h>
#include <immintrin.h>
#include <mm3dnow.h>
int dummy;

View File

@ -18,7 +18,7 @@
#define __builtin_ia32_extrqi(X, I, L) __builtin_ia32_extrqi(X, 1, 1)
#define __builtin_ia32_insertqi(X, Y, I, L) __builtin_ia32_insertqi(X, Y, 1, 1)
/* gmmintrin.h */
/* immintrin.h */
#define __builtin_ia32_blendpd256(X, Y, M) __builtin_ia32_blendpd256(X, Y, 1)
#define __builtin_ia32_blendps256(X, Y, M) __builtin_ia32_blendps256(X, Y, 1)
#define __builtin_ia32_dpps256(X, Y, M) __builtin_ia32_dpps256(X, Y, 1)
@ -135,5 +135,5 @@
#include <wmmintrin.h>
#include <bmmintrin.h>
#include <gmmintrin.h>
#include <immintrin.h>
#include <mm3dnow.h>

View File

@ -14,7 +14,7 @@
#include <wmmintrin.h>
#include <bmmintrin.h>
#include <gmmintrin.h>
#include <immintrin.h>
#include <mm3dnow.h>
#define _CONCAT(x,y) x ## y
@ -53,7 +53,7 @@
test_1x (_mm_extracti_si64, __m128i, __m128i, 1, 1)
test_2x (_mm_inserti_si64, __m128i, __m128i, __m128i, 1, 1)
/* gmmintrin.h */
/* immintrin.h */
test_2 (_mm256_blend_pd, __m256d, __m256d, __m256d, 1)
test_2 (_mm256_blend_ps, __m256, __m256, __m256, 1)
test_2 (_mm256_dp_ps, __m256, __m256, __m256, 1)

View File

@ -1,4 +1,4 @@
#include <gmmintrin.h>
#include <immintrin.h>
#include "m128-check.h"
#ifndef max