diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-23 09:36:01 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-23 09:36:01 +0000 |
commit | 1b16fc454510309e7c6299c24890c40d2b2bc03c (patch) | |
tree | 1b72fa7fe409e2cd66cf065ec2671ab20dce7b57 /gcc/config/i386/pmmintrin.h | |
parent | d4cf8ff76d20953c1113f02bddfc22b61d7dd195 (diff) | |
download | gcc-1b16fc454510309e7c6299c24890c40d2b2bc03c.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128686 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/pmmintrin.h')
-rw-r--r-- | gcc/config/i386/pmmintrin.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/gcc/config/i386/pmmintrin.h b/gcc/config/i386/pmmintrin.h index 09df8107da2..0e261da29a1 100644 --- a/gcc/config/i386/pmmintrin.h +++ b/gcc/config/i386/pmmintrin.h @@ -47,79 +47,79 @@ #define _MM_GET_DENORMALS_ZERO_MODE() \ (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK) -static __inline __m128 __attribute__((__always_inline__)) +static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_addsub_ps (__m128 __X, __m128 __Y) { return (__m128) __builtin_ia32_addsubps ((__v4sf)__X, (__v4sf)__Y); } -static __inline __m128 __attribute__((__always_inline__)) +static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_hadd_ps (__m128 __X, __m128 __Y) { return (__m128) __builtin_ia32_haddps ((__v4sf)__X, (__v4sf)__Y); } -static __inline __m128 __attribute__((__always_inline__)) +static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_hsub_ps (__m128 __X, __m128 __Y) { return (__m128) __builtin_ia32_hsubps ((__v4sf)__X, (__v4sf)__Y); } -static __inline __m128 __attribute__((__always_inline__)) +static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_movehdup_ps (__m128 __X) { return (__m128) __builtin_ia32_movshdup ((__v4sf)__X); } -static __inline __m128 __attribute__((__always_inline__)) +static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_moveldup_ps (__m128 __X) { return (__m128) __builtin_ia32_movsldup ((__v4sf)__X); } -static __inline __m128d __attribute__((__always_inline__)) +static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_addsub_pd (__m128d __X, __m128d __Y) { return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y); } -static __inline __m128d __attribute__((__always_inline__)) +static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_hadd_pd (__m128d __X, __m128d __Y) { return (__m128d) __builtin_ia32_haddpd ((__v2df)__X, (__v2df)__Y); } -static __inline __m128d __attribute__((__always_inline__)) +static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_hsub_pd (__m128d __X, __m128d __Y) { return (__m128d) __builtin_ia32_hsubpd ((__v2df)__X, (__v2df)__Y); } -static __inline __m128d __attribute__((__always_inline__)) +static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_loaddup_pd (double const *__P) { return _mm_load1_pd (__P); } -static __inline __m128d __attribute__((__always_inline__)) +static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_movedup_pd (__m128d __X) { return _mm_shuffle_pd (__X, __X, _MM_SHUFFLE2 (0,0)); } -static __inline __m128i __attribute__((__always_inline__)) +static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_lddqu_si128 (__m128i const *__P) { return (__m128i) __builtin_ia32_lddqu ((char const *)__P); } -static __inline void __attribute__((__always_inline__)) +static __inline void __attribute__((__always_inline__, __artificial__)) _mm_monitor (void const * __P, unsigned int __E, unsigned int __H) { __builtin_ia32_monitor (__P, __E, __H); } -static __inline void __attribute__((__always_inline__)) +static __inline void __attribute__((__always_inline__, __artificial__)) _mm_mwait (unsigned int __E, unsigned int __H) { __builtin_ia32_mwait (__E, __H); |