r270625 - Make the altivec intrinsics that require immediate constant propagation
Eric Christopher via cfe-commits
cfe-commits at lists.llvm.org
Tue May 24 15:25:06 PDT 2016
Author: echristo
Date: Tue May 24 17:25:06 2016
New Revision: 270625
URL: http://llvm.org/viewvc/llvm-project?rev=270625&view=rev
Log:
Make the altivec intrinsics that require immediate constant propagation
macros rather than functions.
Unfortunately couldn't come up with a simple testcase that didn't need
code generation to verify what was going on.
Modified:
cfe/trunk/lib/Headers/altivec.h
Modified: cfe/trunk/lib/Headers/altivec.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/altivec.h?rev=270625&r1=270624&r2=270625&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/altivec.h (original)
+++ cfe/trunk/lib/Headers/altivec.h Tue May 24 17:25:06 2016
@@ -2102,32 +2102,24 @@ static __inline__ void __attribute__((__
}
/* vec_dst */
-
-static __inline__ void __attribute__((__always_inline__))
-vec_dst(const void *__a, int __b, int __c) {
- __builtin_altivec_dst(__a, __b, __c);
-}
+#define vec_dst(__PTR, __CW, __STR) \
+ __extension__( \
+ { __builtin_altivec_dst((const void *)(__PTR), (__CW), (__STR)); })
/* vec_dstst */
-
-static __inline__ void __attribute__((__always_inline__))
-vec_dstst(const void *__a, int __b, int __c) {
- __builtin_altivec_dstst(__a, __b, __c);
-}
+#define vec_dstst(__PTR, __CW, __STR) \
+ __extension__( \
+ { __builtin_altivec_dstst((const void *)(__PTR), (__CW), (__STR)); })
/* vec_dststt */
-
-static __inline__ void __attribute__((__always_inline__))
-vec_dststt(const void *__a, int __b, int __c) {
- __builtin_altivec_dststt(__a, __b, __c);
-}
+#define vec_dststt(__PTR, __CW, __STR) \
+ __extension__( \
+ { __builtin_altivec_dststt((const void *)(__PTR), (__CW), (__STR)); })
/* vec_dstt */
-
-static __inline__ void __attribute__((__always_inline__))
-vec_dstt(const void *__a, int __b, int __c) {
- __builtin_altivec_dstt(__a, __b, __c);
-}
+#define vec_dstt(__PTR, __CW, __STR) \
+ __extension__( \
+ { __builtin_altivec_dstt((const void *)(__PTR), (__CW), (__STR)); })
/* vec_eqv */
More information about the cfe-commits
mailing list