From 9258b76d8d751984ab005059db230265320aa93d Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Tue, 18 Oct 2011 17:34:51 +0000 Subject: Fix incorrect check for sign-extended constant BUILD_VECTOR. llvm-svn: 142371 --- llvm/test/CodeGen/ARM/vmul.ll | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'llvm/test/CodeGen/ARM/vmul.ll') diff --git a/llvm/test/CodeGen/ARM/vmul.ll b/llvm/test/CodeGen/ARM/vmul.ll index 1780d6e66be..61d89bbae83 100644 --- a/llvm/test/CodeGen/ARM/vmul.ll +++ b/llvm/test/CodeGen/ARM/vmul.ll @@ -514,3 +514,14 @@ entry: store <8 x i8> %10, <8 x i8>* %11, align 8 ret void } + +; If one operand has a zero-extend and the other a sign-extend, vmull +; cannot be used. +define i16 @vmullWithInconsistentExtensions(<8 x i8> %vec) { +; CHECK: vmullWithInconsistentExtensions +; CHECK-NOT: vmull.s8 + %1 = sext <8 x i8> %vec to <8 x i16> + %2 = mul <8 x i16> %1, + %3 = extractelement <8 x i16> %2, i32 0 + ret i16 %3 +} -- cgit v1.2.3