diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16x2_t test_svcreate2_bf16(svbfloat16_t x0, svbfloat16_t x1) { - // expected-warning@+1 {{call to undeclared function 'svcreate2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svcreate2,_bf16,,)(x0, x1); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16x3_t test_svcreate3_bf16(svbfloat16_t x0, svbfloat16_t x1, svbfloat16_t x2) { - // expected-warning@+1 {{call to undeclared function 'svcreate3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svcreate3,_bf16,,)(x0, x1, x2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16x4_t test_svcreate4_bf16(svbfloat16_t x0, svbfloat16_t x1, svbfloat16_t x2, svbfloat16_t x4) { - // expected-warning@+1 {{call to undeclared function 'svcreate4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svcreate4,_bf16,,)(x0, x1, x2, x4); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,7 +27,6 @@ // svbfloat16_t test_svget2_bf16_0(svbfloat16x2_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget2,_bf16,,)(tuple, 0); } @@ -44,6 +42,5 @@ // svbfloat16_t test_svget2_bf16_1(svbfloat16x2_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget2,_bf16,,)(tuple, 1); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,7 +27,6 @@ // svbfloat16_t test_svget3_bf16_0(svbfloat16x3_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget3,_bf16,,)(tuple, 0); } @@ -44,7 +42,6 @@ // svbfloat16_t test_svget3_bf16_1(svbfloat16x3_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget3,_bf16,,)(tuple, 1); } @@ -60,6 +57,5 @@ // svbfloat16_t test_svget3_bf16_2(svbfloat16x3_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget3,_bf16,,)(tuple, 2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,7 +27,6 @@ // svbfloat16_t test_svget4_bf16_0(svbfloat16x4_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget4,_bf16,,)(tuple, 0); } @@ -44,7 +42,6 @@ // svbfloat16_t test_svget4_bf16_1(svbfloat16x4_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget4,_bf16,,)(tuple, 1); } @@ -60,7 +57,6 @@ // svbfloat16_t test_svget4_bf16_2(svbfloat16x4_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget4,_bf16,,)(tuple, 2); } @@ -76,6 +72,5 @@ // svbfloat16_t test_svget4_bf16_3(svbfloat16x4_t tuple) { - // expected-warning@+1 {{call to undeclared function 'svget4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svget4,_bf16,,)(tuple, 3); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -32,7 +31,6 @@ // svbfloat16_t test_svld1_bf16(svbool_t pg, const bfloat16_t *base) { - // expected-warning@+1 {{call to undeclared function 'svld1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svld1,_bf16,,)(pg, base); } @@ -56,6 +54,5 @@ // svbfloat16_t test_svld1_vnum_bf16(svbool_t pg, const bfloat16_t *base, int64_t vnum) { - // expected-warning@+1 {{call to undeclared function 'svld1_vnum_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svld1_vnum,_bf16,,)(pg, base, vnum); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -30,6 +29,5 @@ // svbfloat16_t test_svld1rq_bf16(svbool_t pg, const bfloat16_t *base) { - // expected-warning@+1 {{call to undeclared function 'svld1rq_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svld1rq,_bf16,,)(pg, base); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -30,7 +29,6 @@ // svbfloat16_t test_svldff1_bf16(svbool_t pg, const bfloat16_t *base) { - // expected-warning@+1 {{call to undeclared function 'svldff1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svldff1,_bf16,,)(pg, base); } @@ -52,6 +50,5 @@ // svbfloat16_t test_svldff1_vnum_bf16(svbool_t pg, const bfloat16_t *base, int64_t vnum) { - // expected-warning@+1 {{call to undeclared function 'svldff1_vnum_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svldff1_vnum,_bf16,,)(pg, base, vnum); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target #include @@ -29,7 +28,6 @@ // svbfloat16_t test_svldnf1_bf16(svbool_t pg, const bfloat16_t *base) { - // expected-warning@+1 {{call to undeclared function 'svldnf1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svldnf1,_bf16,,)(pg, base); } @@ -51,6 +49,5 @@ // svbfloat16_t test_svldnf1_vnum_bf16(svbool_t pg, const bfloat16_t *base, int64_t vnum) { - // expected-warning@+1 {{call to undeclared function 'svldnf1_vnum_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svldnf1_vnum,_bf16,,)(pg, base, vnum); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -30,7 +29,6 @@ // svbfloat16_t test_svldnt1_bf16(svbool_t pg, const bfloat16_t *base) { - // expected-warning@+1 {{call to undeclared function 'svldnt1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svldnt1,_bf16,,)(pg, base); } @@ -52,6 +50,5 @@ // svbfloat16_t test_svldnt1_vnum_bf16(svbool_t pg, const bfloat16_t *base, int64_t vnum) { - // expected-warning@+1 {{call to undeclared function 'svldnt1_vnum_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svldnt1_vnum,_bf16,,)(pg, base, vnum); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svrev_bf16(svbfloat16_t op) { - // expected-warning@+1 {{call to undeclared function 'svrev_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svrev,_bf16,,)(op); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,7 +27,6 @@ // svbfloat16x2_t test_svset2_bf16_0(svbfloat16x2_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset2,_bf16,,)(tuple, 0, x); } @@ -44,6 +42,5 @@ // svbfloat16x2_t test_svset2_bf16_1(svbfloat16x2_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset2,_bf16,,)(tuple, 1, x); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -29,7 +28,6 @@ // svbfloat16x3_t test_svset3_bf16_0(svbfloat16x3_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset3,_bf16,,)(tuple, 0, x); } @@ -45,7 +43,6 @@ // svbfloat16x3_t test_svset3_bf16_1(svbfloat16x3_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset3,_bf16,,)(tuple, 1, x); } @@ -61,6 +58,5 @@ // svbfloat16x3_t test_svset3_bf16_2(svbfloat16x3_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset3_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset3,_bf16,,)(tuple, 2, x); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -29,7 +28,6 @@ // svbfloat16x4_t test_svset4_bf16_0(svbfloat16x4_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset4,_bf16,,)(tuple, 0, x); } @@ -45,7 +43,6 @@ // svbfloat16x4_t test_svset4_bf16_1(svbfloat16x4_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset4,_bf16,,)(tuple, 1, x); } @@ -61,7 +58,6 @@ // svbfloat16x4_t test_svset4_bf16_2(svbfloat16x4_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset4,_bf16,,)(tuple, 2, x); } @@ -77,6 +73,5 @@ // svbfloat16x4_t test_svset4_bf16_3(svbfloat16x4_t tuple, svbfloat16_t x) { - // expected-warning@+1 {{call to undeclared function 'svset4_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svset4,_bf16,,)(tuple, 3, x); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -32,7 +31,6 @@ // void test_svst1_bf16(svbool_t pg, bfloat16_t *base, svbfloat16_t data) { - // expected-warning@+1 {{call to undeclared function 'svst1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svst1,_bf16,,)(pg, base, data); } @@ -56,6 +54,5 @@ // void test_svst1_vnum_bf16(svbool_t pg, bfloat16_t *base, int64_t vnum, svbfloat16_t data) { - // expected-warning@+1 {{call to undeclared function 'svst1_vnum_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svst1_vnum,_bf16,,)(pg, base, vnum, data); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -no-opaque-pointers -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -30,7 +29,6 @@ // void test_svstnt1_bf16(svbool_t pg, bfloat16_t *base, svbfloat16_t data) { - // expected-warning@+1 {{call to undeclared function 'svstnt1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svstnt1,_bf16,,)(pg, base, data); } @@ -52,6 +50,5 @@ // void test_svstnt1_vnum_bf16(svbool_t pg, bfloat16_t *base, int64_t vnum, svbfloat16_t data) { - // expected-warning@+1 {{call to undeclared function 'svstnt1_vnum_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svstnt1_vnum,_bf16,,)(pg, base, vnum, data); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svtrn1_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svtrn1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svtrn1,_bf16,,)(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -target-feature +f64mm -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -27,6 +26,5 @@ // CPP-CHECK-NEXT: ret [[TMP0]] // svbfloat16_t test_svtrn1_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svtrn1q_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svtrn1q, _bf16, , )(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svtrn2_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svtrn2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svtrn2,_bf16,,)(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -target-feature +f64mm -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -27,6 +26,5 @@ // CPP-CHECK-NEXT: ret [[TMP0]] // svbfloat16_t test_svtrn2_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svtrn2q_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svtrn2q, _bf16, , )(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c @@ -1,7 +1,6 @@ // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -17,6 +16,5 @@ // svbfloat16_t test_svundef_bf16() { - // expected-warning@+1 {{call to undeclared function 'svundef_bf16'; ISO C99 and later do not support implicit function declarations}} return svundef_bf16(); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c @@ -1,7 +1,6 @@ // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -17,6 +16,5 @@ // svbfloat16x2_t test_svundef2_bf16() { - // expected-warning@+1 {{call to undeclared function 'svundef2_bf16'; ISO C99 and later do not support implicit function declarations}} return svundef2_bf16(); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c @@ -1,7 +1,6 @@ // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -17,6 +16,5 @@ // svbfloat16x3_t test_svundef3_bf16() { - // expected-warning@+1 {{call to undeclared function 'svundef3_bf16'; ISO C99 and later do not support implicit function declarations}} return svundef3_bf16(); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c @@ -1,7 +1,6 @@ // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -17,6 +16,5 @@ // svbfloat16x4_t test_svundef4_bf16() { - // expected-warning@+1 {{call to undeclared function 'svundef4_bf16'; ISO C99 and later do not support implicit function declarations}} return svundef4_bf16(); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svuzp1_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svuzp1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svuzp1,_bf16,,)(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -target-feature +f64mm -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -27,6 +26,5 @@ // CPP-CHECK-NEXT: ret [[TMP0]] // svbfloat16_t test_svuzp1_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svuzp1q_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svuzp1q, _bf16, , )(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svuzp2_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svuzp2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svuzp2,_bf16,,)(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -target-feature +f64mm -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -27,6 +26,5 @@ // CPP-CHECK-NEXT: ret [[TMP0]] // svbfloat16_t test_svuzp2_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svuzp2q_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svuzp2q, _bf16, , )(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svzip1_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svzip1_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svzip1,_bf16,,)(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -target-feature +f64mm -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -27,6 +26,5 @@ // CPP-CHECK-NEXT: ret [[TMP0]] // svbfloat16_t test_svzip1_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svzip1q_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svzip1q, _bf16, , )(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -28,6 +27,5 @@ // svbfloat16_t test_svzip2_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svzip2_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svzip2,_bf16,,)(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c --- a/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c +++ b/clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c @@ -3,7 +3,6 @@ // RUN: %clang_cc1 -target-feature +f64mm -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -target-feature +f64mm -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefix=CPP-CHECK -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +bf16 -fallow-half-arguments-and-returns -fsyntax-only -Wno-error=implicit-function-declaration -verify -verify-ignore-unexpected=error -verify-ignore-unexpected=note %s // REQUIRES: aarch64-registered-target @@ -27,6 +26,5 @@ // CPP-CHECK-NEXT: ret [[TMP0]] // svbfloat16_t test_svzip2_bf16(svbfloat16_t op1, svbfloat16_t op2) { - // expected-warning@+1 {{call to undeclared function 'svzip2q_bf16'; ISO C99 and later do not support implicit function declarations}} return SVE_ACLE_FUNC(svzip2q, _bf16, , )(op1, op2); } diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_asrd.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_asrd.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_asrd.c +++ /dev/null @@ -1,109 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svint8_t test_svasrd_n_s8_z(svbool_t pg, svint8_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} - return SVE_ACLE_FUNC(svasrd,_n_s8,_z,)(pg, op1, 0); -} - -svint8_t test_svasrd_n_s8_z_1(svbool_t pg, svint8_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} - return SVE_ACLE_FUNC(svasrd,_n_s8,_z,)(pg, op1, 9); -} - -svint16_t test_svasrd_n_s16_z(svbool_t pg, svint16_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svasrd,_n_s16,_z,)(pg, op1, 0); -} - -svint16_t test_svasrd_n_s16_z_1(svbool_t pg, svint16_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svasrd,_n_s16,_z,)(pg, op1, 17); -} - -svint32_t test_svasrd_n_s32_z(svbool_t pg, svint32_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} - return SVE_ACLE_FUNC(svasrd,_n_s32,_z,)(pg, op1, 0); -} - -svint32_t test_svasrd_n_s32_z_1(svbool_t pg, svint32_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} - return SVE_ACLE_FUNC(svasrd,_n_s32,_z,)(pg, op1, 33); -} - -svint64_t test_svasrd_n_s64_z(svbool_t pg, svint64_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} - return SVE_ACLE_FUNC(svasrd,_n_s64,_z,)(pg, op1, 0); -} - -svint64_t test_svasrd_n_s64_z_1(svbool_t pg, svint64_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} - return SVE_ACLE_FUNC(svasrd,_n_s64,_z,)(pg, op1, 65); -} - -svint8_t test_svasrd_n_s8_m(svbool_t pg, svint8_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} - return SVE_ACLE_FUNC(svasrd,_n_s8,_m,)(pg, op1, 0); -} - -svint16_t test_svasrd_n_s16_m(svbool_t pg, svint16_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svasrd,_n_s16,_m,)(pg, op1, 17); -} - -svint32_t test_svasrd_n_s32_m(svbool_t pg, svint32_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} - return SVE_ACLE_FUNC(svasrd,_n_s32,_m,)(pg, op1, 0); -} - -svint64_t test_svasrd_n_s64_m(svbool_t pg, svint64_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} - return SVE_ACLE_FUNC(svasrd,_n_s64,_m,)(pg, op1, 65); -} - -svint8_t test_svasrd_n_s8_x(svbool_t pg, svint8_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} - return SVE_ACLE_FUNC(svasrd,_n_s8,_x,)(pg, op1, 0); -} - -svint16_t test_svasrd_n_s16_x(svbool_t pg, svint16_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svasrd,_n_s16,_x,)(pg, op1, 17); -} - -svint32_t test_svasrd_n_s32_x(svbool_t pg, svint32_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} - return SVE_ACLE_FUNC(svasrd,_n_s32,_x,)(pg, op1, 0); -} - -svint64_t test_svasrd_n_s64_x(svbool_t pg, svint64_t op1) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} - return SVE_ACLE_FUNC(svasrd,_n_s64,_x,)(pg, op1, 65); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_cadd.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_cadd.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_cadd.c +++ /dev/null @@ -1,91 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svfloat16_t test_svcadd_f16_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_z,)(pg, op1, op2, 0); -} - -svfloat16_t test_svcadd_f16_z_1(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_z,)(pg, op1, op2, 272); -} - -svfloat16_t test_svcadd_f16_z_2(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_z,)(pg, op1, op2, 91); -} - -svfloat16_t test_svcadd_f16_z_3(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_z,)(pg, op1, op2, 180); -} - -svfloat16_t test_svcadd_f16_z_4(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_z,)(pg, op1, op2, 271); -} - -svfloat32_t test_svcadd_f32_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f32,_z,)(pg, op1, op2, 0); -} - -svfloat64_t test_svcadd_f64_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f64,_z,)(pg, op1, op2, 0); -} - -svfloat16_t test_svcadd_f16_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_m,)(pg, op1, op2, 0); -} - -svfloat32_t test_svcadd_f32_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f32,_m,)(pg, op1, op2, 0); -} - -svfloat64_t test_svcadd_f64_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f64,_m,)(pg, op1, op2, 0); -} - -svfloat16_t test_svcadd_f16_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f16,_x,)(pg, op1, op2, 0); -} - -svfloat32_t test_svcadd_f32_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f32,_x,)(pg, op1, op2, 0); -} - -svfloat64_t test_svcadd_f64_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) -{ - // expected-error@+1 {{argument should be the value 90 or 270}} - return SVE_ACLE_FUNC(svcadd,_f64,_x,)(pg, op1, op2, 0); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_cmla.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_cmla.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_cmla.c +++ /dev/null @@ -1,175 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svfloat16_t test_svcmla_f16_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_z,)(pg, op1, op2, op3, 19); -} - -svfloat16_t test_svcmla_f16_z_1(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_z,)(pg, op1, op2, op3, 1); -} - -svfloat16_t test_svcmla_f16_z_2(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_z,)(pg, op1, op2, op3, 18); -} - -svfloat16_t test_svcmla_f16_z_3(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_z,)(pg, op1, op2, op3, 91); -} - -svfloat16_t test_svcmla_f16_z_4(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_z,)(pg, op1, op2, op3, 181); -} - -svfloat32_t test_svcmla_f32_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f32,_z,)(pg, op1, op2, op3, 19); -} - -svfloat64_t test_svcmla_f64_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f64,_z,)(pg, op1, op2, op3, 19); -} - -svfloat16_t test_svcmla_f16_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_m,)(pg, op1, op2, op3, 19); -} - -svfloat32_t test_svcmla_f32_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f32,_m,)(pg, op1, op2, op3, 19); -} - -svfloat64_t test_svcmla_f64_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f64,_m,)(pg, op1, op2, op3, 19); -} - -svfloat16_t test_svcmla_f16_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f16,_x,)(pg, op1, op2, op3, 19); -} - -svfloat32_t test_svcmla_f32_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f32,_x,)(pg, op1, op2, op3, 19); -} - -svfloat64_t test_svcmla_f64_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla,_f64,_x,)(pg, op1, op2, op3, 19); -} - -svfloat16_t test_svcmla_lane_f16(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, -1, 0); -} - -svfloat16_t test_svcmla_lane_f16_1(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, -1, 90); -} - -svfloat16_t test_svcmla_lane_f16_2(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, -1, 180); -} - -svfloat16_t test_svcmla_lane_f16_3(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, -1, 270); -} - -svfloat16_t test_svcmla_lane_f16_4(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, 0, 19); -} - -svfloat16_t test_svcmla_lane_f16_5(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, 1, 19); -} - -svfloat16_t test_svcmla_lane_f16_6(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, 2, 19); -} - -svfloat16_t test_svcmla_lane_f16_7(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, 3, 19); -} - -svfloat16_t test_svcmla_lane_f16_8(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svcmla_lane,_f16,,)(op1, op2, op3, 4, 0); -} - -svfloat32_t test_svcmla_lane_f32(svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svcmla_lane,_f32,,)(op1, op2, op3, -1, 0); -} - -svfloat32_t test_svcmla_lane_f32_1(svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla_lane,_f32,,)(op1, op2, op3, 0, 19); -} - -svfloat32_t test_svcmla_lane_f32_2(svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} - return SVE_ACLE_FUNC(svcmla_lane,_f32,,)(op1, op2, op3, 1, 19); -} - -svfloat32_t test_svcmla_lane_f32_3(svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svcmla_lane,_f32,,)(op1, op2, op3, 2, 0); -} - -svfloat32_t test_svcmla_lane_f32_4(svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svcmla_lane,_f32,,)(op1, op2, op3, 3, 180); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_dot.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_dot.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_dot.c +++ /dev/null @@ -1,49 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svint32_t test_svdot_lane_s32(svint32_t op1, svint8_t op2, svint8_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svdot_lane,_s32,,)(op1, op2, op3, -1); -} - -svint32_t test_svdot_lane_s32_1(svint32_t op1, svint8_t op2, svint8_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svdot_lane,_s32,,)(op1, op2, op3, 4); -} - -svint64_t test_svdot_lane_s64(svint64_t op1, svint16_t op2, svint16_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svdot_lane,_s64,,)(op1, op2, op3, -1); -} - -svint64_t test_svdot_lane_s64_1(svint64_t op1, svint16_t op2, svint16_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svdot_lane,_s64,,)(op1, op2, op3, 2); -} - -svuint32_t test_svdot_lane_u32(svuint32_t op1, svuint8_t op2, svuint8_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svdot_lane,_u32,,)(op1, op2, op3, 4); -} - -svuint64_t test_svdot_lane_u64(svuint64_t op1, svuint16_t op2, svuint16_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svdot_lane,_u64,,)(op1, op2, op3, 2); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_ext.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_ext.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_ext.c +++ /dev/null @@ -1,103 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svint8_t test_svext_s8(svint8_t op1, svint8_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}} - return SVE_ACLE_FUNC(svext,_s8,,)(op1, op2, -1); -} - -svint8_t test_svext_s8_1(svint8_t op1, svint8_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}} - return SVE_ACLE_FUNC(svext,_s8,,)(op1, op2, 256); -} - -svint16_t test_svext_s16(svint16_t op1, svint16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} - return SVE_ACLE_FUNC(svext,_s16,,)(op1, op2, -1); -} - -svint16_t test_svext_s16_1(svint16_t op1, svint16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} - return SVE_ACLE_FUNC(svext,_s16,,)(op1, op2, 128); -} - -svint32_t test_svext_s32(svint32_t op1, svint32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} - return SVE_ACLE_FUNC(svext,_s32,,)(op1, op2, -1); -} - -svint32_t test_svext_s32_1(svint32_t op1, svint32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} - return SVE_ACLE_FUNC(svext,_s32,,)(op1, op2, 64); -} - -svint64_t test_svext_s64(svint64_t op1, svint64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} - return SVE_ACLE_FUNC(svext,_s64,,)(op1, op2, -1); -} - -svint64_t test_svext_s64_1(svint64_t op1, svint64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} - return SVE_ACLE_FUNC(svext,_s64,,)(op1, op2, 32); -} - -svuint8_t test_svext_u8(svuint8_t op1, svuint8_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}} - return SVE_ACLE_FUNC(svext,_u8,,)(op1, op2, -1); -} - -svuint16_t test_svext_u16(svuint16_t op1, svuint16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} - return SVE_ACLE_FUNC(svext,_u16,,)(op1, op2, 128); -} - -svuint32_t test_svext_u32(svuint32_t op1, svuint32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} - return SVE_ACLE_FUNC(svext,_u32,,)(op1, op2, -1); -} - -svuint64_t test_svext_u64(svuint64_t op1, svuint64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} - return SVE_ACLE_FUNC(svext,_u64,,)(op1, op2, 32); -} - -svfloat16_t test_svext_f16(svfloat16_t op1, svfloat16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} - return SVE_ACLE_FUNC(svext,_f16,,)(op1, op2, -1); -} - -svfloat32_t test_svext_f32(svfloat32_t op1, svfloat32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} - return SVE_ACLE_FUNC(svext,_f32,,)(op1, op2, 64); -} - -svfloat64_t test_svext_f64(svfloat64_t op1, svfloat64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} - return SVE_ACLE_FUNC(svext,_f64,,)(op1, op2, -1); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get2.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get2.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get2.c +++ /dev/null @@ -1,145 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s - -// REQUIRES: aarch64-registered-target - -#include - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -svint8_t test_svget2_s8(svint8x2_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_s8,,)(tuple, -1); -} - -svint16_t test_svget2_s16(svint16x2_t tuple) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_s16,,)(tuple, 2); -} - -svint32_t test_svget2_s32(svint32x2_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_s32,,)(tuple, -1); -} - -svint64_t test_svget2_s64(svint64x2_t tuple) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_s64,,)(tuple, 2); -} - -svuint8_t test_svget2_u8(svuint8x2_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_u8,,)(tuple, -1); -} - -svuint16_t test_svget2_u16(svuint16x2_t tuple) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_u16,,)(tuple, 2); -} - -svuint32_t test_svget2_u32(svuint32x2_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_u32,,)(tuple, -1); -} - -svuint64_t test_svget2_u64(svuint64x2_t tuple) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_u64,,)(tuple, 2); -} - -svfloat16_t test_svget2_f16(svfloat16x2_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_f16,,)(tuple, -1); -} - -svfloat32_t test_svget2_f32(svfloat32x2_t tuple) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_f32,,)(tuple, 2); -} - -svfloat64_t test_svget2_f64(svfloat64x2_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svget2,_f64,,)(tuple, -1); -} - -svint8_t test_svget2_s8_var(svint8x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_s8,,)(tuple, imm_index); -} - -svint16_t test_svget2_s16_var(svint16x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_s16,,)(tuple, imm_index); -} - -svint32_t test_svget2_s32_var(svint32x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_s32,,)(tuple, imm_index); -} - -svint64_t test_svget2_s64_var(svint64x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_s64,,)(tuple, imm_index); -} - -svuint8_t test_svget2_u8_var(svuint8x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_u8,,)(tuple, imm_index); -} - -svuint16_t test_svget2_u16_var(svuint16x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_u16,,)(tuple, imm_index); -} - -svuint32_t test_svget2_u32_var(svuint32x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_u32,,)(tuple, imm_index); -} - -svuint64_t test_svget2_u64_var(svuint64x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_u64,,)(tuple, imm_index); -} - -svfloat16_t test_svget2_f16_var(svfloat16x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_f16,,)(tuple, imm_index); -} - -svfloat32_t test_svget2_f32_var(svfloat32x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_f32,,)(tuple, imm_index); -} - -svfloat64_t test_svget2_f64_var(svfloat64x2_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget2,_f64,,)(tuple, imm_index); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get3.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get3.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get3.c +++ /dev/null @@ -1,145 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s - -// REQUIRES: aarch64-registered-target - -#include - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -svint8_t test_svget3_s8(svint8x3_t tuple) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_s8,,)(tuple, 3); -} - -svint16_t test_svget3_s16(svint16x3_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_s16,,)(tuple, -1); -} - -svint32_t test_svget3_s32(svint32x3_t tuple) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_s32,,)(tuple, 3); -} - -svint64_t test_svget3_s64(svint64x3_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_s64,,)(tuple, -1); -} - -svuint8_t test_svget3_u8(svuint8x3_t tuple) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_u8,,)(tuple, 3); -} - -svuint16_t test_svget3_u16(svuint16x3_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_u16,,)(tuple, -1); -} - -svuint32_t test_svget3_u32(svuint32x3_t tuple) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_u32,,)(tuple, 3); -} - -svuint64_t test_svget3_u64(svuint64x3_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_u64,,)(tuple, -1); -} - -svfloat16_t test_svget3_f16(svfloat16x3_t tuple) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_f16,,)(tuple, 3); -} - -svfloat32_t test_svget3_f32(svfloat32x3_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_f32,,)(tuple, -1); -} - -svfloat64_t test_svget3_f64(svfloat64x3_t tuple) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svget3,_f64,,)(tuple, 3); -} - -svint8_t test_svget3_s8_var(svint8x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_s8,,)(tuple, imm_index); -} - -svint16_t test_svget3_s16_var(svint16x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_s16,,)(tuple, imm_index); -} - -svint32_t test_svget3_s32_var(svint32x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_s32,,)(tuple, imm_index); -} - -svint64_t test_svget3_s64_var(svint64x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_s64,,)(tuple, imm_index); -} - -svuint8_t test_svget3_u8_var(svuint8x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_u8,,)(tuple, imm_index); -} - -svuint16_t test_svget3_u16_var(svuint16x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_u16,,)(tuple, imm_index); -} - -svuint32_t test_svget3_u32_var(svuint32x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_u32,,)(tuple, imm_index); -} - -svuint64_t test_svget3_u64_var(svuint64x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_u64,,)(tuple, imm_index); -} - -svfloat16_t test_svget3_f16_var(svfloat16x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_f16,,)(tuple, imm_index); -} - -svfloat32_t test_svget3_f32_var(svfloat32x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_f32,,)(tuple, imm_index); -} - -svfloat64_t test_svget3_f64_var(svfloat64x3_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget3,_f64,,)(tuple, imm_index); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get4.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get4.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get4.c +++ /dev/null @@ -1,145 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s - -// REQUIRES: aarch64-registered-target - -#include - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -svint8_t test_svget4_s8(svint8x4_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_s8,,)(tuple, -1); -} - -svint16_t test_svget4_s16(svint16x4_t tuple) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_s16,,)(tuple, 4); -} - -svint32_t test_svget4_s32(svint32x4_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_s32,,)(tuple, -1); -} - -svint64_t test_svget4_s64(svint64x4_t tuple) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_s64,,)(tuple, 4); -} - -svuint8_t test_svget4_u8(svuint8x4_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_u8,,)(tuple, -1); -} - -svuint16_t test_svget4_u16(svuint16x4_t tuple) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_u16,,)(tuple, 4); -} - -svuint32_t test_svget4_u32(svuint32x4_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_u32,,)(tuple, -1); -} - -svuint64_t test_svget4_u64(svuint64x4_t tuple) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_u64,,)(tuple, 4); -} - -svfloat16_t test_svget4_f16(svfloat16x4_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_f16,,)(tuple, -1); -} - -svfloat32_t test_svget4_f32(svfloat32x4_t tuple) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_f32,,)(tuple, 4); -} - -svfloat64_t test_svget4_f64(svfloat64x4_t tuple) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svget4,_f64,,)(tuple, -1); -} - -svint8_t test_svget4_s8_var(svint8x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_s8,,)(tuple, imm_index); -} - -svint16_t test_svget4_s16_var(svint16x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_s16,,)(tuple, imm_index); -} - -svint32_t test_svget4_s32_var(svint32x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_s32,,)(tuple, imm_index); -} - -svint64_t test_svget4_s64_var(svint64x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_s64,,)(tuple, imm_index); -} - -svuint8_t test_svget4_u8_var(svuint8x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_u8,,)(tuple, imm_index); -} - -svuint16_t test_svget4_u16_var(svuint16x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_u16,,)(tuple, imm_index); -} - -svuint32_t test_svget4_u32_var(svuint32x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_u32,,)(tuple, imm_index); -} - -svuint64_t test_svget4_u64_var(svuint64x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_u64,,)(tuple, imm_index); -} - -svfloat16_t test_svget4_f16_var(svfloat16x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_f16,,)(tuple, imm_index); -} - -svfloat32_t test_svget4_f32_var(svfloat32x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_f32,,)(tuple, imm_index); -} - -svfloat64_t test_svget4_f64_var(svfloat64x4_t tuple, uint64_t imm_index) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svget4,_f64,,)(tuple, imm_index); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_mla.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_mla.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_mla.c +++ /dev/null @@ -1,31 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svfloat16_t test_svmla_lane_f16(svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svmla_lane,_f16,,)(op1, op2, op3, 8); -} - -svfloat32_t test_svmla_lane_f32(svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svmla_lane,_f32,,)(op1, op2, op3, -1); -} - -svfloat64_t test_svmla_lane_f64(svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svmla_lane,_f64,,)(op1, op2, op3, 2); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_mul.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_mul.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_mul.c +++ /dev/null @@ -1,31 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svfloat16_t test_svmul_lane_f16(svfloat16_t op1, svfloat16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svmul_lane,_f16,,)(op1, op2, 8); -} - -svfloat32_t test_svmul_lane_f32(svfloat32_t op1, svfloat32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svmul_lane,_f32,,)(op1, op2, -1); -} - -svfloat64_t test_svmul_lane_f64(svfloat64_t op1, svfloat64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svmul_lane,_f64,,)(op1, op2, 2); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfb.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfb.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfb.c +++ /dev/null @@ -1,35 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -// REQUIRES: aarch64-registered-target - -#include - -void test_svprfb(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfb(pg, base, 14); -} - -void test_svprfb_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfb(pg, base, -1); -} - -void test_svprfb_vnum(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfb_vnum(pg, base, 0, 14); -} - -void test_svprfb_vnum_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfb_vnum(pg, base, 0, -1); -} - -void test_svprfb_svpattern(svbool_t pg, const void *base) -{ - // expected-warning@+1 {{implicit conversion from enumeration type 'enum svpattern' to different enumeration type 'enum svprfop'}} - return svprfb(pg, base, SV_VL1); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfd.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfd.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfd.c +++ /dev/null @@ -1,29 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -// REQUIRES: aarch64-registered-target - -#include - -void test_svprfd(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfd(pg, base, 14); -} - -void test_svprfd_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfd(pg, base, -1); -} - -void test_svprfd_vnum(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfd_vnum(pg, base, 0, 14); -} - -void test_svprfd_vnum_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfd_vnum(pg, base, 0, -1); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfh.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfh.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfh.c +++ /dev/null @@ -1,29 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -// REQUIRES: aarch64-registered-target - -#include - -void test_svprfh(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfh(pg, base, 14); -} - -void test_svprfh_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfh(pg, base, -1); -} - -void test_svprfh_vnum(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfh_vnum(pg, base, 0, 14); -} - -void test_svprfh_vnum_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfh_vnum(pg, base, 0, -1); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfw.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfw.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfw.c +++ /dev/null @@ -1,29 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -// REQUIRES: aarch64-registered-target - -#include - -void test_svprfw(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfw(pg, base, 14); -} - -void test_svprfw_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfw(pg, base, -1); -} - -void test_svprfw_vnum(svbool_t pg, const void *base) -{ - // expected-error@+1 {{argument value 14 is outside the valid range [0, 13]}} - return svprfw_vnum(pg, base, 0, 14); -} - -void test_svprfw_vnum_1(svbool_t pg, const void *base) -{ - // expected-error-re@+1 {{argument value {{.*}} is outside the valid range [0, 13]}} - return svprfw_vnum(pg, base, 0, -1); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecb.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecb.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecb.c +++ /dev/null @@ -1,115 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqdecb_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_s32,,)(op, 0); -} - -int32_t test_svqdecb_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_s32,,)(op, 17); -} - -int64_t test_svqdecb_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_s64,,)(op, 0); -} - -int64_t test_svqdecb_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_s64,,)(op, 17); -} - -uint32_t test_svqdecb_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_u32,,)(op, 0); -} - -uint32_t test_svqdecb_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_u32,,)(op, 17); -} - -uint64_t test_svqdecb_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_u64,,)(op, 0); -} - -uint64_t test_svqdecb_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb,_n_u64,,)(op, 17); -} - -int32_t test_svqdecb_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqdecb_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqdecb_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqdecb_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqdecb_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqdecb_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqdecb_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqdecb_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_u64,,)(op, SV_VL7, 17); -} - -uint64_t test_svqdecb_svprfop(uint64_t op) -{ - // expected-warning@+1 {{implicit conversion from enumeration type 'enum svprfop' to different enumeration type 'enum svpattern'}} - return SVE_ACLE_FUNC(svqdecb_pat,_n_u64,,)(op, SV_PLDL1KEEP, 1); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecd.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecd.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecd.c +++ /dev/null @@ -1,157 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqdecd_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_s32,,)(op, 0); -} - -int32_t test_svqdecd_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_s32,,)(op, 17); -} - -int64_t test_svqdecd_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_s64,,)(op, 0); -} - -int64_t test_svqdecd_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_s64,,)(op, 17); -} - -uint32_t test_svqdecd_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_u32,,)(op, 0); -} - -uint32_t test_svqdecd_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_u32,,)(op, 17); -} - -uint64_t test_svqdecd_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_u64,,)(op, 0); -} - -uint64_t test_svqdecd_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_n_u64,,)(op, 17); -} - -int32_t test_svqdecd_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqdecd_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqdecd_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqdecd_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqdecd_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqdecd_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqdecd_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqdecd_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_n_u64,,)(op, SV_VL7, 17); -} - -svint64_t test_svqdecd_s64(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_s64,,)(op, 0); -} - -svint64_t test_svqdecd_s64_1(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_s64,,)(op, 17); -} - -svuint64_t test_svqdecd_u64(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_u64,,)(op, 0); -} - -svuint64_t test_svqdecd_u64_1(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd,_u64,,)(op, 17); -} - -svint64_t test_svqdecd_pat_s64(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_s64,,)(op, SV_VL8, 0); -} - -svint64_t test_svqdecd_pat_s64_1(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_s64,,)(op, SV_VL16, 17); -} - -svuint64_t test_svqdecd_pat_u64(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_u64,,)(op, SV_VL32, 0); -} - -svuint64_t test_svqdecd_pat_u64_1(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecd_pat,_u64,,)(op, SV_VL64, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdech.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdech.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdech.c +++ /dev/null @@ -1,157 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqdech_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_s32,,)(op, 0); -} - -int32_t test_svqdech_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_s32,,)(op, 17); -} - -int64_t test_svqdech_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_s64,,)(op, 0); -} - -int64_t test_svqdech_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_s64,,)(op, 17); -} - -uint32_t test_svqdech_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_u32,,)(op, 0); -} - -uint32_t test_svqdech_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_u32,,)(op, 17); -} - -uint64_t test_svqdech_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_u64,,)(op, 0); -} - -uint64_t test_svqdech_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_n_u64,,)(op, 17); -} - -int32_t test_svqdech_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqdech_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqdech_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqdech_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqdech_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqdech_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqdech_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqdech_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_n_u64,,)(op, SV_VL7, 17); -} - -svint16_t test_svqdech_s16(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_s16,,)(op, 0); -} - -svint16_t test_svqdech_s16_1(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_s16,,)(op, 17); -} - -svuint16_t test_svqdech_u16(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_u16,,)(op, 0); -} - -svuint16_t test_svqdech_u16_1(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech,_u16,,)(op, 17); -} - -svint16_t test_svqdech_pat_s16(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_s16,,)(op, SV_VL8, 0); -} - -svint16_t test_svqdech_pat_s16_1(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_s16,,)(op, SV_VL16, 17); -} - -svuint16_t test_svqdech_pat_u16(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_u16,,)(op, SV_VL32, 0); -} - -svuint16_t test_svqdech_pat_u16_1(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdech_pat,_u16,,)(op, SV_VL64, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecw.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecw.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecw.c +++ /dev/null @@ -1,157 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqdecw_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_s32,,)(op, 0); -} - -int32_t test_svqdecw_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_s32,,)(op, 17); -} - -int64_t test_svqdecw_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_s64,,)(op, 0); -} - -int64_t test_svqdecw_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_s64,,)(op, 17); -} - -uint32_t test_svqdecw_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_u32,,)(op, 0); -} - -uint32_t test_svqdecw_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_u32,,)(op, 17); -} - -uint64_t test_svqdecw_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_u64,,)(op, 0); -} - -uint64_t test_svqdecw_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_n_u64,,)(op, 17); -} - -int32_t test_svqdecw_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqdecw_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqdecw_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqdecw_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqdecw_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqdecw_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqdecw_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqdecw_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_n_u64,,)(op, SV_VL7, 17); -} - -svint32_t test_svqdecw_s32(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_s32,,)(op, 0); -} - -svint32_t test_svqdecw_s32_1(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_s32,,)(op, 17); -} - -svuint32_t test_svqdecw_u32(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_u32,,)(op, 0); -} - -svuint32_t test_svqdecw_u32_1(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw,_u32,,)(op, 17); -} - -svint32_t test_svqdecw_pat_s32(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_s32,,)(op, SV_VL8, 0); -} - -svint32_t test_svqdecw_pat_s32_1(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_s32,,)(op, SV_VL16, 17); -} - -svuint32_t test_svqdecw_pat_u32(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_u32,,)(op, SV_VL32, 0); -} - -svuint32_t test_svqdecw_pat_u32_1(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqdecw_pat,_u32,,)(op, SV_VL64, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincb.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincb.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincb.c +++ /dev/null @@ -1,109 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqincb_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_s32,,)(op, 0); -} - -int32_t test_svqincb_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_s32,,)(op, 17); -} - -int64_t test_svqincb_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_s64,,)(op, 0); -} - -int64_t test_svqincb_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_s64,,)(op, 17); -} - -uint32_t test_svqincb_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_u32,,)(op, 0); -} - -uint32_t test_svqincb_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_u32,,)(op, 17); -} - -uint64_t test_svqincb_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_u64,,)(op, 0); -} - -uint64_t test_svqincb_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb,_n_u64,,)(op, 17); -} - -int32_t test_svqincb_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqincb_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqincb_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqincb_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqincb_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqincb_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqincb_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqincb_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincb_pat,_n_u64,,)(op, SV_VL7, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincd.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincd.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincd.c +++ /dev/null @@ -1,157 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqincd_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_s32,,)(op, 0); -} - -int32_t test_svqincd_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_s32,,)(op, 17); -} - -int64_t test_svqincd_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_s64,,)(op, 0); -} - -int64_t test_svqincd_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_s64,,)(op, 17); -} - -uint32_t test_svqincd_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_u32,,)(op, 0); -} - -uint32_t test_svqincd_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_u32,,)(op, 17); -} - -uint64_t test_svqincd_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_u64,,)(op, 0); -} - -uint64_t test_svqincd_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_n_u64,,)(op, 17); -} - -int32_t test_svqincd_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqincd_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqincd_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqincd_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqincd_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqincd_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqincd_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqincd_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_n_u64,,)(op, SV_VL7, 17); -} - -svint64_t test_svqincd_s64(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_s64,,)(op, 0); -} - -svint64_t test_svqincd_s64_1(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_s64,,)(op, 17); -} - -svuint64_t test_svqincd_u64(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_u64,,)(op, 0); -} - -svuint64_t test_svqincd_u64_1(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd,_u64,,)(op, 17); -} - -svint64_t test_svqincd_pat_s64(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_s64,,)(op, SV_VL8, 0); -} - -svint64_t test_svqincd_pat_s64_1(svint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_s64,,)(op, SV_VL16, 17); -} - -svuint64_t test_svqincd_pat_u64(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_u64,,)(op, SV_VL32, 0); -} - -svuint64_t test_svqincd_pat_u64_1(svuint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincd_pat,_u64,,)(op, SV_VL64, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qinch.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qinch.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qinch.c +++ /dev/null @@ -1,157 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqinch_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_s32,,)(op, 0); -} - -int32_t test_svqinch_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_s32,,)(op, 17); -} - -int64_t test_svqinch_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_s64,,)(op, 0); -} - -int64_t test_svqinch_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_s64,,)(op, 17); -} - -uint32_t test_svqinch_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_u32,,)(op, 0); -} - -uint32_t test_svqinch_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_u32,,)(op, 17); -} - -uint64_t test_svqinch_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_u64,,)(op, 0); -} - -uint64_t test_svqinch_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_n_u64,,)(op, 17); -} - -int32_t test_svqinch_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqinch_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqinch_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqinch_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqinch_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqinch_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqinch_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqinch_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_n_u64,,)(op, SV_VL7, 17); -} - -svint16_t test_svqinch_s16(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_s16,,)(op, 0); -} - -svint16_t test_svqinch_s16_1(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_s16,,)(op, 17); -} - -svuint16_t test_svqinch_u16(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_u16,,)(op, 0); -} - -svuint16_t test_svqinch_u16_1(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch,_u16,,)(op, 17); -} - -svint16_t test_svqinch_pat_s16(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_s16,,)(op, SV_VL8, 0); -} - -svint16_t test_svqinch_pat_s16_1(svint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_s16,,)(op, SV_VL16, 17); -} - -svuint16_t test_svqinch_pat_u16(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_u16,,)(op, SV_VL32, 0); -} - -svuint16_t test_svqinch_pat_u16_1(svuint16_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqinch_pat,_u16,,)(op, SV_VL64, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincw.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincw.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qincw.c +++ /dev/null @@ -1,157 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -int32_t test_svqincw_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_s32,,)(op, 0); -} - -int32_t test_svqincw_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_s32,,)(op, 17); -} - -int64_t test_svqincw_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_s64,,)(op, 0); -} - -int64_t test_svqincw_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_s64,,)(op, 17); -} - -uint32_t test_svqincw_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_u32,,)(op, 0); -} - -uint32_t test_svqincw_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_u32,,)(op, 17); -} - -uint64_t test_svqincw_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_u64,,)(op, 0); -} - -uint64_t test_svqincw_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_n_u64,,)(op, 17); -} - -int32_t test_svqincw_pat_n_s32(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_s32,,)(op, SV_POW2, 0); -} - -int32_t test_svqincw_pat_n_s32_1(int32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_s32,,)(op, SV_VL1, 17); -} - -int64_t test_svqincw_pat_n_s64(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_s64,,)(op, SV_VL2, 0); -} - -int64_t test_svqincw_pat_n_s64_1(int64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_s64,,)(op, SV_VL3, 17); -} - -uint32_t test_svqincw_pat_n_u32(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_u32,,)(op, SV_VL4, 0); -} - -uint32_t test_svqincw_pat_n_u32_1(uint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_u32,,)(op, SV_VL5, 17); -} - -uint64_t test_svqincw_pat_n_u64(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_u64,,)(op, SV_VL6, 0); -} - -uint64_t test_svqincw_pat_n_u64_1(uint64_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_n_u64,,)(op, SV_VL7, 17); -} - -svint32_t test_svqincw_s32(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_s32,,)(op, 0); -} - -svint32_t test_svqincw_s32_1(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_s32,,)(op, 17); -} - -svuint32_t test_svqincw_u32(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_u32,,)(op, 0); -} - -svuint32_t test_svqincw_u32_1(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw,_u32,,)(op, 17); -} - -svint32_t test_svqincw_pat_s32(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_s32,,)(op, SV_VL8, 0); -} - -svint32_t test_svqincw_pat_s32_1(svint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_s32,,)(op, SV_VL16, 17); -} - -svuint32_t test_svqincw_pat_u32(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_u32,,)(op, SV_VL32, 0); -} - -svuint32_t test_svqincw_pat_u32_1(svuint32_t op) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} - return SVE_ACLE_FUNC(svqincw_pat,_u32,,)(op, SV_VL64, 17); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set2.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set2.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set2.c +++ /dev/null @@ -1,145 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s - -// REQUIRES: aarch64-registered-target - -#include - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -svint8x2_t test_svset2_s8(svint8x2_t tuple, svint8_t x) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_s8,,)(tuple, 2, x); -} - -svint16x2_t test_svset2_s16(svint16x2_t tuple, svint16_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_s16,,)(tuple, -1, x); -} - -svint32x2_t test_svset2_s32(svint32x2_t tuple, svint32_t x) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_s32,,)(tuple, 2, x); -} - -svint64x2_t test_svset2_s64(svint64x2_t tuple, svint64_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_s64,,)(tuple, -1, x); -} - -svuint8x2_t test_svset2_u8(svuint8x2_t tuple, svuint8_t x) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_u8,,)(tuple, 2, x); -} - -svuint16x2_t test_svset2_u16(svuint16x2_t tuple, svuint16_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_u16,,)(tuple, -1, x); -} - -svuint32x2_t test_svset2_u32(svuint32x2_t tuple, svuint32_t x) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_u32,,)(tuple, 2, x); -} - -svuint64x2_t test_svset2_u64(svuint64x2_t tuple, svuint64_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_u64,,)(tuple, -1, x); -} - -svfloat16x2_t test_svset2_f16(svfloat16x2_t tuple, svfloat16_t x) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_f16,,)(tuple, 2, x); -} - -svfloat32x2_t test_svset2_f32(svfloat32x2_t tuple, svfloat32_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_f32,,)(tuple, -1, x); -} - -svfloat64x2_t test_svset2_f64(svfloat64x2_t tuple, svfloat64_t x) -{ - // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}} - return SVE_ACLE_FUNC(svset2,_f64,,)(tuple, 2, x); -} - -svint8x2_t test_svset2_s8_var(svint8x2_t tuple, uint64_t imm_index, svint8_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_s8,,)(tuple, imm_index, x); -} - -svint16x2_t test_svset2_s16_var(svint16x2_t tuple, uint64_t imm_index, svint16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_s16,,)(tuple, imm_index, x); -} - -svint32x2_t test_svset2_s32_var(svint32x2_t tuple, uint64_t imm_index, svint32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_s32,,)(tuple, imm_index, x); -} - -svint64x2_t test_svset2_s64_var(svint64x2_t tuple, uint64_t imm_index, svint64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_s64,,)(tuple, imm_index, x); -} - -svuint8x2_t test_svset2_u8_var(svuint8x2_t tuple, uint64_t imm_index, svuint8_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_u8,,)(tuple, imm_index, x); -} - -svuint16x2_t test_svset2_u16_var(svuint16x2_t tuple, uint64_t imm_index, svuint16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_u16,,)(tuple, imm_index, x); -} - -svuint32x2_t test_svset2_u32_var(svuint32x2_t tuple, uint64_t imm_index, svuint32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_u32,,)(tuple, imm_index, x); -} - -svuint64x2_t test_svset2_u64_var(svuint64x2_t tuple, uint64_t imm_index, svuint64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_u64,,)(tuple, imm_index, x); -} - -svfloat16x2_t test_svset2_f16_var(svfloat16x2_t tuple, uint64_t imm_index, svfloat16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_f16,,)(tuple, imm_index, x); -} - -svfloat32x2_t test_svset2_f32_var(svfloat32x2_t tuple, uint64_t imm_index, svfloat32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_f32,,)(tuple, imm_index, x); -} - -svfloat64x2_t test_svset2_f64_var(svfloat64x2_t tuple, uint64_t imm_index, svfloat64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset2,_f64,,)(tuple, imm_index, x); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set3.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set3.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set3.c +++ /dev/null @@ -1,145 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s - -// REQUIRES: aarch64-registered-target - -#include - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -svint8x3_t test_svset3_s8(svint8x3_t tuple, svint8_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_s8,,)(tuple, -1, x); -} - -svint16x3_t test_svset3_s16(svint16x3_t tuple, svint16_t x) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_s16,,)(tuple, 3, x); -} - -svint32x3_t test_svset3_s32(svint32x3_t tuple, svint32_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_s32,,)(tuple, -1, x); -} - -svint64x3_t test_svset3_s64(svint64x3_t tuple, svint64_t x) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_s64,,)(tuple, 3, x); -} - -svuint8x3_t test_svset3_u8(svuint8x3_t tuple, svuint8_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_u8,,)(tuple, -1, x); -} - -svuint16x3_t test_svset3_u16(svuint16x3_t tuple, svuint16_t x) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_u16,,)(tuple, 3, x); -} - -svuint32x3_t test_svset3_u32(svuint32x3_t tuple, svuint32_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_u32,,)(tuple, -1, x); -} - -svuint64x3_t test_svset3_u64(svuint64x3_t tuple, svuint64_t x) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_u64,,)(tuple, 3, x); -} - -svfloat16x3_t test_svset3_f16(svfloat16x3_t tuple, svfloat16_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_f16,,)(tuple, -1, x); -} - -svfloat32x3_t test_svset3_f32(svfloat32x3_t tuple, svfloat32_t x) -{ - // expected-error@+1 {{argument value 3 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_f32,,)(tuple, 3, x); -} - -svfloat64x3_t test_svset3_f64(svfloat64x3_t tuple, svfloat64_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 2]}} - return SVE_ACLE_FUNC(svset3,_f64,,)(tuple, -1, x); -} - -svint8x3_t test_svset3_s8_var(svint8x3_t tuple, uint64_t imm_index, svint8_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_s8,,)(tuple, imm_index, x); -} - -svint16x3_t test_svset3_s16_var(svint16x3_t tuple, uint64_t imm_index, svint16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_s16,,)(tuple, imm_index, x); -} - -svint32x3_t test_svset3_s32_var(svint32x3_t tuple, uint64_t imm_index, svint32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_s32,,)(tuple, imm_index, x); -} - -svint64x3_t test_svset3_s64_var(svint64x3_t tuple, uint64_t imm_index, svint64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_s64,,)(tuple, imm_index, x); -} - -svuint8x3_t test_svset3_u8_var(svuint8x3_t tuple, uint64_t imm_index, svuint8_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_u8,,)(tuple, imm_index, x); -} - -svuint16x3_t test_svset3_u16_var(svuint16x3_t tuple, uint64_t imm_index, svuint16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_u16,,)(tuple, imm_index, x); -} - -svuint32x3_t test_svset3_u32_var(svuint32x3_t tuple, uint64_t imm_index, svuint32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_u32,,)(tuple, imm_index, x); -} - -svuint64x3_t test_svset3_u64_var(svuint64x3_t tuple, uint64_t imm_index, svuint64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_u64,,)(tuple, imm_index, x); -} - -svfloat16x3_t test_svset3_f16_var(svfloat16x3_t tuple, uint64_t imm_index, svfloat16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_f16,,)(tuple, imm_index, x); -} - -svfloat32x3_t test_svset3_f32_var(svfloat32x3_t tuple, uint64_t imm_index, svfloat32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_f32,,)(tuple, imm_index, x); -} - -svfloat64x3_t test_svset3_f64_var(svfloat64x3_t tuple, uint64_t imm_index, svfloat64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset3,_f64,,)(tuple, imm_index, x); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set4.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set4.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set4.c +++ /dev/null @@ -1,145 +0,0 @@ -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=note %s - -// REQUIRES: aarch64-registered-target - -#include - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -svint8x4_t test_svset4_s8(svint8x4_t tuple, svint8_t x) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_s8,,)(tuple, 4, x); -} - -svint16x4_t test_svset4_s16(svint16x4_t tuple, svint16_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_s16,,)(tuple, -1, x); -} - -svint32x4_t test_svset4_s32(svint32x4_t tuple, svint32_t x) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_s32,,)(tuple, 4, x); -} - -svint64x4_t test_svset4_s64(svint64x4_t tuple, svint64_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_s64,,)(tuple, -1, x); -} - -svuint8x4_t test_svset4_u8(svuint8x4_t tuple, svuint8_t x) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_u8,,)(tuple, 4, x); -} - -svuint16x4_t test_svset4_u16(svuint16x4_t tuple, svuint16_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_u16,,)(tuple, -1, x); -} - -svuint32x4_t test_svset4_u32(svuint32x4_t tuple, svuint32_t x) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_u32,,)(tuple, 4, x); -} - -svuint64x4_t test_svset4_u64(svuint64x4_t tuple, svuint64_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_u64,,)(tuple, -1, x); -} - -svfloat16x4_t test_svset4_f16(svfloat16x4_t tuple, svfloat16_t x) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_f16,,)(tuple, 4, x); -} - -svfloat32x4_t test_svset4_f32(svfloat32x4_t tuple, svfloat32_t x) -{ - // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_f32,,)(tuple, -1, x); -} - -svfloat64x4_t test_svset4_f64(svfloat64x4_t tuple, svfloat64_t x) -{ - // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}} - return SVE_ACLE_FUNC(svset4,_f64,,)(tuple, 4, x); -} - -svint8x4_t test_svset4_s8_var(svint8x4_t tuple, uint64_t imm_index, svint8_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_s8,,)(tuple, imm_index, x); -} - -svint16x4_t test_svset4_s16_var(svint16x4_t tuple, uint64_t imm_index, svint16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_s16,,)(tuple, imm_index, x); -} - -svint32x4_t test_svset4_s32_var(svint32x4_t tuple, uint64_t imm_index, svint32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_s32,,)(tuple, imm_index, x); -} - -svint64x4_t test_svset4_s64_var(svint64x4_t tuple, uint64_t imm_index, svint64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_s64,,)(tuple, imm_index, x); -} - -svuint8x4_t test_svset4_u8_var(svuint8x4_t tuple, uint64_t imm_index, svuint8_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_u8,,)(tuple, imm_index, x); -} - -svuint16x4_t test_svset4_u16_var(svuint16x4_t tuple, uint64_t imm_index, svuint16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_u16,,)(tuple, imm_index, x); -} - -svuint32x4_t test_svset4_u32_var(svuint32x4_t tuple, uint64_t imm_index, svuint32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_u32,,)(tuple, imm_index, x); -} - -svuint64x4_t test_svset4_u64_var(svuint64x4_t tuple, uint64_t imm_index, svuint64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_u64,,)(tuple, imm_index, x); -} - -svfloat16x4_t test_svset4_f16_var(svfloat16x4_t tuple, uint64_t imm_index, svfloat16_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_f16,,)(tuple, imm_index, x); -} - -svfloat32x4_t test_svset4_f32_var(svfloat32x4_t tuple, uint64_t imm_index, svfloat32_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_f32,,)(tuple, imm_index, x); -} - -svfloat64x4_t test_svset4_f64_var(svfloat64x4_t tuple, uint64_t imm_index, svfloat64_t x) -{ - // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} - return SVE_ACLE_FUNC(svset4,_f64,,)(tuple, imm_index, x); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_svcnt.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_svcnt.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_svcnt.c +++ /dev/null @@ -1,33 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1, A2_UNUSED, A3, A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1, A2, A3, A4) A1##A2##A3##A4 -#endif - -#include - -uint64_t test_svcntb() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svcnt, , b, )(1); -} - -uint64_t test_svcnth() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svcnt, , h, )(2); -} - -uint64_t test_svcntw() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svcnt, , w, )(3); -} - -uint64_t test_svcntd() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svcnt, , d, )(4); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_svptrue.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_svptrue.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_svptrue.c +++ /dev/null @@ -1,33 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1, A2_UNUSED, A3, A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1, A2, A3, A4) A1##A2##A3##A4 -#endif - -#include - -svbool_t test_svptrue_b8() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svptrue, , _b8, )(1); -} - -svbool_t test_svptrue_b32() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svptrue, , _b32, )(2); -} - -svbool_t test_svptrue_b64() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svptrue, , _b64, )(3); -} - -svbool_t test_svptrue_b16() { - // expected-error-re@+1 {{too many arguments to function call, expected {{0}}, have {{1}}}} - return SVE_ACLE_FUNC(svptrue, , _b16, )(4); -} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_tmad.c b/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_tmad.c deleted file mode 100644 --- a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_tmad.c +++ /dev/null @@ -1,49 +0,0 @@ -// REQUIRES: aarch64-registered-target - -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s -// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s - -#ifdef SVE_OVERLOADED_FORMS -// A simple used,unused... macro, long enough to represent any SVE builtin. -#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 -#else -#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 -#endif - -#include - -svfloat16_t test_svtmad_f16(svfloat16_t op1, svfloat16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svtmad,_f16,,)(op1, op2, -1); -} - -svfloat16_t test_svtmad_f16_1(svfloat16_t op1, svfloat16_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svtmad,_f16,,)(op1, op2, 8); -} - -svfloat32_t test_svtmad_f32(svfloat32_t op1, svfloat32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svtmad,_f32,,)(op1, op2, -1); -} - -svfloat32_t test_svtmad_f32_1(svfloat32_t op1, svfloat32_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svtmad,_f32,,)(op1, op2, 8); -} - -svfloat64_t test_svtmad_f64(svfloat64_t op1, svfloat64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svtmad,_f64,,)(op1, op2, -1); -} - -svfloat64_t test_svtmad_f64_1(svfloat64_t op1, svfloat64_t op2) -{ - // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} - return SVE_ACLE_FUNC(svtmad,_f64,,)(op1, op2, 8); -} diff --git a/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp new file mode 100644 --- /dev/null +++ b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp @@ -0,0 +1,87 @@ +// REQUIRES: aarch64-registered-target + +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=error,note %s + +#include + +void test_bfloat(svbool_t pg, uint64_t u64, int64_t i64, const bfloat16_t *const_bf16_ptr, svbfloat16_t bf16, svbfloat16x2_t bf16x2, svbfloat16x3_t bf16x3, svbfloat16x4_t bf16x4) +{ + // expected-error@+1 {{use of undeclared identifier 'svcreate2_bf16'}} + svcreate2_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svcreate3_bf16'}} + svcreate3_bf16(bf16, bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svcreate4_bf16'}} + svcreate4_bf16(bf16, bf16, bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svget2_bf16'}} + svget2_bf16(bf16x2, u64); + // expected-error@+1 {{use of undeclared identifier 'svget3_bf16'}} + svget3_bf16(bf16x3, u64); + // expected-error@+1 {{use of undeclared identifier 'svget4_bf16'}} + svget4_bf16(bf16x4, u64); + // expected-error@+1 {{use of undeclared identifier 'svld1_bf16'}} + svld1_bf16(pg, const_bf16_ptr); + // expected-error@+1 {{use of undeclared identifier 'svld1_vnum_bf16'}} + svld1_vnum_bf16(pg, const_bf16_ptr, i64); + // expected-error@+1 {{use of undeclared identifier 'svld1rq_bf16'}} + svld1rq_bf16(pg, const_bf16_ptr); + // expected-error@+1 {{use of undeclared identifier 'svldff1_bf16'}} + svldff1_bf16(pg, const_bf16_ptr); + // expected-error@+1 {{use of undeclared identifier 'svldff1_vnum_bf16'}} + svldff1_vnum_bf16(pg, const_bf16_ptr, i64); + // expected-error@+1 {{use of undeclared identifier 'svldnf1_bf16'}} + svldnf1_bf16(pg, const_bf16_ptr); + // expected-error@+1 {{use of undeclared identifier 'svldnf1_vnum_bf16'}} + svldnf1_vnum_bf16(pg, const_bf16_ptr, i64); + // expected-error@+1 {{use of undeclared identifier 'svldnt1_bf16'}} + svldnt1_bf16(pg, const_bf16_ptr); + // expected-error@+1 {{use of undeclared identifier 'svldnt1_vnum_bf16'}} + svldnt1_vnum_bf16(pg, const_bf16_ptr, i64); + // expected-error@+1 {{use of undeclared identifier 'svrev_bf16'}} + svrev_bf16(bf16); + // expected-error@+1 {{use of undeclared identifier 'svset2_bf16'}} + svset2_bf16(bf16x2, u64, bf16); + // expected-error@+1 {{use of undeclared identifier 'svset3_bf16'}} + svset3_bf16(bf16x3, u64, bf16); + // expected-error@+1 {{use of undeclared identifier 'svset4_bf16'}} + svset4_bf16(bf16x4, u64, bf16); + // expected-error@+1 {{use of undeclared identifier 'svst1_bf16'}} + svst1_bf16(pg, const_bf16_ptr, bf16); + // expected-error@+1 {{use of undeclared identifier 'svst1_vnum_bf16'}} + svst1_vnum_bf16(pg, const_bf16_ptr, i64, bf16); + // expected-error@+1 {{use of undeclared identifier 'svstnt1_bf16'}} + svstnt1_bf16(pg, const_bf16_ptr, bf16); + // expected-error@+1 {{use of undeclared identifier 'svstnt1_vnum_bf16'}} + svstnt1_vnum_bf16(pg, const_bf16_ptr, i64, bf16); + // expected-error@+1 {{use of undeclared identifier 'svtrn1_bf16'}} + svtrn1_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svtrn1q_bf16'}} + svtrn1q_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svtrn2_bf16'}} + svtrn2_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svtrn2q_bf16'}} + svtrn2q_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svundef_bf16'}} + svundef_bf16(); + // expected-error@+1 {{use of undeclared identifier 'svundef2_bf16'}} + svundef2_bf16(); + // expected-error@+1 {{use of undeclared identifier 'svundef3_bf16'}} + svundef3_bf16(); + // expected-error@+1 {{use of undeclared identifier 'svundef4_bf16'}} + svundef4_bf16(); + // expected-error@+1 {{use of undeclared identifier 'svuzp1_bf16'}} + svuzp1_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svuzp1q_bf16'}} + svuzp1q_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svuzp2_bf16'}} + svuzp2_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svuzp2q_bf16'}} + svuzp2q_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svzip1_bf16'}} + svzip1_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svzip1q_bf16'}} + svzip1q_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svzip2_bf16'}} + svzip2_bf16(bf16, bf16); + // expected-error@+1 {{use of undeclared identifier 'svzip2q_bf16'}} + svzip2q_bf16(bf16, bf16); +} diff --git a/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm.cpp b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm.cpp new file mode 100644 --- /dev/null +++ b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm.cpp @@ -0,0 +1,441 @@ +// REQUIRES: aarch64-registered-target + +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=error %s +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify -verify-ignore-unexpected=error %s + +#ifdef SVE_OVERLOADED_FORMS +// A simple used,unused... macro, long enough to represent any SVE builtin. +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 +#else +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 +#endif + +#include + +void test_range_0_255() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}} + SVE_ACLE_FUNC(svext,_s8,,)(svundef_s8(), svundef_s8(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 255]}} + SVE_ACLE_FUNC(svext,_u8,,)(svundef_u8(), svundef_u8(), -1); +} + +void test_range_0_127() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} + SVE_ACLE_FUNC(svext,_s16,,)(svundef_s16(), svundef_s16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} + SVE_ACLE_FUNC(svext,_u16,,)(svundef_u16(), svundef_u16(), 128); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 127]}} + SVE_ACLE_FUNC(svext,_f16,,)(svundef_f16(), svundef_f16(), -1); +} + +void test_range_0_63() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} + SVE_ACLE_FUNC(svext,_s32,,)(svundef_s32(), svundef_s32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} + SVE_ACLE_FUNC(svext,_u32,,)(svundef_u32(), svundef_u32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}} + SVE_ACLE_FUNC(svext,_f32,,)(svundef_f32(), svundef_f32(), 64); +} + +void test_range_0_31() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} + SVE_ACLE_FUNC(svext,_s64,,)(svundef_s64(), svundef_s64(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} + SVE_ACLE_FUNC(svext,_u64,,)(svundef_u64(), svundef_u64(), 32); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}} + SVE_ACLE_FUNC(svext,_f64,,)(svundef_f64(), svundef_f64(), -1); +} + +void test_range_0_1() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_s8,,)(svundef2_s8(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_s16,,)(svundef2_s16(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_s32,,)(svundef2_s32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_s64,,)(svundef2_s64(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_u8,,)(svundef2_u8(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_u16,,)(svundef2_u16(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_u32,,)(svundef2_u32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_u64,,)(svundef2_u64(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_f16,,)(svundef2_f16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_f32,,)(svundef2_f32(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svget2,_f64,,)(svundef2_f64(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_s8,,)(svundef2_s8(), 2, svundef_s8()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_s16,,)(svundef2_s16(), -1, svundef_s16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_s32,,)(svundef2_s32(), 2, svundef_s32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_s64,,)(svundef2_s64(), -1, svundef_s64()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_u8,,)(svundef2_u8(), 2, svundef_u8()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_u16,,)(svundef2_u16(), -1, svundef_u16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_u32,,)(svundef2_u32(), 2, svundef_u32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_u64,,)(svundef2_u64(), -1, svundef_u64()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_f16,,)(svundef2_f16(), 2, svundef_f16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_f32,,)(svundef2_f32(), -1, svundef_f32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svset2,_f64,,)(svundef2_f64(), 2, svundef_f64()); +} + +void test_range_0_2() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_s8,,)(svundef3_s8(), 3); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_s16,,)(svundef3_s16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_s32,,)(svundef3_s32(), 3); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_s64,,)(svundef3_s64(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_u8,,)(svundef3_u8(), 3); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_u16,,)(svundef3_u16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_u32,,)(svundef3_u32(), 3); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_u64,,)(svundef3_u64(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_f16,,)(svundef3_f16(), 3); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_f32,,)(svundef3_f32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svget3,_f64,,)(svundef3_f64(), 3); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_s8,,)(svundef3_s8(), -1, svundef_s8()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_s16,,)(svundef3_s16(), -1, svundef_s16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_s32,,)(svundef3_s32(), 3, svundef_s32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_s64,,)(svundef3_s64(), -1, svundef_s64()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_u8,,)(svundef3_u8(), 3, svundef_u8()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_u16,,)(svundef3_u16(), -1, svundef_u16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_u32,,)(svundef3_u32(), 3, svundef_u32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_u64,,)(svundef3_u64(), -1, svundef_u64()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_f16,,)(svundef3_f16(), 3, svundef_f16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_f32,,)(svundef3_f32(), -1, svundef_f32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 2]}} + SVE_ACLE_FUNC(svset3,_f64,,)(svundef3_f64(), 3, svundef_f64()); +} + +void test_range_0_3() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_s8,,)(svundef4_s8(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_s16,,)(svundef4_s16(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_s32,,)(svundef4_s32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_s64,,)(svundef4_s64(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_u8,,)(svundef4_u8(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_u16,,)(svundef4_u16(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_u32,,)(svundef4_u32(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_u64,,)(svundef4_u64(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_f16,,)(svundef4_f16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_f32,,)(svundef4_f32(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svget4,_f64,,)(svundef4_f64(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_s8,,)(svundef4_s8(), -1, svundef_s8()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_s32,,)(svundef4_s32(), 4, svundef_s32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_s64,,)(svundef4_s64(), -1, svundef_s64()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_u8,,)(svundef4_u8(), 4, svundef_u8()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_u16,,)(svundef4_u16(), -1, svundef_u16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_u32,,)(svundef4_u32(), 4, svundef_u32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_u64,,)(svundef4_u64(), -1, svundef_u64()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_f16,,)(svundef4_f16(), 4, svundef_f16()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_f32,,)(svundef4_f32(), -1, svundef_f32()); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svset4,_f64,,)(svundef4_f64(), 4, svundef_f64()); +} + +void test_range_0_7() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} + SVE_ACLE_FUNC(svtmad,_f16,,)(svundef_f16(), svundef_f16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} + SVE_ACLE_FUNC(svtmad,_f32,,)(svundef_f32(), svundef_f32(), 8); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} + SVE_ACLE_FUNC(svtmad,_f64,,)(svundef_f64(), svundef_f64(), -1); +} + +void test_range_0_13(svbool_t pg, const void *const_void_ptr) +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfb(pg, const_void_ptr, svprfop(14)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfb_vnum(pg, const_void_ptr, 0, svprfop(-1)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfd(pg, const_void_ptr, svprfop(14)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfd_vnum(pg, const_void_ptr, 0, svprfop(-1)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfh(pg, const_void_ptr, svprfop(14)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfh_vnum(pg, const_void_ptr, 0, svprfop(-1)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfw(pg, const_void_ptr, svprfop(14)); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 13]}} + svprfw_vnum(pg, const_void_ptr, 0, svprfop(-1)); +} + +void test_range_1_16() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd,_s64,,)(svundef_s64(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd_pat,_s64,,)(svundef_s64(), SV_VL8, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd,_u64,,)(svundef_u64(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd_pat,_u64,,)(svundef_u64(), SV_VL64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech,_s16,,)(svundef_s16(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech,_u16,,)(svundef_u16(), 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech_pat,_s16,,)(svundef_s16(), SV_VL8, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech_pat,_u16,,)(svundef_u16(), SV_VL64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw,_s32,,)(svundef_s32(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw,_u32,,)(svundef_u32(), 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw_pat,_s32,,)(svundef_s32(), SV_VL8, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw_pat,_u32,,)(svundef_u32(), SV_VL64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd,_s64,,)(svundef_s64(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd,_u64,,)(svundef_u64(), 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd_pat,_s64,,)(svundef_s64(), SV_VL8, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd_pat,_u64,,)(svundef_u64(), SV_VL64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch,_s16,,)(svundef_s16(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch,_u16,,)(svundef_u16(), 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch_pat,_s16,,)(svundef_s16(), SV_VL8, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch_pat,_u16,,)(svundef_u16(), SV_VL64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw,_s32,,)(svundef_s32(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw,_u32,,)(svundef_u32(), 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw_pat,_s32,,)(svundef_s32(), SV_VL8, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw_pat,_u32,,)(svundef_u32(), SV_VL64, 17); +} + +void test_constant(uint64_t u64) +{ + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_s8,,)(svundef2_s8(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_s16,,)(svundef2_s16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_s32,,)(svundef2_s32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_s64,,)(svundef2_s64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_u8,,)(svundef2_u8(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_u16,,)(svundef2_u16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_u32,,)(svundef2_u32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_u64,,)(svundef2_u64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_f16,,)(svundef2_f16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_f32,,)(svundef2_f32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget2,_f64,,)(svundef2_f64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_s8,,)(svundef3_s8(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_s16,,)(svundef3_s16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_s32,,)(svundef3_s32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_s64,,)(svundef3_s64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_u8,,)(svundef3_u8(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_u16,,)(svundef3_u16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_u32,,)(svundef3_u32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_u64,,)(svundef3_u64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_f16,,)(svundef3_f16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_f32,,)(svundef3_f32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget3,_f64,,)(svundef3_f64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_s8,,)(svundef4_s8(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_s16,,)(svundef4_s16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_s32,,)(svundef4_s32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_s64,,)(svundef4_s64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_u8,,)(svundef4_u8(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_u16,,)(svundef4_u16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_u32,,)(svundef4_u32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_u64,,)(svundef4_u64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_f16,,)(svundef4_f16(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_f32,,)(svundef4_f32(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svget4,_f64,,)(svundef4_f64(), u64); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_s8,,)(svundef2_s8(), u64, svundef_s8()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_s16,,)(svundef2_s16(), u64, svundef_s16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_s32,,)(svundef2_s32(), u64, svundef_s32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_s64,,)(svundef2_s64(), u64, svundef_s64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_u8,,)(svundef2_u8(), u64, svundef_u8()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_u16,,)(svundef2_u16(), u64, svundef_u16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_u32,,)(svundef2_u32(), u64, svundef_u32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_u64,,)(svundef2_u64(), u64, svundef_u64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_f16,,)(svundef2_f16(), u64, svundef_f16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_f32,,)(svundef2_f32(), u64, svundef_f32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset2,_f64,,)(svundef2_f64(), u64, svundef_f64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_s8,,)(svundef3_s8(), u64, svundef_s8()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_s16,,)(svundef3_s16(), u64, svundef_s16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_s32,,)(svundef3_s32(), u64, svundef_s32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_s64,,)(svundef3_s64(), u64, svundef_s64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_u8,,)(svundef3_u8(), u64, svundef_u8()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_u16,,)(svundef3_u16(), u64, svundef_u16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_u32,,)(svundef3_u32(), u64, svundef_u32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_u64,,)(svundef3_u64(), u64, svundef_u64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_f16,,)(svundef3_f16(), u64, svundef_f16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_f32,,)(svundef3_f32(), u64, svundef_f32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset3,_f64,,)(svundef3_f64(), u64, svundef_f64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_s8,,)(svundef4_s8(), u64, svundef_s8()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_s16,,)(svundef4_s16(), u64, svundef_s16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_s32,,)(svundef4_s32(), u64, svundef_s32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_s64,,)(svundef4_s64(), u64, svundef_s64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_u8,,)(svundef4_u8(), u64, svundef_u8()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_u16,,)(svundef4_u16(), u64, svundef_u16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_u32,,)(svundef4_u32(), u64, svundef_u32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_u64,,)(svundef4_u64(), u64, svundef_u64()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_f16,,)(svundef4_f16(), u64, svundef_f16()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_f32,,)(svundef4_f32(), u64, svundef_f32()); + // expected-error-re@+1 {{argument to '{{.*}}' must be a constant integer}} + SVE_ACLE_FUNC(svset4,_f64,,)(svundef4_f64(), u64, svundef_f64()); +} + +void test_num_args() +{ + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svcnt,, b,)(1); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svcnt,, h,)(2); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svcnt,, w,)(3); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svcnt,, d,)(4); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svptrue,, _b8,)(1); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svptrue,, _b16,)(2); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svptrue,, _b32,)(3); + // expected-note@* {{requires 0 arguments, but 1 was provided}} + SVE_ACLE_FUNC(svptrue,, _b64,)(4); +} + +void test_enum(svbool_t pg, const void *const_void_ptr, uint64_t u64) +{ + // Test type checks on svpattern and svprfop enums. + + // expected-note@* {{no known conversion from 'svpattern' to 'enum svprfop'}} + SVE_ACLE_FUNC(svprfb,,,)(pg, const_void_ptr, SV_VL1); + // expected-note@* + {{no known conversion from 'svprfop' to 'enum svpattern'}} + SVE_ACLE_FUNC(svqdecb_pat,_n_u64,,)(u64, SV_PLDL1KEEP, 1); +} diff --git a/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_lane.cpp b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_lane.cpp new file mode 100644 --- /dev/null +++ b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_lane.cpp @@ -0,0 +1,49 @@ +// REQUIRES: aarch64-registered-target + +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s + +#ifdef SVE_OVERLOADED_FORMS +// A simple used,unused... macro, long enough to represent any SVE builtin. +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 +#else +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 +#endif + +#include + +void test_range_0_7() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} + SVE_ACLE_FUNC(svmla_lane,_f16,,)(svundef_f16(), svundef_f16(), svundef_f16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}} + SVE_ACLE_FUNC(svmul_lane,_f16,,)(svundef_f16(), svundef_f16(), 8); +} + +void test_range_0_3() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svcmla_lane,_f16,,)(svundef_f16(), svundef_f16(), svundef_f16(), -1, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svdot_lane,_s32,,)(svundef_s32(), svundef_s8(), svundef_s8(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svdot_lane,_u32,,)(svundef_u32(), svundef_u8(), svundef_u8(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svmla_lane,_f32,,)(svundef_f32(), svundef_f32(), svundef_f32(), 4); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 3]}} + SVE_ACLE_FUNC(svmul_lane,_f32,,)(svundef_f32(), svundef_f32(), -1); +} + +void test_range_0_1() +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svcmla_lane,_f32,,)(svundef_f32(), svundef_f32(), svundef_f32(), -1, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svdot_lane,_s64,,)(svundef_s64(), svundef_s16(), svundef_s16(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svdot_lane,_u64,,)(svundef_u64(), svundef_u16(), svundef_u16(), -1); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svmla_lane,_f64,,)(svundef_f64(), svundef_f64(), svundef_f64(), 2); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 1]}} + SVE_ACLE_FUNC(svmul_lane,_f64,,)(svundef_f64(), svundef_f64(), -1); +} diff --git a/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_n.cpp b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_n.cpp new file mode 100644 --- /dev/null +++ b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_n.cpp @@ -0,0 +1,181 @@ +// REQUIRES: aarch64-registered-target + +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s + +#ifdef SVE_OVERLOADED_FORMS +// A simple used,unused... macro, long enough to represent any SVE builtin. +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 +#else +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 +#endif + +#include + +void test_range_1_8(svbool_t pg) +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} + SVE_ACLE_FUNC(svasrd,_n_s8,_x,)(pg, svundef_s8(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} + SVE_ACLE_FUNC(svasrd,_n_s8,_z,)(pg, svundef_s8(), 9); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}} + SVE_ACLE_FUNC(svasrd,_n_s8,_m,)(pg, svundef_s8(), 0); +} + +void test_range_1_16(svbool_t pg, int32_t i32, uint32_t u32, int64_t i64, uint64_t u64) +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svasrd,_n_s16,_x,)(pg, svundef_s16(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svasrd,_n_s16,_z,)(pg, svundef_s16(), 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svasrd,_n_s16,_m,)(pg, svundef_s16(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecb_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecd_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdech_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqdecw_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb,_n_u64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincb_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincd_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqinch_pat,_n_u64,,)(u64, SV_VL6, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw,_n_s32,,)(i32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw_pat,_n_s32,,)(i32, SV_POW2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw,_n_u32,,)(u32, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw_pat,_n_u32,,)(u32, SV_VL4, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw,_n_s64,,)(i64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw_pat,_n_s64,,)(i64, SV_VL2, 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw,_n_u64,,)(u64, 17); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}} + SVE_ACLE_FUNC(svqincw_pat,_n_u64,,)(u64, SV_VL6, 0); +} + +void test_range_1_32(svbool_t pg) +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} + SVE_ACLE_FUNC(svasrd,_n_s32,_x,)(pg, svundef_s32(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} + SVE_ACLE_FUNC(svasrd,_n_s32,_z,)(pg, svundef_s32(), 33); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}} + SVE_ACLE_FUNC(svasrd,_n_s32,_m,)(pg, svundef_s32(), 0); +} + +void test_range_1_64(svbool_t pg) +{ + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} + SVE_ACLE_FUNC(svasrd,_n_s64,_x,)(pg, svundef_s64(), 0); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} + SVE_ACLE_FUNC(svasrd,_n_s64,_z,)(pg, svundef_s64(), 65); + // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}} + SVE_ACLE_FUNC(svasrd,_n_s64,_m,)(pg, svundef_s64(), 0); +} diff --git a/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_rotation.cpp b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_rotation.cpp new file mode 100644 --- /dev/null +++ b/clang/test/Sema/aarch64-sve-intrinsics/acle_sve_imm_rotation.cpp @@ -0,0 +1,61 @@ +// REQUIRES: aarch64-registered-target + +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s +// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify %s + +#ifdef SVE_OVERLOADED_FORMS +// A simple used,unused... macro, long enough to represent any SVE builtin. +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 +#else +#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4 +#endif + +#include + +void test_90_270(svbool_t pg) +{ + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f16,_x,)(pg, svundef_f16(), svundef_f16(), 0); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f16,_z,)(pg, svundef_f16(), svundef_f16(), 180); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f16,_m,)(pg, svundef_f16(), svundef_f16(), 0); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f32,_x,)(pg, svundef_f32(), svundef_f32(), 180); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f32,_z,)(pg, svundef_f32(), svundef_f32(), 0); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f32,_m,)(pg, svundef_f32(), svundef_f32(), 180); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f64,_x,)(pg, svundef_f64(), svundef_f64(), 0); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f64,_z,)(pg, svundef_f64(), svundef_f64(), 180); + // expected-error@+1 {{argument should be the value 90 or 270}} + SVE_ACLE_FUNC(svcadd,_f64,_m,)(pg, svundef_f64(), svundef_f64(), 0); +} + +void test_0_90_180_270(svbool_t pg) +{ + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f16,_x,)(pg, svundef_f16(), svundef_f16(), svundef_f16(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f16,_z,)(pg, svundef_f16(), svundef_f16(), svundef_f16(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f16,_m,)(pg, svundef_f16(), svundef_f16(), svundef_f16(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla_lane,_f16,,)(svundef_f16(), svundef_f16(), svundef_f16(), 0, 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f32,_x,)(pg, svundef_f32(), svundef_f32(), svundef_f32(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f32,_z,)(pg, svundef_f32(), svundef_f32(), svundef_f32(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f32,_m,)(pg, svundef_f32(), svundef_f32(), svundef_f32(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla_lane,_f32,,)(svundef_f32(), svundef_f32(), svundef_f32(), 0, 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f64,_x,)(pg, svundef_f64(), svundef_f64(), svundef_f64(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f64,_z,)(pg, svundef_f64(), svundef_f64(), svundef_f64(), 19); + // expected-error@+1 {{argument should be the value 0, 90, 180 or 270}} + SVE_ACLE_FUNC(svcmla,_f64,_m,)(pg, svundef_f64(), svundef_f64(), svundef_f64(), 19); +} diff --git a/clang/test/CodeGen/aarch64-sve-intrinsics/negative/big_endian.c b/clang/test/Sema/aarch64-sve-intrinsics/big_endian.cpp rename from clang/test/CodeGen/aarch64-sve-intrinsics/negative/big_endian.c rename to clang/test/Sema/aarch64-sve-intrinsics/big_endian.cpp