summaryrefslogtreecommitdiff
path: root/gcc/config/i386/ammintrin.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-09-23 11:36:01 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2007-09-23 11:36:01 +0200
commitd752cfdb114944cf3c800fcc2e4d030ab392c52c (patch)
tree1b72fa7fe409e2cd66cf065ec2671ab20dce7b57 /gcc/config/i386/ammintrin.h
parent32eed0456c8c9c52b6b33a375788b09f476542cd (diff)
downloadgcc-d752cfdb114944cf3c800fcc2e4d030ab392c52c.tar.gz
tree.h (block_nonartificial_location): New prototype.
* tree.h (block_nonartificial_location): New prototype. * tree.c (block_nonartificial_location): New function. * dwarf2out.c (gen_subprogram_die): Add DW_AT_artificial if artificial attribute is present on abstract inline decl. * c-common.c (handle_artificial_attribute): New function. (c_common_attribute_table): Add artificial attribute. * final.c (override_filename, override_linenum): New variables. (final_scan_insn): For DBX_DEBUG or SDB_DEBUG, set override_filename and override_linenum if inside of a block inlined from __attribute__((__artificial__)) function. (notice_source_line): Honor override_filename and override_linenum. * doc/extend.texi: Document __attribute__((__artificial__)). * config/i386/emmintrin.h: Add __artificial__ attribute to all __always_inline__ functions. * config/i386/mmintrin.h: Likewise. * config/i386/tmmintrin.h: Likewise. * config/i386/mm3dnow.h: Likewise. * config/i386/pmmintrin.h: Likewise. * config/i386/ammintrin.h: Likewise. * config/i386/xmmintrin.h: Likewise. * config/i386/smmintrin.h: Likewise. * config/i386/bmmintrin.h: Likewise. * config/i386/mmintrin-common.h: Likewise. From-SVN: r128686
Diffstat (limited to 'gcc/config/i386/ammintrin.h')
-rw-r--r--gcc/config/i386/ammintrin.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/i386/ammintrin.h b/gcc/config/i386/ammintrin.h
index c615b19163f..c3f73b72bc4 100644
--- a/gcc/config/i386/ammintrin.h
+++ b/gcc/config/i386/ammintrin.h
@@ -37,26 +37,26 @@
/* We need definitions from the SSE3, SSE2 and SSE header files*/
#include <pmmintrin.h>
-static __inline void __attribute__((__always_inline__))
+static __inline void __attribute__((__always_inline__, __artificial__))
_mm_stream_sd (double * __P, __m128d __Y)
{
__builtin_ia32_movntsd (__P, (__v2df) __Y);
}
-static __inline void __attribute__((__always_inline__))
+static __inline void __attribute__((__always_inline__, __artificial__))
_mm_stream_ss (float * __P, __m128 __Y)
{
__builtin_ia32_movntss (__P, (__v4sf) __Y);
}
-static __inline __m128i __attribute__((__always_inline__))
+static __inline __m128i __attribute__((__always_inline__, __artificial__))
_mm_extract_si64 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y);
}
#ifdef __OPTIMIZE__
-static __inline __m128i __attribute__((__always_inline__))
+static __inline __m128i __attribute__((__always_inline__, __artificial__))
_mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
{
return (__m128i) __builtin_ia32_extrqi ((__v2di) __X, __I, __L);
@@ -66,14 +66,14 @@ _mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
((__m128i) __builtin_ia32_extrqi ((__v2di)(X), I, L))
#endif
-static __inline __m128i __attribute__((__always_inline__))
+static __inline __m128i __attribute__((__always_inline__, __artificial__))
_mm_insert_si64 (__m128i __X,__m128i __Y)
{
return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
}
#ifdef __OPTIMIZE__
-static __inline __m128i __attribute__((__always_inline__))
+static __inline __m128i __attribute__((__always_inline__, __artificial__))
_mm_inserti_si64(__m128i __X, __m128i __Y, unsigned const int __I, unsigned const int __L)
{
return (__m128i) __builtin_ia32_insertqi ((__v2di)__X, (__v2di)__Y, __I, __L);