diff options
Diffstat (limited to 'contrib/llvm/patches/patch-r266674-clang-r209489-fix-xmmintrin.diff')
-rw-r--r-- | contrib/llvm/patches/patch-r266674-clang-r209489-fix-xmmintrin.diff | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/contrib/llvm/patches/patch-r266674-clang-r209489-fix-xmmintrin.diff b/contrib/llvm/patches/patch-r266674-clang-r209489-fix-xmmintrin.diff deleted file mode 100644 index 78473aa..0000000 --- a/contrib/llvm/patches/patch-r266674-clang-r209489-fix-xmmintrin.diff +++ /dev/null @@ -1,49 +0,0 @@ -Pull in r209489 from upstream clang trunk (by Akira Hatanaka): - - Fix a bug in xmmintrin.h. - - The last step of _mm_cvtps_pi16 should use _mm_packs_pi32, which is a function - that reads two __m64 values and packs four 32-bit values into four 16-bit - values. - - <rdar://problem/16873717> - -Pull in r209559 from upstream clang trunk (by Akira Hatanaka): - - Recommit r209532 with -ffreestanding. - - This is a test case for r209489. - -Introduced here: http://svnweb.freebsd.org/changeset/base/266674 - -Index: tools/clang/lib/Headers/xmmintrin.h -=================================================================== ---- tools/clang/lib/Headers/xmmintrin.h -+++ tools/clang/lib/Headers/xmmintrin.h -@@ -903,7 +903,7 @@ _mm_cvtps_pi16(__m128 __a) - __a = _mm_movehl_ps(__a, __a); - __c = _mm_cvtps_pi32(__a); - -- return _mm_packs_pi16(__b, __c); -+ return _mm_packs_pi32(__b, __c); - } - - static __inline__ __m64 __attribute__((__always_inline__, __nodebug__)) -Index: tools/clang/test/Headers/xmmintrin.c -=================================================================== ---- tools/clang/test/Headers/xmmintrin.c -+++ tools/clang/test/Headers/xmmintrin.c -@@ -0,0 +1,13 @@ -+// RUN: %clang_cc1 %s -ffreestanding -triple x86_64-apple-macosx10.9.0 -emit-llvm -o - | FileCheck %s -+ -+#include <xmmintrin.h> -+ -+// Make sure the last step of _mm_cvtps_pi16 converts <4 x i32> to <4 x i16> by -+// checking that clang emits PACKSSDW instead of PACKSSWB. -+ -+// CHECK: define i64 @test_mm_cvtps_pi16 -+// CHECK: call x86_mmx @llvm.x86.mmx.packssdw -+ -+__m64 test_mm_cvtps_pi16(__m128 a) { -+ return _mm_cvtps_pi16(a); -+} |