]> granicus.if.org Git - clang/commitdiff
Add set intrinsics
authorAnders Carlsson <andersca@mac.com>
Mon, 22 Dec 2008 02:51:35 +0000 (02:51 +0000)
committerAnders Carlsson <andersca@mac.com>
Mon, 22 Dec 2008 02:51:35 +0000 (02:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61321 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Headers/xmmintrin.devel.h

index acb6e279be57d0d8e63218d6955bf40349092e9e..828f0dd6a5904b80f2e14e73b3a5921b7f266bfe 100644 (file)
@@ -455,6 +455,31 @@ static inline __m128 __attribute__((__always_inline__)) _mm_loadr_ps(float *p)
   return __builtin_shufflevector(a, a, 3, 2, 1, 0);
 }
 
+static inline __m128 __attribute__((__always_inline__)) _mm_set_ss(float w)
+{
+  return (__m128){ w, 0, 0, 0 };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_set1_ps(float w)
+{
+  return (__m128){ w, w, w, w };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_set_ps(float z, float y, float x, float w)
+{
+  return (__m128){ w, x, y, z };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_setr_ps(float z, float y, float x, float w)
+{
+  return (__m128){ z, y, x, w };
+}
+
+static inline __m128 __attribute__((__always__inline__)) _mm_setzero_ps(void)
+{
+  return (__m128){ 0, 0, 0, 0 };
+}
+
 #endif /* __SSE__ */
 
 #endif /* __XMMINTRIN_H */