From 7a4d7d47c965fbc67d7cb5da51340fd87c1ea8b3 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Wed, 18 May 2016 13:47:16 +0000 Subject: [PATCH] [X86][SSE41] Sync with llvm/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll llvm-svn: 269926 --- clang/test/CodeGen/sse41-builtins.c | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/clang/test/CodeGen/sse41-builtins.c b/clang/test/CodeGen/sse41-builtins.c index c957af8c52ce..76a9b659b572 100644 --- a/clang/test/CodeGen/sse41-builtins.c +++ b/clang/test/CodeGen/sse41-builtins.c @@ -155,21 +155,21 @@ __m128i test_mm_cvtepu32_epi64(__m128i a) { __m128d test_mm_dp_pd(__m128d x, __m128d y) { // CHECK-LABEL: test_mm_dp_pd - // CHECK: call <2 x double> @llvm.x86.sse41.dppd - return _mm_dp_pd(x, y, 2); + // CHECK: call <2 x double> @llvm.x86.sse41.dppd(<2 x double> {{.*}}, <2 x double> {{.*}}, i8 7) + return _mm_dp_pd(x, y, 7); } __m128 test_mm_dp_ps(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_dp_ps - // CHECK: call <4 x float> @llvm.x86.sse41.dpps - return _mm_dp_ps(x, y, 2); + // CHECK: call <4 x float> @llvm.x86.sse41.dpps(<4 x float> {{.*}}, <4 x float> {{.*}}, i8 7) + return _mm_dp_ps(x, y, 7); } int test_mm_extract_epi8(__m128i x) { // CHECK-LABEL: test_mm_extract_epi8 - // CHECK: extractelement <16 x i8> %{{.*}}, i32 0 + // CHECK: extractelement <16 x i8> %{{.*}}, i32 1 // CHECK: zext i8 %{{.*}} to i32 - return _mm_extract_epi8(x, 16); + return _mm_extract_epi8(x, 1); } int test_mm_extract_epi32(__m128i x) { @@ -233,8 +233,8 @@ __m128i test_mm_insert_epi64(__m128i x, long long b) { __m128 test_mm_insert_ps(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_insert_ps - // CHECK: call <4 x float> @llvm.x86.sse41.insertps(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 5) - return _mm_insert_ps(x, y, 5); + // CHECK: call <4 x float> @llvm.x86.sse41.insertps(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 4) + return _mm_insert_ps(x, y, 4); } __m128i test_mm_max_epi8(__m128i x, __m128i y) { @@ -243,18 +243,18 @@ __m128i test_mm_max_epi8(__m128i x, __m128i y) { return _mm_max_epi8(x, y); } -__m128i test_mm_max_epu16(__m128i x, __m128i y) { - // CHECK-LABEL: test_mm_max_epu16 - // CHECK: call <8 x i16> @llvm.x86.sse41.pmaxuw(<8 x i16> %{{.*}}, <8 x i16> %{{.*}}) - return _mm_max_epu16(x, y); -} - __m128i test_mm_max_epi32(__m128i x, __m128i y) { // CHECK-LABEL: test_mm_max_epi32 // CHECK: call <4 x i32> @llvm.x86.sse41.pmaxsd(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}) return _mm_max_epi32(x, y); } +__m128i test_mm_max_epu16(__m128i x, __m128i y) { + // CHECK-LABEL: test_mm_max_epu16 + // CHECK: call <8 x i16> @llvm.x86.sse41.pmaxuw(<8 x i16> %{{.*}}, <8 x i16> %{{.*}}) + return _mm_max_epu16(x, y); +} + __m128i test_mm_max_epu32(__m128i x, __m128i y) { // CHECK-LABEL: test_mm_max_epu32 // CHECK: call <4 x i32> @llvm.x86.sse41.pmaxud(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}) @@ -267,18 +267,18 @@ __m128i test_mm_min_epi8(__m128i x, __m128i y) { return _mm_min_epi8(x, y); } -__m128i test_mm_min_epu16(__m128i x, __m128i y) { - // CHECK-LABEL: test_mm_min_epu16 - // CHECK: call <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16> %{{.*}}, <8 x i16> %{{.*}}) - return _mm_min_epu16(x, y); -} - __m128i test_mm_min_epi32(__m128i x, __m128i y) { // CHECK-LABEL: test_mm_min_epi32 // CHECK: call <4 x i32> @llvm.x86.sse41.pminsd(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}) return _mm_min_epi32(x, y); } +__m128i test_mm_min_epu16(__m128i x, __m128i y) { + // CHECK-LABEL: test_mm_min_epu16 + // CHECK: call <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16> %{{.*}}, <8 x i16> %{{.*}}) + return _mm_min_epu16(x, y); +} + __m128i test_mm_min_epu32(__m128i x, __m128i y) { // CHECK-LABEL: test_mm_min_epu32 // CHECK: call <4 x i32> @llvm.x86.sse41.pminud(<4 x i32> %{{.*}}, <4 x i32> %{{.*}})