AArch64: fix return type of vqmovun_high_*.

These should be returning an unsigned quantity.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@275195 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tim Northover 2016-07-12 17:38:50 +00:00
parent dde42d90c1
commit 1cda5f1160
2 changed files with 8 additions and 1 deletions

View File

@ -967,7 +967,7 @@ def XTN2 : SOpInst<"vmovn_high", "qhk", "silUsUiUl", OP_XTN>;
////////////////////////////////////////////////////////////////////////////////
// Signed integer saturating extract and unsigned narrow to high
def SQXTUN2 : SOpInst<"vqmovun_high", "qhk", "sil", OP_SQXTUN>;
def SQXTUN2 : SOpInst<"vqmovun_high", "emd", "HsHiHl", OP_SQXTUN>;
////////////////////////////////////////////////////////////////////////////////
// Integer saturating extract and narrow to high

View File

@ -0,0 +1,7 @@
// RUN: %clang_cc1 -triple arm64-apple-darwin -target-feature +neon -Wvector-conversion -fsyntax-only -ffreestanding -verify %s
#include <arm_neon.h>
int16x8_t foo(int8x8_t p0, int16x8_t p1) {
return vqmovun_high_s16(p0, p1); // expected-warning {{incompatible vector types returning 'uint8x16_t'}}
}