2008-12-12 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
authordwarak <dwarak@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Dec 2008 16:53:27 +0000 (16:53 +0000)
committerdwarak <dwarak@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Dec 2008 16:53:27 +0000 (16:53 +0000)
* 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://gcc.gnu.org/svn/gcc/trunk@142713 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/x86intrin.h [new file with mode: 0644]

index f20038d..c386069 100644 (file)
@@ -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
index 5e9e89d..ba44a95 100644 (file)
@@ -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 (file)
index 0000000..ab18869
--- /dev/null
@@ -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 */