diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-03-15 20:47:26 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-03-15 20:47:26 +0000 |
commit | a24cb40be24e854faa8fb2c2148422a19c4a0ea5 (patch) | |
tree | c287e4f701e899faefab85f2f862e0e0340c196d /test/CodeGen | |
parent | 4f9fc854bc8d1482e65cd8fad464644a24fca4bf (diff) | |
download | external_llvm-a24cb40be24e854faa8fb2c2148422a19c4a0ea5.zip external_llvm-a24cb40be24e854faa8fb2c2148422a19c4a0ea5.tar.gz external_llvm-a24cb40be24e854faa8fb2c2148422a19c4a0ea5.tar.bz2 |
Some minor cleanups based on feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127694 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r-- | test/CodeGen/ARM/vext.ll | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/vext.ll b/test/CodeGen/ARM/vext.ll index c8d9045..49a042b 100644 --- a/test/CodeGen/ARM/vext.ll +++ b/test/CodeGen/ARM/vext.ll @@ -121,3 +121,15 @@ define <4 x i16> @test_largespan(<8 x i16>* %B) nounwind { %tmp2 = shufflevector <8 x i16> %tmp1, <8 x i16> undef, <4 x i32> <i32 0, i32 2, i32 4, i32 6> ret <4 x i16> %tmp2 } + +; The actual shuffle code only handles some cases, make sure we check +; this rather than blindly emitting a VECTOR_SHUFFLE (infinite +; lowering loop can result otherwise). +define <8 x i16> @test_illegal(<8 x i16>* %A, <8 x i16>* %B) nounwind { +;CHECK: test_illegal: +;CHECK: vst1.16 + %tmp1 = load <8 x i16>* %A + %tmp2 = load <8 x i16>* %B + %tmp3 = shufflevector <8 x i16> %tmp1, <8 x i16> %tmp2, <8 x i32> <i32 0, i32 7, i32 5, i32 13, i32 3, i32 2, i32 2, i32 9> + ret <8 x i16> %tmp3 +} |