diff options
author | David S. Miller <davem@davemloft.net> | 2011-12-06 22:42:23 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2011-12-06 14:42:23 -0800 |
commit | eab47093e25bf60d3524cca09297218ddb71d643 (patch) | |
tree | d48fda3c0c2796d78123636649cb70ae3c388948 /gcc | |
parent | 806fc6aa98cd8071c9b451347c9ce2cf071c0598 (diff) | |
download | gcc-eab47093e25bf60d3524cca09297218ddb71d643.tar.gz |
sparc: Fix warnings when using visintrin.h with VIS level lower than 3.
* config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.
From-SVN: r182067
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/sparc/visintrin.h | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b0fe1a9eea..2ccfa6159c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-12-06 David S. Miller <davem@davemloft.net> + + * config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection. + 2011-12-06 Georg-Johann Lay <avr@gjlay.de> * config/avr/avr.c (avr_file_start): Fix missing , diff --git a/gcc/config/sparc/visintrin.h b/gcc/config/sparc/visintrin.h index deb68b4a724..eb4d739046e 100644 --- a/gcc/config/sparc/visintrin.h +++ b/gcc/config/sparc/visintrin.h @@ -24,6 +24,8 @@ #ifndef _VISINTRIN_H_INCLUDED #define _VISINTRIN_H_INCLUDED +#ifdef __VIS__ + typedef int __v2si __attribute__ ((__vector_size__ (8))); typedef int __v1si __attribute__ ((__vector_size__ (4))); typedef short __v4hi __attribute__ ((__vector_size__ (8))); @@ -32,6 +34,8 @@ typedef unsigned char __v8qi __attribute__ ((__vector_size__ (8))); typedef unsigned char __v4qi __attribute__ ((__vector_size__ (4))); typedef int __i64 __attribute__ ((__mode__ (DI))); +#if __VIS__ >= 0x200 + extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __vis_write_gsr (__i64 __A) @@ -46,6 +50,8 @@ __vis_read_gsr (void) return __builtin_vis_read_gsr (); } +#endif /* __VIS__ >= 0x200 */ + extern __inline void * __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __vis_alignaddr (void *__A, long __B) @@ -354,6 +360,8 @@ __vis_array32 (long __A, long __B) return __builtin_vis_array32 (__A, __B); } +#if __VIS__ >= 0x200 + extern __inline long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __vis_bmask (long __A, long __B) @@ -431,6 +439,10 @@ __vis_edge32ln (void *__A, void *__B) return __builtin_vis_edge32ln (__A, __B); } +#endif /* __VIS__ >= 0x200 */ + +#if __VIS__ >= 0x300 + extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __vis_cmask8 (long __A) @@ -690,4 +702,8 @@ __vis_xmulxhi (__i64 __A, __i64 __B) return __builtin_vis_xmulxhi (__A, __B); } +#endif /* __VIS__ >= 0x300 */ + +#endif /* __VIS__ */ + #endif /* _VISINTRIN_H_INCLUDED */ |