summaryrefslogtreecommitdiff
path: root/gcc/config/i386/x86intrin.h
diff options
context:
space:
mode:
authordwarak <dwarak@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-04 21:15:42 +0000
committerdwarak <dwarak@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-04 21:15:42 +0000
commit048fbb59c7cfac095d07700c42cd932a84b306f2 (patch)
tree6735bfdcfc869ec764d7d7c03c6243158a7f9fbf /gcc/config/i386/x86intrin.h
parent449db53c97557c939e81061836e6b7fd3de4566d (diff)
downloadgcc-048fbb59c7cfac095d07700c42cd932a84b306f2.tar.gz
2009-11-04 Harsha Jagasia <harsha.jagasia@amd.com>
Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * doc/invoke.texi (-mlwp): Add documentation. * doc/extend.texi (x86 intrinsics): Add LWP intrinsics. * config.gcc (i[34567]86-*-*): Include lwpintrin.h. (x86_64-*-*): Ditto. * config/i386/lwpintrin.h: New file, provide x86 compiler intrinisics for LWP. * config/i386/cpuid.h (bit_LWP): Define LWP bit. * config/i386/x86intrin.h: Add LWP check and lwpintrin.h. * config/i386/i386-c.c (ix86_target_macros_internal): Check ISA_FLAG for LWP. * config/i386/i386.h (TARGET_LWP): New macro for LWP. * config/i386/i386.opt (-mlwp): New switch for LWP support. * config/i386/i386.c (OPTION_MASK_ISA_LWP_SET): New. (OPTION_MASK_ISA_LWP_UNSET): New. (ix86_handle_option): Handle -mlwp. (isa_opts): Handle -mlwp. (enum pta_flags): Add PTA_LWP. (override_options): Add LWP support. (IX86_BUILTIN_LLWPCB16): New for LWP intrinsic. (IX86_BUILTIN_LLWPCB32): Ditto. (IX86_BUILTIN_LLWPCB64): Ditto. (IX86_BUILTIN_SLWPCB16): Ditto. (IX86_BUILTIN_SLWPCB32): Ditto. (IX86_BUILTIN_SLWPCB64): Ditto. (IX86_BUILTIN_LWPVAL16): Ditto. (IX86_BUILTIN_LWPVAL32): Ditto. (IX86_BUILTIN_LWPVAL64): Ditto. (IX86_BUILTIN_LWPINS16): Ditto. (IX86_BUILTIN_LWPINS32): Ditto. (IX86_BUILTIN_LWPINS64): Ditto. (enum ix86_special_builtin_type): Add LWP intrinsic support. (builtin_description): Ditto. (ix86_init_mmx_sse_builtins): Ditto. (ix86_expand_special_args_builtin): Ditto. * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC for LWP support. (UNSPEC_SLWP_INTRINSIC): Ditto. (UNSPECV_LWPVAL_INTRINSIC): Ditto. (UNSPECV_LWPINS_INTRINSIC): Ditto. (lwp_llwpcbhi1): New lwp pattern. (lwp_llwpcbsi1): Ditto. (lwp_llwpcbdi1): Ditto. (lwp_slwpcbhi1): Ditto. (lwp_slwpcbsi1): Ditto. (lwp_slwpcbdi1): Ditto. (lwp_lwpvalhi3): Ditto. (lwp_lwpvalsi3): Ditto. (lwp_lwpvaldi3): Ditto. (lwp_lwpinshi3): Ditto. (lwp_lwpinssi3): Ditto. (lwp_lwpinsdi3): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153917 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/x86intrin.h')
-rw-r--r--gcc/config/i386/x86intrin.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/i386/x86intrin.h b/gcc/config/i386/x86intrin.h
index 522415fb30a..465166aba6f 100644
--- a/gcc/config/i386/x86intrin.h
+++ b/gcc/config/i386/x86intrin.h
@@ -62,6 +62,10 @@
#include <xopintrin.h>
#endif
+#ifdef __LWP__
+#include <lwpintrin.h>
+#endif
+
#if defined (__AES__) || defined (__PCLMUL__)
#include <wmmintrin.h>
#endif