diff options
author | Sanjay Patel <spatel@rotateright.com> | 2016-08-09 20:09:16 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2016-08-09 20:09:16 +0000 |
commit | b61346b8b0804adcf7b08326fcb026e24a4d3ba9 (patch) | |
tree | 538b6e45353078d08ee06210a47fc70ecdf65c24 | |
parent | b2d12b81c34a14a29cd12d1a597f49b344de7a07 (diff) | |
download | bcm5719-llvm-b61346b8b0804adcf7b08326fcb026e24a4d3ba9.tar.gz bcm5719-llvm-b61346b8b0804adcf7b08326fcb026e24a4d3ba9.zip |
regenerate checks and remove 'opt' run dependency
llvm-svn: 278154
-rw-r--r-- | llvm/test/CodeGen/X86/select-with-and-or.ll | 82 |
1 files changed, 48 insertions, 34 deletions
diff --git a/llvm/test/CodeGen/X86/select-with-and-or.ll b/llvm/test/CodeGen/X86/select-with-and-or.ll index 40af46bc0ff..cfcb546fc16 100644 --- a/llvm/test/CodeGen/X86/select-with-and-or.ll +++ b/llvm/test/CodeGen/X86/select-with-and-or.ll @@ -1,72 +1,86 @@ -; RUN: opt < %s -O3 | \ -; RUN: llc -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -mattr=+avx | FileCheck %s +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s define <4 x i32> @test1(<4 x float> %a, <4 x float> %b, <4 x i32> %c) { +; CHECK-LABEL: test1: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpnleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: vandps %xmm2, %xmm0, %xmm0 +; CHECK-NEXT: retq +; %f = fcmp ult <4 x float> %a, %b %r = select <4 x i1> %f, <4 x i32> %c, <4 x i32> zeroinitializer ret <4 x i32> %r -; CHECK: test1 -; CHECK: cmpnle -; CHECK-NEXT: andps -; CHECK: ret } define <4 x i32> @test2(<4 x float> %a, <4 x float> %b, <4 x i32> %c) { +; CHECK-LABEL: test2: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpnleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: vorps %xmm2, %xmm0, %xmm0 +; CHECK-NEXT: retq +; %f = fcmp ult <4 x float> %a, %b %r = select <4 x i1> %f, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, <4 x i32> %c ret <4 x i32> %r -; CHECK: test2 -; CHECK: cmpnle -; CHECK-NEXT: orps -; CHECK: ret } define <4 x i32> @test3(<4 x float> %a, <4 x float> %b, <4 x i32> %c) { +; CHECK-LABEL: test3: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: vandps %xmm2, %xmm0, %xmm0 +; CHECK-NEXT: retq +; %f = fcmp ult <4 x float> %a, %b %r = select <4 x i1> %f, <4 x i32> zeroinitializer, <4 x i32> %c ret <4 x i32> %r -; CHECK: test3 -; CHECK: cmple -; CHECK-NEXT: andps -; CHECK: ret } define <4 x i32> @test4(<4 x float> %a, <4 x float> %b, <4 x i32> %c) { +; CHECK-LABEL: test4: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: vorps %xmm2, %xmm0, %xmm0 +; CHECK-NEXT: retq +; %f = fcmp ult <4 x float> %a, %b %r = select <4 x i1> %f, <4 x i32> %c, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> ret <4 x i32> %r -; CHECK: test4 -; CHECK: cmple -; CHECK-NEXT: orps -; CHECK: ret } define <4 x i32> @test5(<4 x float> %a, <4 x float> %b, <4 x i32> %c) { +; CHECK-LABEL: test5: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpnleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: retq +; %f = fcmp ult <4 x float> %a, %b - %r = select <4 x i1> %f, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, <4 x i32> zeroinitializer + %r = sext <4 x i1> %f to <4 x i32> ret <4 x i32> %r -; CHECK: test5 -; CHECK: cmpnle -; CHECK-NEXT: ret } define <4 x i32> @test6(<4 x float> %a, <4 x float> %b, <4 x i32> %c) { - %f = fcmp ult <4 x float> %a, %b - %r = select <4 x i1> %f, <4 x i32> zeroinitializer, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> +; CHECK-LABEL: test6: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: retq +; + %not.f = fcmp oge <4 x float> %a, %b + %r = sext <4 x i1> %not.f to <4 x i32> ret <4 x i32> %r -; CHECK: test6 -; CHECK: cmple -; CHECK-NEXT: ret } define <4 x i32> @test7(<4 x float> %a, <4 x float> %b, <4 x i32>* %p) { +; CHECK-LABEL: test7: +; CHECK: # BB#0: +; CHECK-NEXT: vcmpnleps %xmm0, %xmm1, %xmm0 +; CHECK-NEXT: vandps (%rdi), %xmm0, %xmm0 +; CHECK-NEXT: retq +; %f = fcmp ult <4 x float> %a, %b - %s = sext <4 x i1> %f to <4 x i32> - %l = load <4 x i32>, <4 x i32>* %p - %r = and <4 x i32> %l, %s + %l = load <4 x i32>, <4 x i32>* %p, align 16 + %r = select <4 x i1> %f, <4 x i32> %l, <4 x i32> zeroinitializer ret <4 x i32> %r -; CHECK: test7 -; CHECK: cmpnle -; CHECK-NEXT: andps -; CHECK: ret } + |