summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2008-12-22 01:26:50 +0000
committerAnders Carlsson <andersca@mac.com>2008-12-22 01:26:50 +0000
commit1e4a9b7c0d8128012ab0b0f4547ea4c4199f776b (patch)
tree08b3f46fa94afdd25be5a879f2d9c8ed254d8671 /clang
parent157643c8d74bf2ca66764ea44e2f4677d70fde0c (diff)
downloadbcm5719-llvm-1e4a9b7c0d8128012ab0b0f4547ea4c4199f776b.tar.gz
bcm5719-llvm-1e4a9b7c0d8128012ab0b0f4547ea4c4199f776b.zip
_mm_cvtsi64_ss is 64-bit only, so wrap it in #ifdef __x86_64__
Add composite conversion intrinsics - will implement them shortly. llvm-svn: 61318
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Headers/xmmintrin.devel.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/clang/lib/Headers/xmmintrin.devel.h b/clang/lib/Headers/xmmintrin.devel.h
index 448c88365ad..5ae6aeb85c9 100644
--- a/clang/lib/Headers/xmmintrin.devel.h
+++ b/clang/lib/Headers/xmmintrin.devel.h
@@ -357,16 +357,68 @@ static inline __m128 __attribute__((__always_inline__)) _mm_cvtsi32_ss(__m128 a,
return __builtin_ia32_cvtsi2ss(a, b);
}
+#ifdef __x86_64__
+
static inline __m128 __attribute__((__always_inline__)) _mm_cvtsi64_ss(__m128 a, long long b)
{
return __builtin_ia32_cvtsi642ss(a, b);
}
+#endif
+
static inline __m128 __attribute__((__always_inline__)) _mm_cvtpi32_ps(__m128 a, __m64 b)
{
return __builtin_ia32_cvtpi2ps(a, (__v2si)b);
}
+static inline __m128 __attribute__((__always_inline__)) _mm_cvtpi16_ps(__m64 a)
+{
+ // FIXME: Implement
+ return (__m128){ 0, 0, 0, 0 };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_cvtpu16_ps(__m64 a)
+{
+ // FIXME: Implement
+ return (__m128){ 0, 0, 0, 0 };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_cvtpi8_ps(__m64 a)
+{
+ // FIXME: Implement
+ return (__m128){ 0, 0, 0, 0 };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_cvtpu8_ps(__m64 a)
+{
+ // FIXME: Implement
+ return (__m128){ 0, 0, 0, 0 };
+}
+
+static inline __m128 __attribute__((__always_inline__)) _mm_cvtpi32x2_ps(__m64 a, __m64 b)
+{
+ // FIXME: Implement
+ return (__m128){ 0, 0, 0, 0 };
+}
+
+static inline __m64 __attribute__((__always_inline__)) _mm_cvtps_pi16(__m128 a)
+{
+ // FIXME: Implement
+ return _mm_setzero_si64();
+}
+
+static inline __m64 __attribute__((__always_inline__)) _mm_cvtps_pi8(__m128 a)
+{
+ // FIXME: Implement
+ return _mm_setzero_si64();
+}
+
+static inline float __attribute__((__always_inline__)) _mm_cvtss_f32(__m128 a)
+{
+ // FIXME: Implement
+ return 0;
+}
+
#endif /* __SSE__ */
#endif /* __XMMINTRIN_H */
OpenPOWER on IntegriCloud