mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 03:50:26 +08:00
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:
parent
da9014c049
commit
04a412f9d4
@ -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
|
||||
|
@ -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-*-*)
|
||||
|
@ -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 */
|
@ -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
|
||||
|
@ -5,5 +5,5 @@
|
||||
|
||||
#include <wmmintrin.h>
|
||||
#include <bmmintrin.h>
|
||||
#include <gmmintrin.h>
|
||||
#include <immintrin.h>
|
||||
#include <mm3dnow.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include <wmmintrin.h>
|
||||
#include <bmmintrin.h>
|
||||
#include <gmmintrin.h>
|
||||
#include <immintrin.h>
|
||||
#include <mm3dnow.h>
|
||||
|
||||
int dummy;
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <gmmintrin.h>
|
||||
#include <immintrin.h>
|
||||
#include "m128-check.h"
|
||||
|
||||
#ifndef max
|
||||
|
Loading…
x
Reference in New Issue
Block a user