From d6b15c9d887dfc418c50db34c053a977c8d309b5 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 26 Nov 2013 11:17:57 +0000 Subject: Merging r195469: ------------------------------------------------------------------------ r195469 | dsanders | 2013-11-22 07:47:18 -0800 (Fri, 22 Nov 2013) | 4 lines [mips][msa] Add test case that should have been added in r195456. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195744 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Mips/msa/llvm-stress-s2090927243-simplified.ll | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 test/CodeGen/Mips/msa/llvm-stress-s2090927243-simplified.ll (limited to 'test/CodeGen/Mips/msa') diff --git a/test/CodeGen/Mips/msa/llvm-stress-s2090927243-simplified.ll b/test/CodeGen/Mips/msa/llvm-stress-s2090927243-simplified.ll new file mode 100644 index 0000000..3811314 --- /dev/null +++ b/test/CodeGen/Mips/msa/llvm-stress-s2090927243-simplified.ll @@ -0,0 +1,31 @@ +; RUN: llc -march=mips < %s +; RUN: llc -march=mips -mattr=+msa,+fp64 < %s +; RUN: llc -march=mipsel < %s +; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s + +; This test originally failed for MSA with a "Cannot select ..." error. +; This was because undef's are ignored when checking if a vector constant is a +; splat, but are legalized to zero if left in the DAG which changes the constant +; into a non-splat. +; +; It should at least successfully build. + +define void @autogen_SD2090927243() { +BB: + br label %CF77 + +CF77: ; preds = %CF77, %CF80 + %Shuff27 = shufflevector <16 x i8> , + <16 x i8> , + <16 x i32> + %ZE30 = zext <16 x i8> %Shuff27 to <16 x i32> + %Cmp32 = fcmp ueq float undef, 0x3CDA6E5E40000000 + br i1 %Cmp32, label %CF77, label %CF + +CF: ; preds = %CF, %CF81 + %E48 = extractelement <16 x i32> %ZE30, i32 14 + br i1 undef, label %CF, label %CF78 + +CF78: ; preds = %CF + ret void +} -- cgit v1.1