diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-01-24 14:59:02 +0000 | 
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-01-24 14:59:02 +0000 | 
| commit | f15886eb30776345ff81c37c7a7449c32330af29 (patch) | |
| tree | 87f0e378dd84fdfd3995454ebdd105ce2494ecd4 /llvm/test | |
| parent | d53504e37999771f4ce621c081cc3da42ea1c84d (diff) | |
| download | bcm5719-llvm-f15886eb30776345ff81c37c7a7449c32330af29.tar.gz bcm5719-llvm-f15886eb30776345ff81c37c7a7449c32330af29.zip | |
Regenerate shuffle sink test
llvm-svn: 323328
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll | 67 | 
1 files changed, 39 insertions, 28 deletions
| diff --git a/llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll b/llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll index 45c0b6e155a..74e73e87619 100644 --- a/llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll +++ b/llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll @@ -29,34 +29,45 @@ if_false:  }  define <8 x i16> @test_16bit(<8 x i16> %lhs, <8 x i16> %tmp, i1 %tst) { -; CHECK-SSE2-LABEL: @test_16bit -; CHECK-SSE2: if_true: -; CHECK-SSE2-NOT: shufflevector -; CHECK-SSE2: if_false: -; CHECK-SSE2: [[SPLAT:%[0-9a-zA-Z_]+]] = shufflevector -; CHECK-SSE2: shl <8 x i16> %lhs, [[SPLAT]] - -; CHECK-AVX2-LABEL: @test_16bit -; CHECK-AVX2: if_true: -; CHECK-AVX2-NOT: shufflevector -; CHECK-AVX2: if_false: -; CHECK-AVX2: [[SPLAT:%[0-9a-zA-Z_]+]] = shufflevector -; CHECK-AVX2: shl <8 x i16> %lhs, [[SPLAT]] - -; CHECK-XOP-LABEL: @test_16bit -; CHECK-XOP: if_true: -; CHECK-XOP-NOT: shufflevector -; CHECK-XOP: if_false: -; CHECK-XOP: [[SPLAT:%[0-9a-zA-Z_]+]] = shufflevector -; CHECK-XOP: shl <8 x i16> %lhs, [[SPLAT]] - -; CHECK-AVX512BW-LABEL: @test_16bit -; CHECK-AVX512BW: [[SPLAT:%[0-9a-zA-Z_]+]] = shufflevector -; CHECK-AVX512BW: if_true: -; CHECK-AVX512BW-NOT: shufflevector -; CHECK-AVX512BW: if_false: -; CHECK-AVX512BW-NOT: shufflevector -; CHECK-AVX512BW: shl <8 x i16> %lhs, [[SPLAT]] +; CHECK-SSE2-LABEL: @test_16bit( +; CHECK-SSE2-NEXT:    [[MASK:%.*]] = shufflevector <8 x i16> [[TMP:%.*]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-SSE2-NEXT:    br i1 [[TST:%.*]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]] +; CHECK-SSE2:       if_true: +; CHECK-SSE2-NEXT:    ret <8 x i16> [[MASK]] +; CHECK-SSE2:       if_false: +; CHECK-SSE2-NEXT:    [[TMP1:%.*]] = shufflevector <8 x i16> [[TMP]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-SSE2-NEXT:    [[RES:%.*]] = shl <8 x i16> [[LHS:%.*]], [[TMP1]] +; CHECK-SSE2-NEXT:    ret <8 x i16> [[RES]] +; +; CHECK-XOP-LABEL: @test_16bit( +; CHECK-XOP-NEXT:    [[MASK:%.*]] = shufflevector <8 x i16> [[TMP:%.*]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-XOP-NEXT:    br i1 [[TST:%.*]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]] +; CHECK-XOP:       if_true: +; CHECK-XOP-NEXT:    ret <8 x i16> [[MASK]] +; CHECK-XOP:       if_false: +; CHECK-XOP-NEXT:    [[TMP1:%.*]] = shufflevector <8 x i16> [[TMP]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-XOP-NEXT:    [[RES:%.*]] = shl <8 x i16> [[LHS:%.*]], [[TMP1]] +; CHECK-XOP-NEXT:    ret <8 x i16> [[RES]] +; +; CHECK-AVX2-LABEL: @test_16bit( +; CHECK-AVX2-NEXT:    [[MASK:%.*]] = shufflevector <8 x i16> [[TMP:%.*]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-AVX2-NEXT:    br i1 [[TST:%.*]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]] +; CHECK-AVX2:       if_true: +; CHECK-AVX2-NEXT:    ret <8 x i16> [[MASK]] +; CHECK-AVX2:       if_false: +; CHECK-AVX2-NEXT:    [[TMP1:%.*]] = shufflevector <8 x i16> [[TMP]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-AVX2-NEXT:    [[RES:%.*]] = shl <8 x i16> [[LHS:%.*]], [[TMP1]] +; CHECK-AVX2-NEXT:    ret <8 x i16> [[RES]] +; +; CHECK-AVX512BW-LABEL: @test_16bit( +; CHECK-AVX512BW-NEXT:    [[MASK:%.*]] = shufflevector <8 x i16> [[TMP:%.*]], <8 x i16> undef, <8 x i32> zeroinitializer +; CHECK-AVX512BW-NEXT:    br i1 [[TST:%.*]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]] +; CHECK-AVX512BW:       if_true: +; CHECK-AVX512BW-NEXT:    ret <8 x i16> [[MASK]] +; CHECK-AVX512BW:       if_false: +; CHECK-AVX512BW-NEXT:    [[RES:%.*]] = shl <8 x i16> [[LHS:%.*]], [[MASK]] +; CHECK-AVX512BW-NEXT:    ret <8 x i16> [[RES]] +;    %mask = shufflevector <8 x i16> %tmp, <8 x i16> undef, <8 x i32> zeroinitializer    br i1 %tst, label %if_true, label %if_false | 

