diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f20038d64866ebf057d2920992434bb10615a511..c386069bd3dabc7a985323dcf7e09746a3b9d971 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 5e9e89d9808f113d29b8a046dec51e3ad9fd477b..ba44a95188cec43d1dcb855a1b16e10e8592532a 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 0000000000000000000000000000000000000000..ab188690f547d36609d0a989cd43e43dc2440aab
--- /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 */