From: dwarak Date: Fri, 12 Dec 2008 16:53:27 +0000 (+0000) Subject: 2008-12-12 Dwarakanath Rajagopal X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=4542038bb61e37e63fb1d5bbcbef760f70005b29;p=pf3gnuchains%2Fgcc-fork.git 2008-12-12 Dwarakanath Rajagopal * config/i386/x86intrin.h: New header file to support all x86 intrinsics * config.gcc (extra_headers): For x86 and x86-64, add x86intrin.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142713 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f20038d6486..c386069bd3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-12-12 Dwarakanath Rajagopal + + * 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 PR target/38402 diff --git a/gcc/config.gcc b/gcc/config.gcc index 5e9e89d9808..ba44a95188c 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 00000000000..ab188690f54 --- /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 +#endif + +#ifdef __SSE__ +#include +#endif + +#ifdef __SSE2__ +#include +#endif + +#ifdef __SSE3__ +#include +#endif + +#ifdef __SSSE3__ +#include +#endif + +#ifdef __SSE4a__ +#include +#endif + +#if defined (__SSE4_2__) || defined (__SSE4_1__) +#include +#endif + +#ifdef __SSE5__ +#include +#endif + +#if defined (__AES__) || defined (__PCLMUL__) +#include +#endif + +/* For including AVX instructions */ +#include + +#ifdef __3dNOW__ +#include +#endif + +#endif /* _X86INTRIN_H_INCLUDED */