<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Florian, </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
It was committed intentionally - I remembered to remove WIP from the title but not the summary, apologies!</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
All the best, </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Rosie</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Florian Hahn <florian_hahn@apple.com><br>
<b>Sent:</b> Thursday, April 28, 2022 1:49 PM<br>
<b>To:</b> Rosie Sumpter <Rosie.Sumpter@arm.com>; Rosie Sumpter <llvmlistbot@llvm.org><br>
<b>Cc:</b> cfe-commits@lists.llvm.org <cfe-commits@lists.llvm.org><br>
<b>Subject:</b> Re: [clang] f7068c8 - [Sema][SVE2] Move/simplify Sema testing for SVE2 ACLE builtins</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi,<br>
<br>
The commit message mentions the patch is WIP. Just double-checking if it was committed by accident?<br>
<br>
Cheers,<br>
Florian<br>
<br>
> On Apr 28, 2022, at 13:46, Rosie Sumpter via cfe-commits <cfe-commits@lists.llvm.org> wrote:<br>
> <br>
> <br>
> Author: Rosie Sumpter<br>
> Date: 2022-04-28T13:41:09+01:00<br>
> New Revision: f7068c82a2560d97bf9826db1e917f931e887017<br>
> <br>
> URL: <a href="https://github.com/llvm/llvm-project/commit/f7068c82a2560d97bf9826db1e917f931e887017">
https://github.com/llvm/llvm-project/commit/f7068c82a2560d97bf9826db1e917f931e887017</a><br>
> DIFF: <a href="https://github.com/llvm/llvm-project/commit/f7068c82a2560d97bf9826db1e917f931e887017.diff">
https://github.com/llvm/llvm-project/commit/f7068c82a2560d97bf9826db1e917f931e887017.diff</a><br>
> <br>
> LOG: [Sema][SVE2] Move/simplify Sema testing for SVE2 ACLE builtins<br>
> <br>
> Currently for SVE2 ACLE builtins, single tests are used to verify both<br>
> clang code generation (when the feature is available) and semantic<br>
> error/warning messages (when the feature is unavailable). This WIP<br>
> patch moves the semantic testing for the values of immediate arguments<br>
> into dedicated Sema tests.<br>
> <br>
> Added: <br>
>    clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp<br>
>    clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_n.cpp<br>
>    clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_rotation.cpp<br>
> <br>
> Modified: <br>
> <br>
> <br>
> Removed: <br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cadd.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cdot.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cmla.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mla.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mls.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mul.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qcadd.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmulh.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdcmlah.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlah.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlsh.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmulh.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshlu.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshr.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rsra.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnb.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnt.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sli.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sra.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sri.c<br>
>    clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_xar.c<br>
> <br>
> <br>
> ################################################################################<br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cadd.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cadd.c<br>
> deleted file mode 100644<br>
> index dad4c7053aec6..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cadd.c<br>
> +++ /dev/null<br>
> @@ -1,85 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svcadd_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint8_t test_svcadd_s8_1(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s8,,)(op1, op2, 272);<br>
> -}<br>
> -<br>
> -svint8_t test_svcadd_s8_2(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s8,,)(op1, op2, 91);<br>
> -}<br>
> -<br>
> -svint8_t test_svcadd_s8_3(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s8,,)(op1, op2, 180);<br>
> -}<br>
> -<br>
> -svint8_t test_svcadd_s8_4(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s8,,)(op1, op2, 271);<br>
> -}<br>
> -<br>
> -svint16_t test_svcadd_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svcadd_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svcadd_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svcadd_u8(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_u8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svcadd_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svcadd_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svcadd_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcadd,_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cdot.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cdot.c<br>
> deleted file mode 100644<br>
> index fb18abe301b95..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cdot.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=warning %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=warning %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svcdot_s32(svint32_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcdot,_s32,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint64_t test_svcdot_s64(svint64_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcdot,_s64,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint32_t test_svcdot_lane_s32(svint32_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcdot_lane,_s32,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svcdot_lane_s32_1(svint32_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcdot_lane,_s32,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> -<br>
> -svint64_t test_svcdot_lane_s64(svint64_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svcdot_lane,_s64,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svcdot_lane_s64_1(svint64_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcdot_lane,_s64,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cmla.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cmla.c<br>
> deleted file mode 100644<br>
> index 8b2bdb67f560b..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_cmla.c<br>
> +++ /dev/null<br>
> @@ -1,188 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svcmla_s8(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s8,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint8_t test_svcmla_s8_1(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s8,,)(op1, op2, op3, 1);<br>
> -}<br>
> -<br>
> -svint8_t test_svcmla_s8_2(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s8,,)(op1, op2, op3, 18);<br>
> -}<br>
> -<br>
> -svint8_t test_svcmla_s8_3(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s8,,)(op1, op2, op3, 91);<br>
> -}<br>
> -<br>
> -svint8_t test_svcmla_s8_4(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s8,,)(op1, op2, op3, 181);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s16,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint32_t test_svcmla_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s32,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint64_t test_svcmla_s64(svint64_t op1, svint64_t op2, svint64_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_s64,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svuint8_t test_svcmla_u8(svuint8_t op1, svuint8_t op2, svuint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_u8,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svuint16_t test_svcmla_u16(svuint16_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_u16,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svuint32_t test_svcmla_u32(svuint32_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_u32,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svuint64_t test_svcmla_u64(svuint64_t op1, svuint64_t op2, svuint64_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla,_u64,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_1(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, 4, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_2(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, -1, 90);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_3(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, -1, 180);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_4(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, -1, 270);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_5(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_6(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, 1, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_7(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, 2, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_8(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, 3, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svcmla_lane_s16_9(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+2 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s16,,)(op1, op2, op3, 4, 19);<br>
> -}<br>
> -<br>
> -svint32_t test_svcmla_lane_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s32,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svcmla_lane_s32_1(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s32,,)(op1, op2, op3, 2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svcmla_lane_s32_2(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_s32,,)(op1, op2, op3, 1, 19);<br>
> -}<br>
> -<br>
> -svuint16_t test_svcmla_lane_u16(svuint16_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_u16,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svcmla_lane_u16_1(svuint16_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_u16,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> -<br>
> -svuint32_t test_svcmla_lane_u32(svuint32_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_u32,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svcmla_lane_u32_1(svuint32_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svcmla_lane,_u32,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mla.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mla.c<br>
> deleted file mode 100644<br>
> index 7eab67062bec2..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mla.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svmla_lane_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmla_lane,_s16,,)(op1, op2, op3, 8);<br>
> -}<br>
> -<br>
> -svint32_t test_svmla_lane_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmla_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmla_lane_s64(svint64_t op1, svint64_t op2, svint64_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svmla_lane,_s64,,)(op1, op2, op3, 2);<br>
> -}<br>
> -<br>
> -svuint16_t test_svmla_lane_u16(svuint16_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmla_lane,_u16,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmla_lane_u32(svuint32_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmla_lane,_u32,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmla_lane_u64(svuint64_t op1, svuint64_t op2, svuint64_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svmla_lane,_u64,,)(op1, op2, op3, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalb.c<br>
> deleted file mode 100644<br>
> index 05e4cd43a312c..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svmlalb_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalb_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmlalb_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlalb_lane,_s64,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmlalb_lane_u32(svuint32_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalb_lane,_u32,,)(op1, op2, op3, 8);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmlalb_lane_u64(svuint64_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlalb_lane,_u64,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlalb_lane_f32(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalb_lane,_f32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlalb_lane_f32_1(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalb_lane,_f32,,)(op1, op2, op3, 8);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalt.c<br>
> deleted file mode 100644<br>
> index d5cd7c5802d1d..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlalt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svmlalt_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalt_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmlalt_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlalt_lane,_s64,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmlalt_lane_u32(svuint32_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalt_lane,_u32,,)(op1, op2, op3, 8);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmlalt_lane_u64(svuint64_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlalt_lane,_u64,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlalt_lane_f32(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalt_lane,_f32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlalt_lane_f32_1(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlalt_lane,_f32,,)(op1, op2, op3, 8);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mls.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mls.c<br>
> deleted file mode 100644<br>
> index 2df794c767438..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mls.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svmls_lane_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmls_lane,_s16,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svmls_lane_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmls_lane,_s32,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svint64_t test_svmls_lane_s64(svint64_t op1, svint64_t op2, svint64_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svmls_lane,_s64,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svmls_lane_u16(svuint16_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmls_lane,_u16,,)(op1, op2, op3, 8);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmls_lane_u32(svuint32_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmls_lane,_u32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmls_lane_u64(svuint64_t op1, svuint64_t op2, svuint64_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svmls_lane,_u64,,)(op1, op2, op3, 2);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslb.c<br>
> deleted file mode 100644<br>
> index 4b948374dd109..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svmlslb_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslb_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmlslb_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlslb_lane,_s64,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmlslb_lane_u32(svuint32_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslb_lane,_u32,,)(op1, op2, op3, 8);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmlslb_lane_u64(svuint64_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlslb_lane,_u64,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlslb_lane_f32(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslb_lane,_f32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlslb_lane_f32_1(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslb_lane,_f32,,)(op1, op2, op3, 8);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslt.c<br>
> deleted file mode 100644<br>
> index 6defaec1e9d26..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mlslt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svmlslt_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslt_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmlslt_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlslt_lane,_s64,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmlslt_lane_u32(svuint32_t op1, svuint16_t op2, svuint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslt_lane,_u32,,)(op1, op2, op3, 8);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmlslt_lane_u64(svuint64_t op1, svuint32_t op2, svuint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmlslt_lane,_u64,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlslt_lane_f32(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslt_lane,_f32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svfloat32_t test_svmlslt_lane_f32_1(svfloat32_t op1, svfloat16_t op2, svfloat16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmlslt_lane,_f32,,)(op1, op2, op3, 8);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mul.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mul.c<br>
> deleted file mode 100644<br>
> index b495933337533..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mul.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svmul_lane_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmul_lane,_s16,,)(op1, op2, 8);<br>
> -}<br>
> -<br>
> -svint32_t test_svmul_lane_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmul_lane,_s32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmul_lane_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svmul_lane,_s64,,)(op1, op2, 2);<br>
> -}<br>
> -<br>
> -svuint16_t test_svmul_lane_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmul_lane,_u16,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmul_lane_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmul_lane,_u32,,)(op1, op2, 4);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmul_lane_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svmul_lane,_u64,,)(op1, op2, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullb.c<br>
> deleted file mode 100644<br>
> index 144932ac83340..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullb.c<br>
> +++ /dev/null<br>
> @@ -1,37 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svmullb_lane_s32(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmullb_lane,_s32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svmullb_lane_s64(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmullb_lane,_s64,,)(op1, op2, 4);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmullb_lane_u32(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmullb_lane,_u32,,)(op1, op2, 8);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmullb_lane_u64(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmullb_lane,_u64,,)(op1, op2, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullt.c<br>
> deleted file mode 100644<br>
> index ea0cb1d3ff3c4..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_mullt.c<br>
> +++ /dev/null<br>
> @@ -1,37 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svmullt_lane_s32(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmullt_lane,_s32,,)(op1, op2, 8);<br>
> -}<br>
> -<br>
> -svint64_t test_svmullt_lane_s64(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmullt_lane,_s64,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svmullt_lane_u32(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svmullt_lane,_u32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svmullt_lane_u64(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svmullt_lane,_u64,,)(op1, op2, 4);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qcadd.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qcadd.c<br>
> deleted file mode 100644<br>
> index 41ea94be3c5ff..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qcadd.c<br>
> +++ /dev/null<br>
> @@ -1,37 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svqcadd_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqcadd,_s8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqcadd_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqcadd,_s16,,)(op1, op2, 91);<br>
> -}<br>
> -<br>
> -svint32_t test_svqcadd_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqcadd,_s32,,)(op1, op2, 269);<br>
> -}<br>
> -<br>
> -svint64_t test_svqcadd_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqcadd,_s64,,)(op1, op2, 30);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalb.c<br>
> deleted file mode 100644<br>
> index 7c825f13794ff..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalb.c<br>
> +++ /dev/null<br>
> @@ -1,25 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svqdmlalb_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlalb_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmlalb_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlalb_lane,_s64,,)(op1, op2, op3, 4);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalt.c<br>
> deleted file mode 100644<br>
> index e95c7563b765d..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlalt.c<br>
> +++ /dev/null<br>
> @@ -1,25 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svqdmlalt_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlalt_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmlalt_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlalt_lane,_s64,,)(op1, op2, op3, 4);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslb.c<br>
> deleted file mode 100644<br>
> index f37661810020c..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslb.c<br>
> +++ /dev/null<br>
> @@ -1,25 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svqdmlslb_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlslb_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmlslb_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlslb_lane,_s64,,)(op1, op2, op3, 4);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslt.c<br>
> deleted file mode 100644<br>
> index be64fe805fab4..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmlslt.c<br>
> +++ /dev/null<br>
> @@ -1,25 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svqdmlslt_lane_s32(svint32_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlslt_lane,_s32,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmlslt_lane_s64(svint64_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmlslt_lane,_s64,,)(op1, op2, op3, 4);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmulh.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmulh.c<br>
> deleted file mode 100644<br>
> index 03c6032bb6b8a..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmulh.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svqdmulh_lane_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmulh_lane,_s16,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svqdmulh_lane_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmulh_lane,_s32,,)(op1, op2, 4);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmulh_lane_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svqdmulh_lane,_s64,,)(op1, op2, 2);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullb.c<br>
> deleted file mode 100644<br>
> index 2f7c708e7625b..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullb.c<br>
> +++ /dev/null<br>
> @@ -1,25 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svqdmullb_lane_s32(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmullb_lane,_s32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmullb_lane_s64(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmullb_lane,_s64,,)(op1, op2, 4);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullt.c<br>
> deleted file mode 100644<br>
> index d03f7111e668c..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qdmullt.c<br>
> +++ /dev/null<br>
> @@ -1,25 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint32_t test_svqdmullt_lane_s32(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqdmullt_lane,_s32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svqdmullt_lane_s64(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqdmullt_lane,_s64,,)(op1, op2, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdcmlah.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdcmlah.c<br>
> deleted file mode 100644<br>
> index 994acd8a5ae1d..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdcmlah.c<br>
> +++ /dev/null<br>
> @@ -1,115 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svqrdcmlah_s8(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s8,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint8_t test_svqrdcmlah_s8_1(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s8,,)(op1, op2, op3, 1);<br>
> -}<br>
> -<br>
> -svint8_t test_svqrdcmlah_s8_2(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s8,,)(op1, op2, op3, 18);<br>
> -}<br>
> -<br>
> -svint8_t test_svqrdcmlah_s8_3(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s8,,)(op1, op2, op3, 91);<br>
> -}<br>
> -<br>
> -svint8_t test_svqrdcmlah_s8_4(svint8_t op1, svint8_t op2, svint8_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s8,,)(op1, op2, op3, 181);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s16,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrdcmlah_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s32,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint64_t test_svqrdcmlah_s64(svint64_t op1, svint64_t op2, svint64_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah,_s64,,)(op1, op2, op3, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, -1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16_1(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, 4, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16_2(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, -1, 90);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16_3(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, -1, 180);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16_4(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, -1, 270);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16_5(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrdcmlah_lane_s16_6(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(op1, op2, op3, 1, 19);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrdcmlah_lane_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s32,,)(op1, op2, op3, 2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrdcmlah_lane_s32_1(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> -  return SVE_ACLE_FUNC(svqrdcmlah_lane,_s32,,)(op1, op2, op3, 0, 19);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlah.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlah.c<br>
> deleted file mode 100644<br>
> index e81a9dfd1a37f..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlah.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svqrdmlah_lane_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmlah_lane,_s16,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrdmlah_lane_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmlah_lane,_s32,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svint64_t test_svqrdmlah_lane_s64(svint64_t op1, svint64_t op2, svint64_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmlah_lane,_s64,,)(op1, op2, op3, 2);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlsh.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlsh.c<br>
> deleted file mode 100644<br>
> index a3ee155b3517d..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmlsh.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svqrdmlsh_lane_s16(svint16_t op1, svint16_t op2, svint16_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmlsh_lane,_s16,,)(op1, op2, op3, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrdmlsh_lane_s32(svint32_t op1, svint32_t op2, svint32_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmlsh_lane,_s32,,)(op1, op2, op3, 4);<br>
> -}<br>
> -<br>
> -svint64_t test_svqrdmlsh_lane_s64(svint64_t op1, svint64_t op2, svint64_t op3)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmlsh_lane,_s64,,)(op1, op2, op3, 2);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmulh.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmulh.c<br>
> deleted file mode 100644<br>
> index c72998d99bd77..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrdmulh.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svqrdmulh_lane_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmulh_lane,_s16,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrdmulh_lane_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmulh_lane,_s32,,)(op1, op2, 4);<br>
> -}<br>
> -<br>
> -svint64_t test_svqrdmulh_lane_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> -  return SVE_ACLE_FUNC(svqrdmulh_lane,_s64,,)(op1, op2, 2);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnb.c<br>
> deleted file mode 100644<br>
> index f5060a950738f..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svqrshrnb_n_s16(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnb,_n_s16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrshrnb_n_s32(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnb,_n_s32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrshrnb_n_s64(svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnb,_n_s64,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svqrshrnb_n_u16(svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnb,_n_u16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqrshrnb_n_u32(svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnb,_n_u32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqrshrnb_n_u64(svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnb,_n_u64,,)(op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnt.c<br>
> deleted file mode 100644<br>
> index 7e4339a18e0ef..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrnt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svqrshrnt_n_s16(svint8_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnt,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqrshrnt_n_s32(svint16_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnt,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svqrshrnt_n_s64(svint32_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnt,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svqrshrnt_n_u16(svuint8_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnt,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqrshrnt_n_u32(svuint16_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnt,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqrshrnt_n_u64(svuint32_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrnt,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunb.c<br>
> deleted file mode 100644<br>
> index 0f700ac2d8a8d..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunb.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svuint8_t test_svqrshrunb_n_s16(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrunb,_n_s16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqrshrunb_n_s32(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrunb,_n_s32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqrshrunb_n_s64(svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrunb,_n_s64,,)(op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunt.c<br>
> deleted file mode 100644<br>
> index c5c98c40b2536..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qrshrunt.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svuint8_t test_svqrshrunt_n_s16(svuint8_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrunt,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqrshrunt_n_s32(svuint16_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrunt,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqrshrunt_n_s64(svuint32_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqrshrunt,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshlu.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshlu.c<br>
> deleted file mode 100644<br>
> index 4139bf2f5374e..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshlu.c<br>
> +++ /dev/null<br>
> @@ -1,85 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svuint8_t test_svqshlu_n_s8_z(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s8,_z,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshlu_n_s16_z(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s16,_z,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshlu_n_s32_z(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s32,_z,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svqshlu_n_s64_z(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s64,_z,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint8_t test_svqshlu_n_s8_m(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s8,_m,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshlu_n_s16_m(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s16,_m,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshlu_n_s32_m(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s32,_m,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svqshlu_n_s64_m(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s64,_m,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint8_t test_svqshlu_n_s8_x(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s8,_x,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshlu_n_s16_x(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s16,_x,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshlu_n_s32_x(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s32,_x,)(pg, op1, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svqshlu_n_s64_x(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> -  return SVE_ACLE_FUNC(svqshlu,_n_s64,_x,)(pg, op1, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnb.c<br>
> deleted file mode 100644<br>
> index c51acf8c5c02c..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svqshrnb_n_s16(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnb,_n_s16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqshrnb_n_s32(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnb,_n_s32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svqshrnb_n_s64(svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnb,_n_s64,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svqshrnb_n_u16(svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnb,_n_u16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshrnb_n_u32(svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnb,_n_u32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshrnb_n_u64(svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnb,_n_u64,,)(op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnt.c<br>
> deleted file mode 100644<br>
> index 7e70139a138d7..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrnt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svqshrnt_n_s16(svint8_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnt,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svqshrnt_n_s32(svint16_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnt,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svqshrnt_n_s64(svint32_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnt,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svqshrnt_n_u16(svuint8_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnt,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshrnt_n_u32(svuint16_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnt,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshrnt_n_u64(svuint32_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqshrnt,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunb.c<br>
> deleted file mode 100644<br>
> index 552cd424e0f5c..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunb.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svuint8_t test_svqshrunb_n_s16(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqshrunb,_n_s16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshrunb_n_s32(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqshrunb,_n_s32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshrunb_n_s64(svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqshrunb,_n_s64,,)(op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunt.c<br>
> deleted file mode 100644<br>
> index 0b438651dcfec..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_qshrunt.c<br>
> +++ /dev/null<br>
> @@ -1,31 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svuint8_t test_svqshrunt_n_s16(svuint8_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svqshrunt,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svqshrunt_n_s32(svuint16_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svqshrunt,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svqshrunt_n_s64(svuint32_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svqshrunt,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshr.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshr.c<br>
> deleted file mode 100644<br>
> index 2b025612c741d..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshr.c<br>
> +++ /dev/null<br>
> @@ -1,181 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svrshr_n_s8_z(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s8,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint8_t test_svrshr_n_s8_z_1(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s8,_z,)(pg, op1, 9);<br>
> -}<br>
> -<br>
> -svint16_t test_svrshr_n_s16_z(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s16,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svrshr_n_s16_z_1(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s16,_z,)(pg, op1, 17);<br>
> -}<br>
> -<br>
> -svint32_t test_svrshr_n_s32_z(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s32,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svrshr_n_s32_z_1(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s32,_z,)(pg, op1, 33);<br>
> -}<br>
> -<br>
> -svint64_t test_svrshr_n_s64_z(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s64,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svrshr_n_s64_z_1(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s64,_z,)(pg, op1, 65);<br>
> -}<br>
> -<br>
> -svuint8_t test_svrshr_n_u8_z(svbool_t pg, svuint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u8,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svrshr_n_u16_z(svbool_t pg, svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u16,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svrshr_n_u32_z(svbool_t pg, svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u32,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svrshr_n_u64_z(svbool_t pg, svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u64,_z,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint8_t test_svrshr_n_s8_m(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s8,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svrshr_n_s16_m(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s16,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svrshr_n_s32_m(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s32,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svrshr_n_s64_m(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s64,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svrshr_n_u8_m(svbool_t pg, svuint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u8,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svrshr_n_u16_m(svbool_t pg, svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u16,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svrshr_n_u32_m(svbool_t pg, svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u32,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svrshr_n_u64_m(svbool_t pg, svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u64,_m,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint8_t test_svrshr_n_s8_x(svbool_t pg, svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s8,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svrshr_n_s16_x(svbool_t pg, svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s16,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svrshr_n_s32_x(svbool_t pg, svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s32,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svrshr_n_s64_x(svbool_t pg, svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_s64,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svrshr_n_u8_x(svbool_t pg, svuint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u8,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svrshr_n_u16_x(svbool_t pg, svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u16,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svrshr_n_u32_x(svbool_t pg, svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u32,_x,)(pg, op1, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svrshr_n_u64_x(svbool_t pg, svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrshr,_n_u64,_x,)(pg, op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnb.c<br>
> deleted file mode 100644<br>
> index 4479c1c4c44ef..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svrshrnb_n_s16(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnb,_n_s16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svrshrnb_n_s32(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnb,_n_s32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svrshrnb_n_s64(svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnb,_n_s64,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svrshrnb_n_u16(svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnb,_n_u16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svrshrnb_n_u32(svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnb,_n_u32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svrshrnb_n_u64(svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnb,_n_u64,,)(op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnt.c<br>
> deleted file mode 100644<br>
> index 02d446007f2f4..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rshrnt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svrshrnt_n_s16(svint8_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnt,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svrshrnt_n_s32(svint16_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnt,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svrshrnt_n_s64(svint32_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnt,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svrshrnt_n_u16(svuint8_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnt,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svrshrnt_n_u32(svuint16_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnt,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svrshrnt_n_u64(svuint32_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrshrnt,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rsra.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rsra.c<br>
> deleted file mode 100644<br>
> index 93adcfd3eede6..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_rsra.c<br>
> +++ /dev/null<br>
> @@ -1,61 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svrsra_n_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_s8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svrsra_n_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svrsra_n_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svrsra_n_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svrsra_n_u8(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_u8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svrsra_n_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svrsra_n_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svrsra_n_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svrsra,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllb.c<br>
> deleted file mode 100644<br>
> index c90fafa6a0bf0..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svshllb_n_s16(svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svshllb,_n_s16,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svshllb_n_s32(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svshllb,_n_s32,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svshllb_n_s64(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svshllb,_n_s64,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svshllb_n_u16(svuint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svshllb,_n_u16,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svshllb_n_u32(svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svshllb,_n_u32,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svshllb_n_u64(svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svshllb,_n_u64,,)(op1, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllt.c<br>
> deleted file mode 100644<br>
> index 44721cc78cb01..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shllt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint16_t test_svshllt_n_s16(svint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svshllt,_n_s16,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svshllt_n_s32(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svshllt,_n_s32,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svshllt_n_s64(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svshllt,_n_s64,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svshllt_n_u16(svuint8_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svshllt,_n_u16,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svshllt_n_u32(svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svshllt,_n_u32,,)(op1, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svshllt_n_u64(svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svshllt,_n_u64,,)(op1, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnb.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnb.c<br>
> deleted file mode 100644<br>
> index 060c4490a84b2..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnb.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svshrnb_n_s16(svint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svshrnb,_n_s16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svshrnb_n_s32(svint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svshrnb,_n_s32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svshrnb_n_s64(svint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svshrnb,_n_s64,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svshrnb_n_u16(svuint16_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svshrnb,_n_u16,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svshrnb_n_u32(svuint32_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svshrnb,_n_u32,,)(op1, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svshrnb_n_u64(svuint64_t op1)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svshrnb,_n_u64,,)(op1, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnt.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnt.c<br>
> deleted file mode 100644<br>
> index 37bce37460a2b..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_shrnt.c<br>
> +++ /dev/null<br>
> @@ -1,49 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svshrnt_n_s16(svint8_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svshrnt,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svshrnt_n_s32(svint16_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svshrnt,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svshrnt_n_s64(svint32_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svshrnt,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svshrnt_n_u16(svuint8_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svshrnt,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svshrnt_n_u32(svuint16_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svshrnt,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svshrnt_n_u64(svuint32_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svshrnt,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sli.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sli.c<br>
> deleted file mode 100644<br>
> index e85db17ab1b4f..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sli.c<br>
> +++ /dev/null<br>
> @@ -1,61 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svsli_n_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_s8,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint16_t test_svsli_n_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_s16,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint32_t test_svsli_n_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_s32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svint64_t test_svsli_n_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_s64,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint8_t test_svsli_n_u8(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_u8,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint16_t test_svsli_n_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_u16,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint32_t test_svsli_n_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_u32,,)(op1, op2, -1);<br>
> -}<br>
> -<br>
> -svuint64_t test_svsli_n_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> -  return SVE_ACLE_FUNC(svsli,_n_u64,,)(op1, op2, -1);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sra.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sra.c<br>
> deleted file mode 100644<br>
> index 206cc66dec4ba..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sra.c<br>
> +++ /dev/null<br>
> @@ -1,61 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svsra_n_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_s8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svsra_n_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svsra_n_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svsra_n_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svsra_n_u8(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_u8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svsra_n_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svsra_n_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svsra_n_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svsra,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sri.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sri.c<br>
> deleted file mode 100644<br>
> index 45d287dad675b..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_sri.c<br>
> +++ /dev/null<br>
> @@ -1,109 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svsri_n_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svsri_n_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svsri_n_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svsri_n_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint8_t test_svsri_n_u8(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svsri_n_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svsri_n_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svsri_n_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint8_t test_svsri_n_s8_1(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s8,,)(op1, op2, 9);<br>
> -}<br>
> -<br>
> -svint16_t test_svsri_n_s16_1(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s16,,)(op1, op2, 17);<br>
> -}<br>
> -<br>
> -svint32_t test_svsri_n_s32_1(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s32,,)(op1, op2, 33);<br>
> -}<br>
> -<br>
> -svint64_t test_svsri_n_s64_1(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_s64,,)(op1, op2, 65);<br>
> -}<br>
> -<br>
> -svuint8_t test_svsri_n_u8_1(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u8,,)(op1, op2, 9);<br>
> -}<br>
> -<br>
> -svuint16_t test_svsri_n_u16_1(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u16,,)(op1, op2, 17);<br>
> -}<br>
> -<br>
> -svuint32_t test_svsri_n_u32_1(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u32,,)(op1, op2, 33);<br>
> -}<br>
> -<br>
> -svuint64_t test_svsri_n_u64_1(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svsri,_n_u64,,)(op1, op2, 65);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_xar.c b/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_xar.c<br>
> deleted file mode 100644<br>
> index cbc62c5a59404..0000000000000<br>
> --- a/clang/test/CodeGen/aarch64-sve2-intrinsics/negative/acle_sve2_xar.c<br>
> +++ /dev/null<br>
> @@ -1,85 +0,0 @@<br>
> -// REQUIRES: aarch64-registered-target<br>
> -<br>
> -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> -<br>
> -#ifdef SVE_OVERLOADED_FORMS<br>
> -// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> -#else<br>
> -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> -#endif<br>
> -<br>
> -#include <arm_sve.h><br>
> -<br>
> -svint8_t test_svxar_n_s8(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint8_t test_svxar_n_s8_1(svint8_t op1, svint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s8,,)(op1, op2, 9);<br>
> -}<br>
> -<br>
> -svint16_t test_svxar_n_s16(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint16_t test_svxar_n_s16_1(svint16_t op1, svint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s16,,)(op1, op2, 17);<br>
> -}<br>
> -<br>
> -svint32_t test_svxar_n_s32(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint32_t test_svxar_n_s32_1(svint32_t op1, svint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s32,,)(op1, op2, 33);<br>
> -}<br>
> -<br>
> -svint64_t test_svxar_n_s64(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s64,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svint64_t test_svxar_n_s64_1(svint64_t op1, svint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_s64,,)(op1, op2, 65);<br>
> -}<br>
> -<br>
> -svuint8_t test_svxar_n_u8(svuint8_t op1, svuint8_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_u8,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint16_t test_svxar_n_u16(svuint16_t op1, svuint16_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_u16,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint32_t test_svxar_n_u32(svuint32_t op1, svuint32_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_u32,,)(op1, op2, 0);<br>
> -}<br>
> -<br>
> -svuint64_t test_svxar_n_u64(svuint64_t op1, svuint64_t op2)<br>
> -{<br>
> -  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> -  return SVE_ACLE_FUNC(svxar,_n_u64,,)(op1, op2, 0);<br>
> -}<br>
> <br>
> diff  --git a/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp b/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp<br>
> new file mode 100644<br>
> index 0000000000000..04d22aede663e<br>
> --- /dev/null<br>
> +++ b/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp<br>
> @@ -0,0 +1,183 @@<br>
> +// REQUIRES: aarch64-registered-target<br>
> +<br>
> +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> +<br>
> +#ifdef SVE_OVERLOADED_FORMS<br>
> +// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> +#else<br>
> +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> +#endif<br>
> +<br>
> +#include <arm_sve.h><br>
> +<br>
> +void test_range_0_7()<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmla_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmla_lane,_u16,,)(svundef_u16(), svundef_u16(), svundef_u16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlalb_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlalb_lane,_u32,,)(svundef_u32(), svundef_u16(), svundef_u16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlalb_lane,_f32,,)(svundef_f32(), svundef_f16(), svundef_f16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlalt_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlalt_lane,_u32,,)(svundef_u32(), svundef_u16(), svundef_u16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlalt_lane,_f32,,)(svundef_f32(), svundef_f16(), svundef_f16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmls_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmls_lane,_u16,,)(svundef_u16(), svundef_u16(), svundef_u16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlslb_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(),  -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlslb_lane,_u32,,)(svundef_u32(), svundef_u16(), svundef_u16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlslb_lane,_f32,,)(svundef_f32(), svundef_f16(), svundef_f16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlslt_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlslt_lane,_u32,,)(svundef_u32(), svundef_u16(), svundef_u16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmlslt_lane,_f32,,)(svundef_f32(), svundef_f16(), svundef_f16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmul_lane,_s16,,)(svundef_s16(), svundef_s16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmul_lane,_u16,,)(svundef_u16(), svundef_u16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmullb_lane,_s32,,)(svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmullb_lane,_u32,,)(svundef_u16(), svundef_u16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmullt_lane,_s32,,)(svundef_s16(), svundef_s16(), 8);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svmullt_lane,_u32,,)(svundef_u16(), svundef_u16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmlalb_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmlalt_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmulh_lane,_s16,,)(svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmlslb_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmlslt_lane,_s32,,)(svundef_s32(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmullb_lane,_s32,,)(svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqdmullt_lane,_s32,,)(svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqrdmlah_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqrdmlsh_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqrdmulh_lane,_s16,,)(svundef_s16(), svundef_s16(), -1);<br>
> +}<br>
> +<br>
> +void test_range_0_3()<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svcdot_lane,_s32,,)(svundef_s32(), svundef_s8(), svundef_s8(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_u16,,)(svundef_u16(), svundef_u16(), svundef_u16(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmla_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmla_lane,_u32,,)(svundef_u32(), svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlalb_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlalb_lane,_u64,,)(svundef_u64(), svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlalt_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlalt_lane,_u64,,)(svundef_u64(), svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmls_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmls_lane,_u32,,)(svundef_u32(), svundef_u32(), svundef_u32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlslb_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlslb_lane,_u64,,)(svundef_u64(), svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlslt_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmlslt_lane,_u64,,)(svundef_u64(), svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmul_lane,_s32,,)(svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmul_lane,_u32,,)(svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmullb_lane,_s64,,)(svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmullb_lane,_u64,,)(svundef_u32(), svundef_u32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmullt_lane,_s64,,)(svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svmullt_lane,_u64,,)(svundef_u32(), svundef_u32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmulh_lane,_s32,,)(svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqrdmlah_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmlalb_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmlalt_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqrdmlsh_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmlslb_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmlslt_lane,_s64,,)(svundef_s64(), svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqrdmulh_lane,_s32,,)(svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmullb_lane,_s64,,)(svundef_s32(), svundef_s32(), 4);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}}<br>
> +  SVE_ACLE_FUNC(svqdmullt_lane,_s64,,)(svundef_s32(), svundef_s32(), -1);<br>
> +}<br>
> +<br>
> +void test_range_0_1()<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svcdot_lane,_s64,,)(svundef_s64(), svundef_s16(), svundef_s16(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 2, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_u32,,)(svundef_u32(), svundef_u32(), svundef_u32(), -1, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svmla_lane,_s64,,)(svundef_s64(), svundef_s64(), svundef_s64(), 2);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svmla_lane,_u64,,)(svundef_u64(), svundef_u64(), svundef_u64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svmls_lane,_s64,,)(svundef_s64(), svundef_s64(), svundef_s64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svmls_lane,_u64,,)(svundef_u64(), svundef_u64(), svundef_u64(), 2);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svmul_lane,_s64,,)(svundef_s64(), svundef_s64(), 2);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svmul_lane,_u64,,)(svundef_u64(), svundef_u64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svqdmulh_lane,_s64,,)(svundef_s64(), svundef_s64(), 2);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 2, 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svqrdmlah_lane,_s64,,)(svundef_s64(), svundef_s64(), svundef_s64(), 2);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svqrdmlsh_lane,_s64,,)(svundef_s64(), svundef_s64(), svundef_s64(), 2);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}}<br>
> +  SVE_ACLE_FUNC(svqrdmulh_lane,_s64,,)(svundef_s64(), svundef_s64(), 2);<br>
> +}<br>
> <br>
> diff  --git a/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_n.cpp b/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_n.cpp<br>
> new file mode 100644<br>
> index 0000000000000..bf3ad5e7a6d49<br>
> --- /dev/null<br>
> +++ b/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_n.cpp<br>
> @@ -0,0 +1,341 @@<br>
> +// REQUIRES: aarch64-registered-target<br>
> +<br>
> +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> +<br>
> +#ifdef SVE_OVERLOADED_FORMS<br>
> +// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> +#else<br>
> +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> +#endif<br>
> +<br>
> +#include <arm_sve.h><br>
> +<br>
> +void test_range_0_7(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s8,_x,)(pg, svundef_s8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s8,_z,)(pg, svundef_s8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s8,_m,)(pg, svundef_s8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svshllb,_n_s16,,)(svundef_s8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svshllb,_n_u16,,)(svundef_u8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svshllt,_n_s16,,)(svundef_s8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svshllt,_n_u16,,)(svundef_u8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_s8,,)(svundef_s8(), svundef_s8(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_u8,,)(svundef_u8(), svundef_u8(), -1);<br>
> +}<br>
> +<br>
> +void test_range_1_8(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnb,_n_s16,,)(svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnb,_n_u16,,)(svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqrshrunb,_n_s16,,)(svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqrshrunt,_n_s16,,)(svundef_u8(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqshrnb,_n_s16,,)(svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqshrnb,_n_u16,,)(svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqshrunb,_n_s16,,)(svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svqshrunt,_n_s16,,)(svundef_u8(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s8,_x,)(pg, svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s8,_z,)(pg, svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s8,_m,)(pg, svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u8,_x,)(pg, svundef_u8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u8,_z,)(pg, svundef_u8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u8,_m,)(pg, svundef_u8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshrnb,_n_s16,,)(svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshrnb,_n_u16,,)(svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_s8,,)(svundef_s8(), svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_u8,,)(svundef_u8(), svundef_u8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svshrnb,_n_s16,,)(svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svshrnb,_n_u16,,)(svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_s8,,)(svundef_s8(), svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_u8,,)(svundef_u8(), svundef_u8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_s8,,)(svundef_s8(), svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_u8,,)(svundef_u8(), svundef_u8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_s8,,)(svundef_s8(), svundef_s8(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_u8,,)(svundef_u8(), svundef_u8(), 0);<br>
> +}<br>
> +<br>
> +void test_range_0_15(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s16,_x,)(pg, svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s16,_z,)(pg, svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s16,_m,)(pg, svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svshllb,_n_s32,,)(svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svshllb,_n_u32,,)(svundef_u16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svshllt,_n_s32,,)(svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svshllt,_n_u32,,)(svundef_u16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_s16,,)(svundef_s16(), svundef_s16(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_u16,,)(svundef_u16(), svundef_u16(), -1);<br>
> +}<br>
> +<br>
> +void test_range_1_16(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnb,_n_s32,,)(svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnb,_n_u32,,)(svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqrshrunb,_n_s32,,)(svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqrshrunt,_n_s32,,)(svundef_u16(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqshrnb,_n_s32,,)(svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqshrnb,_n_u32,,)(svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqshrunb,_n_s32,,)(svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svqshrunt,_n_s32,,)(svundef_u16(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s16,_x,)(pg, svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s16,_z,)(pg, svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s16,_m,)(pg, svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u16,_x,)(pg, svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u16,_z,)(pg, svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u16,_m,)(pg, svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshrnb,_n_s32,,)(svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshrnb,_n_u32,,)(svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_s16,,)(svundef_s16(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_u16,,)(svundef_u16(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svshrnb,_n_s32,,)(svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svshrnb,_n_u32,,)(svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_s16,,)(svundef_s16(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_u16,,)(svundef_u16(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_s16,,)(svundef_s16(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_u16,,)(svundef_u16(), svundef_u16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_s16,,)(svundef_s16(), svundef_s16(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_u16,,)(svundef_u16(), svundef_u16(), 0);<br>
> +}<br>
> +<br>
> +void test_range_0_31(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s32,_x,)(pg, svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s32,_z,)(pg, svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s32,_m,)(pg, svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svshllb,_n_s64,,)(svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svshllb,_n_u64,,)(svundef_u32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svshllt,_n_s64,,)(svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svshllt,_n_u64,,)(svundef_u32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_s32,,)(svundef_s32(), svundef_s32(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_u32,,)(svundef_u32(), svundef_u32(), -1);<br>
> +}<br>
> +<br>
> +void test_range_1_32(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnb,_n_s64,,)(svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnb,_n_u64,,)(svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqrshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqrshrunb,_n_s64,,)(svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqrshrunt,_n_s64,,)(svundef_u32(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqshrnb,_n_s64,,)(svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqshrnb,_n_u64,,)(svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqshrunb,_n_s64,,)(svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svqshrunt,_n_s64,,)(svundef_u32(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s32,_x,)(pg, svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s32,_z,)(pg, svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s32,_m,)(pg, svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u32,_x,)(pg, svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u32,_z,)(pg, svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u32,_m,)(pg, svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshrnb,_n_s64,,)(svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshrnb,_n_u64,,)(svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_s32,,)(svundef_s32(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_u32,,)(svundef_u32(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svshrnb,_n_s64,,)(svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svshrnb,_n_u64,,)(svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_s32,,)(svundef_s32(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_u32,,)(svundef_u32(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_s32,,)(svundef_s32(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_u32,,)(svundef_u32(), svundef_u32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_s32,,)(svundef_s32(), svundef_s32(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_u32,,)(svundef_u32(), svundef_u32(), 0);<br>
> +}<br>
> +<br>
> +void test_range_0_63(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s64,_x,)(pg, svundef_s64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s64,_z,)(pg, svundef_s64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> +  SVE_ACLE_FUNC(svqshlu,_n_s64,_m,)(pg, svundef_s64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_s64,,)(svundef_s64(), svundef_s64(), -1);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}<br>
> +  SVE_ACLE_FUNC(svsli,_n_u64,,)(svundef_u64(), svundef_u64(), -1);<br>
> +}<br>
> +<br>
> +void test_range_1_64(svbool_t pg)<br>
> +{<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s64,_x,)(pg, svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s64,_z,)(pg, svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_s64,_m,)(pg, svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u64,_x,)(pg, svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u64,_z,)(pg, svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrshr,_n_u64,_m,)(pg, svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_s64,,)(svundef_s64(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svrsra,_n_u64,,)(svundef_u64(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_s64,,)(svundef_s64(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svsra,_n_u64,,)(svundef_u64(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_s64,,)(svundef_s64(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svsri,_n_u64,,)(svundef_u64(), svundef_u64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_s64,,)(svundef_s64(), svundef_s64(), 0);<br>
> +  // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}<br>
> +  SVE_ACLE_FUNC(svxar,_n_u64,,)(svundef_u64(), svundef_u64(), 0);<br>
> +}<br>
> <br>
> diff  --git a/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_rotation.cpp b/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_rotation.cpp<br>
> new file mode 100644<br>
> index 0000000000000..e92c3c5de254f<br>
> --- /dev/null<br>
> +++ b/clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_rotation.cpp<br>
> @@ -0,0 +1,89 @@<br>
> +// REQUIRES: aarch64-registered-target<br>
> +<br>
> +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fallow-half-arguments-and-returns -fsyntax-only -verify %s<br>
> +<br>
> +#ifdef SVE_OVERLOADED_FORMS<br>
> +// A simple used,unused... macro, long enough to represent any SVE builtin.<br>
> +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3<br>
> +#else<br>
> +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4<br>
> +#endif<br>
> +<br>
> +#include <arm_sve.h><br>
> +<br>
> +void test_90_270()<br>
> +{<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_s8,,)(svundef_s8(), svundef_s8(), 0);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_u8,,)(svundef_u8(), svundef_u8(), 180);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_s16,,)(svundef_s16(), svundef_s16(), 0);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_u16,,)(svundef_u16(), svundef_u16(), 180);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_s32,,)(svundef_s32(), svundef_s32(), 0);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_u32,,)(svundef_u32(), svundef_u32(), 180);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_s64,,)(svundef_s64(), svundef_s64(), 0);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svcadd,_u64,,)(svundef_u64(), svundef_u64(), 180);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svqcadd,_s8,,)(svundef_s8(), svundef_s8(), 0);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svqcadd,_s16,,)(svundef_s16(), svundef_s16(), 180);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svqcadd,_s32,,)(svundef_s32(), svundef_s32(), 0);<br>
> +  // expected-error@+1 {{argument should be the value 90 or 270}}<br>
> +  SVE_ACLE_FUNC(svqcadd,_s64,,)(svundef_s64(), svundef_s64(), 180);<br>
> +}<br>
> +<br>
> +void test_0_90_180_270()<br>
> +{<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcdot,_s32,,)(svundef_s32(), svundef_s8(), svundef_s8(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcdot_lane,_s32,,)(svundef_s32(), svundef_s8(), svundef_s8(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcdot,_s64,,)(svundef_s64(), svundef_s16(), svundef_s16(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcdot_lane,_s64,,)(svundef_s64(), svundef_s16(), svundef_s16(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_s8,,)(svundef_s8(), svundef_s8(), svundef_s8(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_u8,,)(svundef_u8(), svundef_u8(), svundef_u8(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_u16,,)(svundef_u16(), svundef_u16(), svundef_u16(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_u16,,)(svundef_u16(), svundef_u16(), svundef_u16(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 1, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_u32,,)(svundef_u32(), svundef_u32(), svundef_u32(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla_lane,_u32,,)(svundef_u32(), svundef_u32(), svundef_u32(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_s64,,)(svundef_s64(), svundef_s64(), svundef_s64(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svcmla,_u64,,)(svundef_u64(), svundef_u64(), svundef_u64(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah,_s8,,)(svundef_s8(), svundef_s8(), svundef_s8(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah_lane,_s16,,)(svundef_s16(), svundef_s16(), svundef_s16(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah_lane,_s32,,)(svundef_s32(), svundef_s32(), svundef_s32(), 0, 19);<br>
> +  // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}}<br>
> +  SVE_ACLE_FUNC(svqrdcmlah,_s64,,)(svundef_s64(), svundef_s64(), svundef_s64(), 19);<br>
> +}<br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> cfe-commits@lists.llvm.org<br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
<br>
</div>
</span></font></div>
</body>
</html>