diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-09-23 11:36:01 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2007-09-23 11:36:01 +0200 |
commit | d752cfdb114944cf3c800fcc2e4d030ab392c52c (patch) | |
tree | 1b72fa7fe409e2cd66cf065ec2671ab20dce7b57 /gcc/config/i386/ammintrin.h | |
parent | 32eed0456c8c9c52b6b33a375788b09f476542cd (diff) | |
download | gcc-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.h | 12 |
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); |