diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2012-01-12 20:33:10 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2012-01-12 20:33:10 +0000 |
commit | 16db71089814c2a498cf2980d0013a59ade86e58 (patch) | |
tree | e629b584c827659e04fb6129b6762c03698b9657 /test/CodeGen/X86/avx-shuffle.ll | |
parent | c16c25fbc3b53da99dcaf27685a6116249f79b30 (diff) | |
download | llvm-16db71089814c2a498cf2980d0013a59ade86e58.tar.gz llvm-16db71089814c2a498cf2980d0013a59ade86e58.tar.bz2 llvm-16db71089814c2a498cf2980d0013a59ade86e58.tar.xz |
Fixed a bug in LowerVECTOR_SHUFFLE caused assertion failure
lc: X86ISelLowering.cpp:6480: llvm::SDValue llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue, llvm::SelectionDAG&) const: Assertion `V1.getOpcode() != ISD::UNDEF&& "Op 1 of shuffle should not be undef"' failed.
Added a test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148044 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/avx-shuffle.ll')
-rw-r--r-- | test/CodeGen/X86/avx-shuffle.ll | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/CodeGen/X86/avx-shuffle.ll b/test/CodeGen/X86/avx-shuffle.ll index ad611fc1b5..bb55ab6acd 100644 --- a/test/CodeGen/X86/avx-shuffle.ll +++ b/test/CodeGen/X86/avx-shuffle.ll @@ -54,4 +54,12 @@ entry: ; CHECK-NOT: vinsertf128 %shuffle.i = shufflevector <2 x double> %1, <2 x double> <double 0.000000e+00, double undef>, <4 x i32> <i32 0, i32 1, i32 2, i32 2> ret <4 x double> %shuffle.i -}
\ No newline at end of file +} + +define <16 x i16> @test7(<4 x i16> %a) nounwind { +; CHECK: test7 + + %b = shufflevector <4 x i16> %a, <4 x i16> undef, <16 x i32> <i32 1, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> + ret <16 x i16> %b +} + |