aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-12-06 22:42:23 +0000
committerDavid S. Miller <davem@gcc.gnu.org>2011-12-06 14:42:23 -0800
commiteab47093e25bf60d3524cca09297218ddb71d643 (patch)
treed48fda3c0c2796d78123636649cb70ae3c388948
parent806fc6aa98cd8071c9b451347c9ce2cf071c0598 (diff)
downloadgcc-eab47093e25bf60d3524cca09297218ddb71d643.zip
gcc-eab47093e25bf60d3524cca09297218ddb71d643.tar.gz
gcc-eab47093e25bf60d3524cca09297218ddb71d643.tar.bz2
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sparc/visintrin.h16
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1b0fe1a..2ccfa61 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 deb68b4..eb4d739 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 */