summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2017-06-27 17:39:46 +0000
committerSanjay Patel <spatel@rotateright.com>2017-06-27 17:39:46 +0000
commitd53f6a898099601bfaff0f802d9fbd12e5537862 (patch)
tree45af5d9724cd2b69292428b2556a399ca2b89566
parent967669f6c180bdae5aef51be54ee63ea93f8d28d (diff)
downloadbcm5719-llvm-d53f6a898099601bfaff0f802d9fbd12e5537862.tar.gz
bcm5719-llvm-d53f6a898099601bfaff0f802d9fbd12e5537862.zip
[x86] weaken test checks that shouldn't be here in the first place
This test would fail after the proposed change in: https://reviews.llvm.org/D34242 llvm-svn: 306433
-rw-r--r--clang/test/CodeGen/avx512f-builtins.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c
index c66d83611ed..c3356461a34 100644
--- a/clang/test/CodeGen/avx512f-builtins.c
+++ b/clang/test/CodeGen/avx512f-builtins.c
@@ -1,4 +1,7 @@
// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512f -emit-llvm -o - -Wall -Werror | FileCheck %s
+
+// FIXME: It's wrong to check LLVM IR transformations from clang. This run should be removed and tests added to the appropriate LLVM pass.
+
// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512f -O2 -emit-llvm -o - -Wall -Werror | FileCheck %s -check-prefix=O2
#include <immintrin.h>
@@ -8240,10 +8243,10 @@ __m128 test_mm_mask_move_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
// O2-LABEL: @test_mm_mask_move_ss
// O2: %[[M:.*]] = and i8 %__U, 1
- // O2: %[[M2:.*]] = icmp ne i8 %[[M]], 0
- // O2: %[[ELM1:.*]] = extractelement <4 x float> %__B, i32 0
- // O2: %[[ELM2:.*]] = extractelement <4 x float> %__W, i32 0
- // O2: %[[SEL:.*]] = select i1 %[[M2]], float %[[ELM1]], float %[[ELM2]]
+ // O2: %[[M2:.*]] = icmp
+ // O2: %[[ELM1:.*]] = extractelement <4 x float>
+ // O2: %[[ELM2:.*]] = extractelement <4 x float>
+ // O2: %[[SEL:.*]] = select i1 %[[M2]]
// O2: %[[RES:.*]] = insertelement <4 x float> %__A, float %[[SEL]], i32 0
// O2: ret <4 x float> %[[RES]]
return _mm_mask_move_ss ( __W, __U, __A, __B);
@@ -8253,9 +8256,9 @@ __m128 test_mm_maskz_move_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
// O2-LABEL: @test_mm_maskz_move_ss
// O2: %[[M:.*]] = and i8 %__U, 1
- // O2: %[[M2:.*]] = icmp ne i8 %[[M]], 0
+ // O2: %[[M2:.*]] = icmp
// O2: %[[ELM1:.*]] = extractelement <4 x float> %__B, i32 0
- // O2: %[[SEL:.*]] = select i1 %[[M2]], float %[[ELM1]], float 0.0
+ // O2: %[[SEL:.*]] = select i1 %[[M2]]
// O2: %[[RES:.*]] = insertelement <4 x float> %__A, float %[[SEL]], i32 0
// O2: ret <4 x float> %[[RES]]
return _mm_maskz_move_ss (__U, __A, __B);
@@ -8265,10 +8268,10 @@ __m128d test_mm_mask_move_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __
{
// O2-LABEL: @test_mm_mask_move_sd
// O2: %[[M:.*]] = and i8 %__U, 1
- // O2: %[[M2:.*]] = icmp ne i8 %[[M]], 0
- // O2: %[[ELM1:.*]] = extractelement <2 x double> %__B, i32 0
- // O2: %[[ELM2:.*]] = extractelement <2 x double> %__W, i32 0
- // O2: %[[SEL:.*]] = select i1 %[[M2]], double %[[ELM1]], double %[[ELM2]]
+ // O2: %[[M2:.*]] = icmp
+ // O2: %[[ELM1:.*]] = extractelement <2 x double>
+ // O2: %[[ELM2:.*]] = extractelement <2 x double>
+ // O2: %[[SEL:.*]] = select i1 %[[M2]]
// O2: %[[RES:.*]] = insertelement <2 x double> %__A, double %[[SEL]], i32 0
// O2: ret <2 x double> %[[RES]]
return _mm_mask_move_sd ( __W, __U, __A, __B);
@@ -8278,9 +8281,9 @@ __m128d test_mm_maskz_move_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
// O2-LABEL: @test_mm_maskz_move_sd
// O2: %[[M:.*]] = and i8 %__U, 1
- // O2: %[[M2:.*]] = icmp ne i8 %[[M]], 0
+ // O2: %[[M2:.*]] = icmp
// O2: %[[ELM1:.*]] = extractelement <2 x double> %__B, i32 0
- // O2: %[[SEL:.*]] = select i1 %[[M2]], double %[[ELM1]], double 0.0
+ // O2: %[[SEL:.*]] = select i1 %[[M2]]
// O2: %[[RES:.*]] = insertelement <2 x double> %__A, double %[[SEL]], i32 0
// O2: ret <2 x double> %[[RES]]
return _mm_maskz_move_sd (__U, __A, __B);
OpenPOWER on IntegriCloud