From 89315a2bfd431ce9737f3b48ff53b0ba085c32bf Mon Sep 17 00:00:00 2001 From: Andrea Di Biagio Date: Thu, 15 Oct 2015 09:54:25 +0000 Subject: [PATCH] [x86] Merge test pr24562.ll into x86-fold-pshufb.ll. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250387 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/pr24562.ll | 19 ------------------- test/CodeGen/X86/x86-fold-pshufb.ll | 19 ++++++++++++++++++- 2 files changed, 18 insertions(+), 20 deletions(-) delete mode 100644 test/CodeGen/X86/pr24562.ll diff --git a/test/CodeGen/X86/pr24562.ll b/test/CodeGen/X86/pr24562.ll deleted file mode 100644 index f2e134bbd07..00000000000 --- a/test/CodeGen/X86/pr24562.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llc -mattr=+ssse3 -mtriple=x86_64-unknown-unknown < %s | FileCheck %s - -; The pshufb from function @pr24562 was wrongly folded into its first operand -; as a result of a late target shuffle combine on the legalized selection dag. -; -; Check that the pshufb is correctly folded to a zero vector. - -define <2 x i64> @pr24562() { -; CHECK-LABEL: pr24562: -; CHECK: # BB#0: # %entry -; CHECK-NEXT: xorps %xmm0, %xmm0 -; CHECK-NEXT: retq -entry: - %0 = call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> , <16 x i8> ) #2 - %1 = bitcast <16 x i8> %0 to <2 x i64> - ret <2 x i64> %1 -} - -declare <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8>, <16 x i8>) diff --git a/test/CodeGen/X86/x86-fold-pshufb.ll b/test/CodeGen/X86/x86-fold-pshufb.ll index c29e592bfe8..34d70445134 100644 --- a/test/CodeGen/X86/x86-fold-pshufb.ll +++ b/test/CodeGen/X86/x86-fold-pshufb.ll @@ -1,11 +1,12 @@ ; RUN: llc -relocation-model=pic -march=x86-64 -mtriple=x86_64-unknown-unknown -mattr=+ssse3 < %s | FileCheck %s +; RUN: llc -march=x86-64 -mtriple=x86_64-unknown-unknown -mattr=+ssse3 < %s | FileCheck %s ; Verify that the backend correctly folds the shuffle in function 'fold_pshufb' ; into a simple load from constant pool. define <2 x i64> @fold_pshufb() { ; CHECK-LABEL: fold_pshufb: -; CHECK: # BB#0: +; CHECK: # BB#0: # %entry ; CHECK-NEXT: movaps {{.*#+}} xmm0 = [0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0] ; CHECK-NEXT: retq entry: @@ -14,4 +15,20 @@ entry: ret <2 x i64> %1 } +; The pshufb from function @pr24562 was wrongly folded into its first operand +; as a result of a late target shuffle combine on the legalized selection dag. +; +; Check that the pshufb is correctly folded to a zero vector. + +define <2 x i64> @pr24562() { +; CHECK-LABEL: pr24562: +; CHECK: # BB#0: # %entry +; CHECK-NEXT: xorps %xmm0, %xmm0 +; CHECK-NEXT: retq +entry: + %0 = call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> , <16 x i8> ) #2 + %1 = bitcast <16 x i8> %0 to <2 x i64> + ret <2 x i64> %1 +} + declare <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8>, <16 x i8>) -- 2.11.0