diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config.gcc | 6 | ||||
-rw-r--r-- | gcc/config/i386/x86intrin.h | 73 |
3 files changed, 83 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f20038d..c386069 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-12-12 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> + + * config/i386/x86intrin.h: New header file to support all x86 + intrinsics + * config.gcc (extra_headers): For x86 and x86-64, add x86intrin.h + 2008-12-12 H.J. Lu <hongjiu.lu@intel.com> PR target/38402 diff --git a/gcc/config.gcc b/gcc/config.gcc index 5e9e89d..ba44a951 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -298,7 +298,8 @@ 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 immintrin.h avxintrin.h cross-stdarg.h" + wmmintrin.h immintrin.h x86intrin.h avxintrin.h + cross-stdarg.h" ;; x86_64-*-*) cpu_type=i386 @@ -307,7 +308,8 @@ 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 immintrin.h avxintrin.h cross-stdarg.h" + wmmintrin.h immintrin.h x86intrin.h avxintrin.h + cross-stdarg.h" need_64bit_hwint=yes ;; ia64-*-*) diff --git a/gcc/config/i386/x86intrin.h b/gcc/config/i386/x86intrin.h new file mode 100644 index 0000000..ab18869 --- /dev/null +++ b/gcc/config/i386/x86intrin.h @@ -0,0 +1,73 @@ +/* Copyright (C) 2008 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, if you include this header file into source + files compiled by GCC, this header file does not by itself cause + the resulting executable to be covered by the GNU General Public + License. This exception does not however invalidate any other + reasons why the executable file might be covered by the GNU General + Public License. */ + +#ifndef _X86INTRIN_H_INCLUDED +#define _X86INTRIN_H_INCLUDED + +#ifdef __MMX__ +#include <mmintrin.h> +#endif + +#ifdef __SSE__ +#include <xmmintrin.h> +#endif + +#ifdef __SSE2__ +#include <emmintrin.h> +#endif + +#ifdef __SSE3__ +#include <pmmintrin.h> +#endif + +#ifdef __SSSE3__ +#include <tmmintrin.h> +#endif + +#ifdef __SSE4a__ +#include <ammintrin.h> +#endif + +#if defined (__SSE4_2__) || defined (__SSE4_1__) +#include <smmintrin.h> +#endif + +#ifdef __SSE5__ +#include <bmmintrin.h> +#endif + +#if defined (__AES__) || defined (__PCLMUL__) +#include <wmmintrin.h> +#endif + +/* For including AVX instructions */ +#include <immintrin.h> + +#ifdef __3dNOW__ +#include <mm3dnow.h> +#endif + +#endif /* _X86INTRIN_H_INCLUDED */ |