[clang] [clang] Update diagnostics to include matrices as accepted types (PR #201237)
Alex Sepkowski via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 2 16:50:00 PDT 2026
https://github.com/alsepkow created https://github.com/llvm/llvm-project/pull/201237
Several `err_builtin_invalid_arg_type` call sites still emit "scalar or vector of ..." even though the underlying checkers already unwrap matrix types. This extends the diagnostic with a new "scalar, vector, or matrix of" option (index 6) and migrates the call sites whose checkers do accept matrices:
Call sites whose checkers only unwrap VectorType are left at index 5 so their diagnostic text continues to accurately describe what is accepted.
Tests using the old wording are updated to match.
Fixes #189147
>From d5bb883aec940eb1e51c2bca6dbbc11b14ff95da Mon Sep 17 00:00:00 2001
From: Alex Sepkowski <alsepkow at microsoft.com>
Date: Tue, 2 Jun 2026 16:45:34 -0700
Subject: [PATCH] [clang] Update diagnostics to include matrices as accepted
types
Several `err_builtin_invalid_arg_type` call sites still emit "scalar or
vector of ..." even though the underlying checkers already unwrap matrix
types. This extends the diagnostic with a new "scalar, vector, or matrix
of" option (index 6) and migrates the call sites whose checkers do
accept matrices:
- SemaChecking: checkMathBuiltinElementType (FloatTy, IntegerTy,
SignedIntOrFloatTy) - resolves the pre-existing FIXME comment.
- SemaSPIRV: smoothstep, faceforward, ddx/ddy/fwidth.
- SemaHLSL: CheckFloatOrHalfRepresentation,
CheckUnsignedIntRepresentation, saturate/rcp.
Call sites whose checkers only unwrap VectorType (e.g. f32tof16,
firstbithigh/firstbitlow, refract, the SemaSPIRV
CheckFloatOrHalfRepresentation helper, and the f16tof32 inline bool
guard) are left at index 5 so their diagnostic text continues to
accurately describe what is accepted.
Tests using the old wording are updated to match.
Fixes #189147
Co-authored-by: Copilot <223556219+Copilot at users.noreply.github.com>
---
.../clang/Basic/DiagnosticSemaKinds.td | 3 +-
clang/lib/Sema/SemaChecking.cpp | 11 +-
clang/lib/Sema/SemaHLSL.cpp | 12 +-
clang/lib/Sema/SemaSPIRV.cpp | 12 +-
clang/test/Sema/aarch64-sve-vector-exp-ops.c | 4 +-
clang/test/Sema/aarch64-sve-vector-log-ops.c | 6 +-
clang/test/Sema/aarch64-sve-vector-pow-ops.c | 2 +-
clang/test/Sema/aarch64-sve-vector-trig-ops.c | 20 +-
clang/test/Sema/builtins-elementwise-math.c | 320 +++++++++---------
clang/test/Sema/riscv-rvv-vector-exp-ops.c | 4 +-
clang/test/Sema/riscv-rvv-vector-log-ops.c | 6 +-
clang/test/Sema/riscv-rvv-vector-trig-ops.c | 20 +-
clang/test/Sema/riscv-sve-vector-pow-ops.c | 2 +-
.../SemaHLSL/BuiltIns/atan2-errors_mat.hlsl | 2 +-
.../SemaHLSL/BuiltIns/ddx-coarse-errors.hlsl | 4 +-
.../SemaHLSL/BuiltIns/ddx-fine-errors.hlsl | 4 +-
.../SemaHLSL/BuiltIns/ddy-coarse-errors.hlsl | 4 +-
.../SemaHLSL/BuiltIns/ddy-fine-errors.hlsl | 4 +-
.../SemaHLSL/BuiltIns/degrees-errors.hlsl | 6 +-
clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl | 6 +-
.../SemaHLSL/BuiltIns/f16tof32-errors.hlsl | 16 +-
clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl | 6 +-
.../BuiltIns/half-float-only-errors.hlsl | 4 +-
.../BuiltIns/half-float-only-errors2.hlsl | 4 +-
.../test/SemaHLSL/BuiltIns/isinf-errors.hlsl | 10 +-
.../test/SemaHLSL/BuiltIns/isnan-errors.hlsl | 10 +-
clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl | 20 +-
.../SemaHLSL/BuiltIns/normalize-errors.hlsl | 6 +-
.../SemaHLSL/BuiltIns/radians-errors.hlsl | 6 +-
clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl | 6 +-
.../SemaHLSL/BuiltIns/reversebits-errors.hlsl | 4 +-
.../test/SemaHLSL/BuiltIns/round-errors.hlsl | 6 +-
.../test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl | 8 +-
clang/test/SemaHLSL/BuiltIns/step-errors.hlsl | 6 +-
clang/test/SemaSPIRV/BuiltIns/ddx-errors.c | 2 +-
clang/test/SemaSPIRV/BuiltIns/ddy-errors.c | 2 +-
.../SemaSPIRV/BuiltIns/faceforward-errors.c | 2 +-
clang/test/SemaSPIRV/BuiltIns/fwidth-errors.c | 2 +-
.../SemaSPIRV/BuiltIns/smoothstep-errors.c | 2 +-
39 files changed, 287 insertions(+), 287 deletions(-)
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 077aace321264..dd4c0fdf62d6c 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -13323,7 +13323,8 @@ def err_builtin_is_within_lifetime_invalid_arg : Error<
def err_builtin_invalid_arg_type: Error<
"%ordinal0 argument must be a "
// First component: scalar or container types
- "%select{|scalar|vector|matrix|vector of|scalar or vector of}1"
+ "%select{|scalar|vector|matrix|vector of|scalar or vector of|"
+ "scalar, vector, or matrix of}1"
// A comma after generic vector/matrix types if there are non-empty second
// and third components, to initiate a list.
"%plural{[2,3]:%plural{0:|:%plural{0:|:,}2}3|:}1"
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index 8a8c9cc9d2c23..b44be7fabc220 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -2208,23 +2208,22 @@ checkMathBuiltinElementType(Sema &S, SourceLocation Loc, QualType ArgTy,
break;
case Sema::EltwiseBuiltinArgTyRestriction::FloatTy:
if (!EltTy->isRealFloatingType()) {
- // FIXME: make diagnostic's wording correct for matrices
return S.Diag(Loc, diag::err_builtin_invalid_arg_type)
- << ArgOrdinal << /* scalar or vector */ 5 << /* no int */ 0
- << /* floating-point */ 1 << ArgTy;
+ << ArgOrdinal << /* scalar, vector, or matrix */ 6
+ << /* no int */ 0 << /* floating-point */ 1 << ArgTy;
}
break;
case Sema::EltwiseBuiltinArgTyRestriction::IntegerTy:
if (!EltTy->isIntegerType()) {
return S.Diag(Loc, diag::err_builtin_invalid_arg_type)
- << ArgOrdinal << /* scalar or vector */ 5 << /* integer */ 1
- << /* no fp */ 0 << ArgTy;
+ << ArgOrdinal << /* scalar, vector, or matrix */ 6
+ << /* integer */ 1 << /* no fp */ 0 << ArgTy;
}
break;
case Sema::EltwiseBuiltinArgTyRestriction::SignedIntOrFloatTy:
if (!EltTy->isSignedIntegerType() && !EltTy->isRealFloatingType()) {
return S.Diag(Loc, diag::err_builtin_invalid_arg_type)
- << 1 << /* scalar or vector */ 5 << /* signed int */ 2
+ << 1 << /* scalar, vector, or matrix */ 6 << /* signed int */ 2
<< /* or fp */ 1 << ArgTy;
}
break;
diff --git a/clang/lib/Sema/SemaHLSL.cpp b/clang/lib/Sema/SemaHLSL.cpp
index 04148fcd008d5..0ececb40d5c78 100644
--- a/clang/lib/Sema/SemaHLSL.cpp
+++ b/clang/lib/Sema/SemaHLSL.cpp
@@ -3301,8 +3301,8 @@ static bool CheckFloatOrHalfRepresentation(Sema *S, SourceLocation Loc,
if (!BaseType->isHalfType() && !BaseType->isFloat32Type())
return S->Diag(Loc, diag::err_builtin_invalid_arg_type)
- << ArgOrdinal << /* scalar or vector of */ 5 << /* no int */ 0
- << /* half or float */ 2 << PassedType;
+ << ArgOrdinal << /* scalar, vector, or matrix */ 6
+ << /* no int */ 0 << /* half or float */ 2 << PassedType;
return false;
}
@@ -3378,8 +3378,8 @@ static bool CheckUnsignedIntRepresentation(Sema *S, SourceLocation Loc,
clang::QualType PassedType) {
if (!PassedType->hasUnsignedIntegerRepresentation())
return S->Diag(Loc, diag::err_builtin_invalid_arg_type)
- << ArgOrdinal << /* scalar or vector of */ 5 << /* unsigned int */ 3
- << /* no fp */ 0 << PassedType;
+ << ArgOrdinal << /* scalar, vector, or matrix */ 6
+ << /* unsigned int */ 3 << /* no fp */ 0 << PassedType;
return false;
}
@@ -4204,8 +4204,8 @@ bool SemaHLSL::CheckBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
->hasFloatingRepresentation()) // half or float or double
return SemaRef.Diag(TheCall->getArg(0)->getBeginLoc(),
diag::err_builtin_invalid_arg_type)
- << /* ordinal */ 1 << /* scalar or vector */ 5 << /* no int */ 0
- << /* fp */ 1 << TheCall->getArg(0)->getType();
+ << /* ordinal */ 1 << /* scalar, vector, or matrix */ 6
+ << /* no int */ 0 << /* fp */ 1 << TheCall->getArg(0)->getType();
if (SemaRef.PrepareBuiltinElementwiseMathOneArgCall(TheCall))
return true;
break;
diff --git a/clang/lib/Sema/SemaSPIRV.cpp b/clang/lib/Sema/SemaSPIRV.cpp
index 8c2af5053bde2..99842fa4de5ef 100644
--- a/clang/lib/Sema/SemaSPIRV.cpp
+++ b/clang/lib/Sema/SemaSPIRV.cpp
@@ -324,8 +324,8 @@ bool SemaSPIRV::CheckSPIRVBuiltinFunctionCall(const TargetInfo &TI,
QualType ArgTyA = A.get()->getType();
if (!ArgTyA->hasFloatingRepresentation()) {
SemaRef.Diag(A.get()->getBeginLoc(), diag::err_builtin_invalid_arg_type)
- << /* ordinal */ 1 << /* scalar or vector */ 5 << /* no int */ 0
- << /* fp */ 1 << ArgTyA;
+ << /* ordinal */ 1 << /* scalar, vector, or matrix */ 6
+ << /* no int */ 0 << /* fp */ 1 << ArgTyA;
return true;
}
@@ -345,8 +345,8 @@ bool SemaSPIRV::CheckSPIRVBuiltinFunctionCall(const TargetInfo &TI,
QualType ArgTyA = A.get()->getType();
if (!ArgTyA->hasFloatingRepresentation()) {
SemaRef.Diag(A.get()->getBeginLoc(), diag::err_builtin_invalid_arg_type)
- << /* ordinal */ 1 << /* scalar or vector */ 5 << /* no int */ 0
- << /* fp */ 1 << ArgTyA;
+ << /* ordinal */ 1 << /* scalar, vector, or matrix */ 6
+ << /* no int */ 0 << /* fp */ 1 << ArgTyA;
return true;
}
@@ -371,8 +371,8 @@ bool SemaSPIRV::CheckSPIRVBuiltinFunctionCall(const TargetInfo &TI,
QualType ArgTyA = A.get()->getType();
if (!ArgTyA->hasFloatingRepresentation()) {
SemaRef.Diag(A.get()->getBeginLoc(), diag::err_builtin_invalid_arg_type)
- << /* ordinal */ 1 << /* scalar or vector */ 5 << /* no int */ 0
- << /* fp */ 1 << ArgTyA;
+ << /* ordinal */ 1 << /* scalar, vector, or matrix */ 6
+ << /* no int */ 0 << /* fp */ 1 << ArgTyA;
return true;
}
diff --git a/clang/test/Sema/aarch64-sve-vector-exp-ops.c b/clang/test/Sema/aarch64-sve-vector-exp-ops.c
index c0bcfe1318679..9172c1abbff43 100644
--- a/clang/test/Sema/aarch64-sve-vector-exp-ops.c
+++ b/clang/test/Sema/aarch64-sve-vector-exp-ops.c
@@ -7,11 +7,11 @@
svfloat32_t test_exp_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_exp(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_exp2_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_exp2(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/aarch64-sve-vector-log-ops.c b/clang/test/Sema/aarch64-sve-vector-log-ops.c
index cd0b5607d1e2a..17fbd8fb5d812 100644
--- a/clang/test/Sema/aarch64-sve-vector-log-ops.c
+++ b/clang/test/Sema/aarch64-sve-vector-log-ops.c
@@ -7,17 +7,17 @@
svfloat32_t test_log_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_log(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_log10_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_log10(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_log2_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_log2(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/aarch64-sve-vector-pow-ops.c b/clang/test/Sema/aarch64-sve-vector-pow-ops.c
index e4977615e98d2..94287c2ce3b47 100644
--- a/clang/test/Sema/aarch64-sve-vector-pow-ops.c
+++ b/clang/test/Sema/aarch64-sve-vector-pow-ops.c
@@ -7,5 +7,5 @@
svfloat32_t test_pow_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_pow(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/aarch64-sve-vector-trig-ops.c b/clang/test/Sema/aarch64-sve-vector-trig-ops.c
index 04e496031fff4..06fee06f5f706 100644
--- a/clang/test/Sema/aarch64-sve-vector-trig-ops.c
+++ b/clang/test/Sema/aarch64-sve-vector-trig-ops.c
@@ -7,59 +7,59 @@
svfloat32_t test_asin_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_asin(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_acos_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_acos(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_atan_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_atan(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_atan2_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_atan2(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_sin_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_sin(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_cos_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_cos(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_tan_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_tan(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_sinh_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_sinh(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_cosh_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_cosh(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
svfloat32_t test_tanh_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_tanh(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/builtins-elementwise-math.c b/clang/test/Sema/builtins-elementwise-math.c
index 4ffdcee3ca9c7..ef734d70ce0b0 100644
--- a/clang/test/Sema/builtins-elementwise-math.c
+++ b/clang/test/Sema/builtins-elementwise-math.c
@@ -39,18 +39,18 @@ void test_builtin_elementwise_abs(int i, double d, float4 v, int3 iv, unsigned u
// expected-error at -1 {{assigning to 'int' from incompatible type 'float4' (vector of 4 'float' values)}}
u = __builtin_elementwise_abs(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of signed integer or floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of signed integer or floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_abs(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of signed integer or floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of signed integer or floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
i = __builtin_elementwise_abs(&i);
- // expected-error at -1 {{1st argument must be a scalar or vector of signed integer or floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of signed integer or floating-point types (was 'int *')}}
}
void test_builtin_elementwise_add_sat(int i, short s, double d, float4 v, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_add_sat(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'int *')}}
struct Foo foo = __builtin_elementwise_add_sat(i, i);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'int'}}
@@ -65,7 +65,7 @@ void test_builtin_elementwise_add_sat(int i, short s, double d, float4 v, int3 i
// expected-error at -1 {{too many arguments to function call, expected 2, have 3}}
i = __builtin_elementwise_add_sat(v, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
i = __builtin_elementwise_add_sat(iv, v);
// expected-error at -1 {{arguments are of different types ('int3' (vector of 3 'int' values) vs 'float4' (vector of 4 'float' values))}}
@@ -74,7 +74,7 @@ void test_builtin_elementwise_add_sat(int i, short s, double d, float4 v, int3 i
// expected-error at -1 {{arguments are of different types ('unsigned3' (vector of 3 'unsigned int' values) vs 'int3' (vector of 3 'int' values))}}
v = __builtin_elementwise_add_sat(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
s = __builtin_elementwise_add_sat(i, s);
// expected-error at -1 {{arguments are of different types ('int' vs 'short')}}
@@ -103,7 +103,7 @@ void test_builtin_elementwise_add_sat(int i, short s, double d, float4 v, int3 i
int A[10];
A = __builtin_elementwise_add_sat(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'int *')}}
int(ii);
int j;
@@ -111,12 +111,12 @@ void test_builtin_elementwise_add_sat(int i, short s, double d, float4 v, int3 i
_Complex float c1, c2;
c1 = __builtin_elementwise_add_sat(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was '_Complex float')}}
}
void test_builtin_elementwise_sub_sat(int i, short s, double d, float4 v, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_sub_sat(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'int *')}}
struct Foo foo = __builtin_elementwise_sub_sat(i, i);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'int'}}
@@ -131,7 +131,7 @@ void test_builtin_elementwise_sub_sat(int i, short s, double d, float4 v, int3 i
// expected-error at -1 {{too many arguments to function call, expected 2, have 3}}
i = __builtin_elementwise_sub_sat(v, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
i = __builtin_elementwise_sub_sat(iv, v);
// expected-error at -1 {{arguments are of different types ('int3' (vector of 3 'int' values) vs 'float4' (vector of 4 'float' values))}}
@@ -140,7 +140,7 @@ void test_builtin_elementwise_sub_sat(int i, short s, double d, float4 v, int3 i
// expected-error at -1 {{arguments are of different types ('unsigned3' (vector of 3 'unsigned int' values) vs 'int3' (vector of 3 'int' values))}}
v = __builtin_elementwise_sub_sat(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
s = __builtin_elementwise_sub_sat(i, s);
// expected-error at -1 {{arguments are of different types ('int' vs 'short')}}
@@ -169,7 +169,7 @@ void test_builtin_elementwise_sub_sat(int i, short s, double d, float4 v, int3 i
int A[10];
A = __builtin_elementwise_sub_sat(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'int *')}}
int(ii);
int j;
@@ -177,14 +177,14 @@ void test_builtin_elementwise_sub_sat(int i, short s, double d, float4 v, int3 i
_Complex float c1, c2;
c1 = __builtin_elementwise_sub_sat(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was '_Complex float')}}
}
void test_builtin_elementwise_clmul(int i, short s, double d, float4 v,
int3 iv, unsigned3 uv, unsigned u,
unsigned4 vu, int *p) {
i = __builtin_elementwise_clmul(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'int *')}}
struct Foo foo = __builtin_elementwise_clmul(i, i);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'int'}}
@@ -199,7 +199,7 @@ void test_builtin_elementwise_clmul(int i, short s, double d, float4 v,
// expected-error at -1 {{too many arguments to function call, expected 2, have 3}}
i = __builtin_elementwise_clmul(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
i = __builtin_elementwise_clmul(i, s);
// expected-error at -1 {{arguments are of different types ('int' vs 'short')}}
@@ -352,7 +352,7 @@ void test_builtin_elementwise_min(int i, short s, double d, float4 v, int3 iv, u
void test_builtin_elementwise_maximum(int i, short s, float f, double d, float4 fv, double4 dv, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_maximum(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
struct Foo foo = __builtin_elementwise_maximum(d, d);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'double'}}
@@ -370,7 +370,7 @@ void test_builtin_elementwise_maximum(int i, short s, float f, double d, float4
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_maximum(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
dv = __builtin_elementwise_maximum(fv, dv);
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'double4' (vector of 4 'double' values))}}
@@ -381,23 +381,23 @@ void test_builtin_elementwise_maximum(int i, short s, float f, double d, float4
fv = __builtin_elementwise_maximum(fv, fv);
i = __builtin_elementwise_maximum(iv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int3' (vector of 3 'int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_maximum(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
int A[10];
A = __builtin_elementwise_maximum(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
_Complex float c1, c2;
c1 = __builtin_elementwise_maximum(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_minimum(int i, short s, float f, double d, float4 fv, double4 dv, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_minimum(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
struct Foo foo = __builtin_elementwise_minimum(d, d);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'double'}}
@@ -415,7 +415,7 @@ void test_builtin_elementwise_minimum(int i, short s, float f, double d, float4
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_minimum(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
dv = __builtin_elementwise_minimum(fv, dv);
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'double4' (vector of 4 'double' values))}}
@@ -426,23 +426,23 @@ void test_builtin_elementwise_minimum(int i, short s, float f, double d, float4
fv = __builtin_elementwise_minimum(fv, fv);
i = __builtin_elementwise_minimum(iv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int3' (vector of 3 'int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_minimum(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
int A[10];
A = __builtin_elementwise_minimum(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
_Complex float c1, c2;
c1 = __builtin_elementwise_minimum(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_maximumnum(int i, short s, float f, double d, float4 fv, double4 dv, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_maximumnum(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
struct Foo foo = __builtin_elementwise_maximumnum(d, d);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'double'}}
@@ -460,7 +460,7 @@ void test_builtin_elementwise_maximumnum(int i, short s, float f, double d, floa
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_maximumnum(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
dv = __builtin_elementwise_maximumnum(fv, dv);
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'double4' (vector of 4 'double' values))}}
@@ -471,23 +471,23 @@ void test_builtin_elementwise_maximumnum(int i, short s, float f, double d, floa
fv = __builtin_elementwise_maximumnum(fv, fv);
i = __builtin_elementwise_maximumnum(iv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int3' (vector of 3 'int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_maximumnum(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
int A[10];
A = __builtin_elementwise_maximumnum(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
_Complex float c1, c2;
c1 = __builtin_elementwise_maximumnum(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_minimumnum(int i, short s, float f, double d, float4 fv, double4 dv, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_minimumnum(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
struct Foo foo = __builtin_elementwise_minimumnum(d, d);
// expected-error at -1 {{initializing 'struct Foo' with an expression of incompatible type 'double'}}
@@ -505,7 +505,7 @@ void test_builtin_elementwise_minimumnum(int i, short s, float f, double d, floa
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_minimumnum(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
dv = __builtin_elementwise_minimumnum(fv, dv);
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'double4' (vector of 4 'double' values))}}
@@ -516,18 +516,18 @@ void test_builtin_elementwise_minimumnum(int i, short s, float f, double d, floa
fv = __builtin_elementwise_minimumnum(fv, fv);
i = __builtin_elementwise_minimumnum(iv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int3' (vector of 3 'int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_minimumnum(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
int A[10];
A = __builtin_elementwise_minimumnum(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
_Complex float c1, c2;
c1 = __builtin_elementwise_minimumnum(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_bitreverse(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -539,16 +539,16 @@ void test_builtin_elementwise_bitreverse(int i, float f, double d, float4 v, int
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_bitreverse(f);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float')}}
i = __builtin_elementwise_bitreverse(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_bitreverse(d);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'double')}}
v = __builtin_elementwise_bitreverse(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
}
void test_builtin_elementwise_ceil(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -560,16 +560,16 @@ void test_builtin_elementwise_ceil(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_ceil(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_ceil(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_ceil(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_ceil(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_acos(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -581,16 +581,16 @@ void test_builtin_elementwise_acos(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_acos(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_acos(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_acos(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_acos(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_cos(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -602,16 +602,16 @@ void test_builtin_elementwise_cos(int i, float f, double d, float4 v, int3 iv, u
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_cos(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_cos(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_cos(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_cos(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_cosh(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -623,16 +623,16 @@ void test_builtin_elementwise_cosh(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_cosh(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_cosh(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_cosh(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_cosh(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_exp(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -644,16 +644,16 @@ void test_builtin_elementwise_exp(int i, float f, double d, float4 v, int3 iv, u
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_exp(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_exp(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_exp(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_exp(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_exp2(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -665,16 +665,16 @@ void test_builtin_elementwise_exp2(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_exp2(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_exp2(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_exp2(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_exp2(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_exp10(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -686,16 +686,16 @@ void test_builtin_elementwise_exp10(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_exp10(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_exp10(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_exp10(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_exp10(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_ldexp(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -713,10 +713,10 @@ void test_builtin_elementwise_ldexp(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too many arguments to function call, expected 2, have 3}}
f = __builtin_elementwise_ldexp(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
f = __builtin_elementwise_ldexp(f, f);
- // expected-error at -1 {{2nd argument must be a scalar or vector of integer types (was 'float')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of integer types (was 'float')}}
f = __builtin_elementwise_ldexp(v, iv);
// expected-error at -1 {{vector operands do not have the same number of elements ('float4' (vector of 4 'float' values) and 'int3' (vector of 3 'int' values))}}
@@ -728,10 +728,10 @@ void test_builtin_elementwise_ldexp(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{vector operands do not have the same number of elements ('float' and 'int3' (vector of 3 'int' values))}}
f = __builtin_elementwise_ldexp(u, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
f = __builtin_elementwise_ldexp(uv, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_floor(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -743,16 +743,16 @@ void test_builtin_elementwise_floor(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_floor(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_floor(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_floor(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_floor(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_log(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -764,16 +764,16 @@ void test_builtin_elementwise_log(int i, float f, double d, float4 v, int3 iv, u
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_log(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_log(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_log(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_log(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_log10(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -785,16 +785,16 @@ void test_builtin_elementwise_log10(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_log10(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_log10(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_log10(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_log10(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_log2(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -806,16 +806,16 @@ void test_builtin_elementwise_log2(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_log2(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_log2(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_log2(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_log2(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_popcount(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -827,16 +827,16 @@ void test_builtin_elementwise_popcount(int i, float f, double d, float4 v, int3
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_popcount(f);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float')}}
i = __builtin_elementwise_popcount(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_popcount(d);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'double')}}
v = __builtin_elementwise_popcount(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'float4' (vector of 4 'float' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'float4' (vector of 4 'float' values))}}
int2 i2 = __builtin_elementwise_popcount(iv);
// expected-error at -1 {{initializing 'int2' (vector of 2 'int' values) with an expression of incompatible type 'int3' (vector of 3 'int' values)}}
@@ -853,10 +853,10 @@ void test_builtin_elementwise_popcount(int i, float f, double d, float4 v, int3
void test_builtin_elementwise_fmod(int i, short s, double d, float4 v, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_fmod(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
struct Foo foo = __builtin_elementwise_fmod(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_fmod(i);
// expected-error at -1 {{too few arguments to function call, expected 2, have 1}}
@@ -871,7 +871,7 @@ void test_builtin_elementwise_fmod(int i, short s, double d, float4 v, int3 iv,
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_fmod(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
i = __builtin_elementwise_fmod(d, v);
// expected-error at -1 {{arguments are of different types ('double' vs 'float4' (vector of 4 'float' values))}}
@@ -879,10 +879,10 @@ void test_builtin_elementwise_fmod(int i, short s, double d, float4 v, int3 iv,
void test_builtin_elementwise_pow(int i, short s, double d, float4 v, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_pow(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
struct Foo foo = __builtin_elementwise_pow(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_pow(i);
// expected-error at -1 {{too few arguments to function call, expected 2, have 1}}
@@ -897,7 +897,7 @@ void test_builtin_elementwise_pow(int i, short s, double d, float4 v, int3 iv, u
// expected-error at -1 {{arguments are of different types ('float4' (vector of 4 'float' values) vs 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_pow(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
}
@@ -910,16 +910,16 @@ void test_builtin_elementwise_roundeven(int i, float f, double d, float4 v, int3
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_roundeven(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_roundeven(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_roundeven(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_roundeven(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_round(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -930,20 +930,20 @@ void test_builtin_elementwise_round(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_round(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_round(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_round(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_round(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
_Complex float c1, c2;
c1 = __builtin_elementwise_round(c1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_rint(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -954,20 +954,20 @@ void test_builtin_elementwise_rint(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_rint(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_rint(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_rint(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_rint(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
_Complex float c1, c2;
c1 = __builtin_elementwise_rint(c1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_nearbyint(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -978,20 +978,20 @@ void test_builtin_elementwise_nearbyint(int i, float f, double d, float4 v, int3
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_nearbyint(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_nearbyint(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_nearbyint(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_nearbyint(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
_Complex float c1, c2;
c1 = __builtin_elementwise_nearbyint(c1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_asin(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1003,16 +1003,16 @@ void test_builtin_elementwise_asin(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_asin(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_asin(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_asin(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_asin(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_sin(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1024,16 +1024,16 @@ void test_builtin_elementwise_sin(int i, float f, double d, float4 v, int3 iv, u
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_sin(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_sin(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_sin(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_sin(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_sinh(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1045,16 +1045,16 @@ void test_builtin_elementwise_sinh(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_sinh(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_sinh(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_sinh(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_sinh(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_sqrt(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1066,16 +1066,16 @@ void test_builtin_elementwise_sqrt(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_sqrt(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_sqrt(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_sqrt(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_sqrt(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_atan(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1087,16 +1087,16 @@ void test_builtin_elementwise_atan(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_atan(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_atan(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_atan(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_atan(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_atan2(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1111,16 +1111,16 @@ void test_builtin_elementwise_atan2(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 2, have 1}}
i = __builtin_elementwise_atan2(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_atan2(f, f, f);
// expected-error at -1 {{too many arguments to function call, expected 2, have 3}}
u = __builtin_elementwise_atan2(u, u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_atan2(uv, uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_tan(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1132,16 +1132,16 @@ void test_builtin_elementwise_tan(int i, float f, double d, float4 v, int3 iv, u
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_tan(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_tan(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_tan(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_tan(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_tanh(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1153,16 +1153,16 @@ void test_builtin_elementwise_tanh(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_tanh(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_tanh(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_tanh(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_tanh(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_trunc(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1174,16 +1174,16 @@ void test_builtin_elementwise_trunc(int i, float f, double d, float4 v, int3 iv,
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_trunc(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_trunc(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_trunc(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_trunc(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_canonicalize(int i, float f, double d, float4 v, int3 iv, unsigned u, unsigned4 uv) {
@@ -1195,24 +1195,24 @@ void test_builtin_elementwise_canonicalize(int i, float f, double d, float4 v, i
// expected-error at -1 {{too few arguments to function call, expected 1, have 0}}
i = __builtin_elementwise_canonicalize(i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_canonicalize(f, f);
// expected-error at -1 {{too many arguments to function call, expected 1, have 2}}
u = __builtin_elementwise_canonicalize(u);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned int')}}
uv = __builtin_elementwise_canonicalize(uv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned4' (vector of 4 'unsigned int' values))}}
}
void test_builtin_elementwise_copysign(int i, short s, double d, float f, float4 v, int3 iv, unsigned3 uv, int *p) {
i = __builtin_elementwise_copysign(p, d);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int *')}}
i = __builtin_elementwise_copysign(i, i);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
i = __builtin_elementwise_copysign(i);
// expected-error at -1 {{too few arguments to function call, expected 2, have 1}}
@@ -1224,32 +1224,32 @@ void test_builtin_elementwise_copysign(int i, short s, double d, float f, float4
// expected-error at -1 {{too many arguments to function call, expected 2, have 3}}
i = __builtin_elementwise_copysign(v, iv);
- // expected-error at -1 {{2nd argument must be a scalar or vector of floating-point types (was 'int3' (vector of 3 'int' values))}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of floating-point types (was 'int3' (vector of 3 'int' values))}}
i = __builtin_elementwise_copysign(uv, iv);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'unsigned3' (vector of 3 'unsigned int' values))}}
s = __builtin_elementwise_copysign(i, s);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
f = __builtin_elementwise_copysign(f, i);
- // expected-error at -1 {{2nd argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
f = __builtin_elementwise_copysign(i, f);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
enum e { one,
two };
i = __builtin_elementwise_copysign(one, two);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
enum f { three };
enum f x = __builtin_elementwise_copysign(one, three);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
_BitInt(32) ext; // expected-warning {{'_BitInt' in C17 and earlier is a Clang extension}}
ext = __builtin_elementwise_copysign(ext, ext);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_BitInt(32)')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_BitInt(32)')}}
const float cf32 = 0.0f;
f = __builtin_elementwise_copysign(cf32, f);
@@ -1261,7 +1261,7 @@ void test_builtin_elementwise_copysign(int i, short s, double d, float f, float4
float A[10];
A = __builtin_elementwise_copysign(A, A);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'float *')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'float *')}}
float(ii);
float j;
@@ -1269,7 +1269,7 @@ void test_builtin_elementwise_copysign(int i, short s, double d, float f, float4
_Complex float c1, c2;
c1 = __builtin_elementwise_copysign(c1, c2);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
double f64 = 0.0;
double tmp0 = __builtin_elementwise_copysign(f64, f);
@@ -1358,30 +1358,30 @@ void test_builtin_elementwise_fma(int i32, int2 v2i32, short i16,
// expected-error at -1 {{arguments are of different types ('double' vs 'double2' (vector of 2 'double' values)}}
i32 = __builtin_elementwise_fma(i32, i32, i32);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
v2i32 = __builtin_elementwise_fma(v2i32, v2i32, v2i32);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int2' (vector of 2 'int' values))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int2' (vector of 2 'int' values))}}
f32 = __builtin_elementwise_fma(f32, f32, i32);
- // expected-error at -1 {{3rd argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{3rd argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
f32 = __builtin_elementwise_fma(f32, i32, f32);
- // expected-error at -1 {{2nd argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
f32 = __builtin_elementwise_fma(f32, f32, i32);
- // expected-error at -1 {{3rd argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{3rd argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
_Complex float c1, c2, c3;
c1 = __builtin_elementwise_fma(c1, f32, f32);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
c2 = __builtin_elementwise_fma(f32, c2, f32);
- // expected-error at -1 {{2nd argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
c3 = __builtin_elementwise_fma(f32, f32, c3);
- // expected-error at -1 {{3rd argument must be a scalar or vector of floating-point types (was '_Complex float')}}
+ // expected-error at -1 {{3rd argument must be a scalar, vector, or matrix of floating-point types (was '_Complex float')}}
}
void test_builtin_elementwise_fsh(int i32, int2 v2i32, short i16, int3 v3i32,
@@ -1405,13 +1405,13 @@ void test_builtin_elementwise_fsh(int i32, int2 v2i32, short i16, int3 v3i32,
// expected-error at -1 {{arguments are of different types ('short' vs 'int')}}
f32 = __builtin_elementwise_fshl(f32, f32, f32);
- // expected-error at -1 {{argument must be a scalar or vector of integer types (was 'float')}}
+ // expected-error at -1 {{argument must be a scalar, vector, or matrix of integer types (was 'float')}}
f64 = __builtin_elementwise_fshr(f64, f64, f64);
- // expected-error at -1 {{argument must be a scalar or vector of integer types (was 'double')}}
+ // expected-error at -1 {{argument must be a scalar, vector, or matrix of integer types (was 'double')}}
v2i32 = __builtin_elementwise_fshl(v2i32, v2i32, v2f32);
- // expected-error at -1 {{argument must be a scalar or vector of integer types (was 'float2' (vector of 2 'float' values))}}
+ // expected-error at -1 {{argument must be a scalar, vector, or matrix of integer types (was 'float2' (vector of 2 'float' values))}}
v2i32 = __builtin_elementwise_fshr(v2i32, v2i32, v3i32);
// expected-error at -1 {{arguments are of different types ('int2' (vector of 2 'int' values) vs 'int3' (vector of 3 'int' values))}}
@@ -1450,11 +1450,11 @@ cfloat4 quux(cfloat4 x, float4 y) {
void test_builtin_elementwise_clzg(int i32, int2 v2i32, short i16,
double f64, double2 v2f64) {
f64 = __builtin_elementwise_clzg(f64);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'double')}}
_Complex float c1;
c1 = __builtin_elementwise_clzg(c1);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was '_Complex float')}}
v2i32 = __builtin_elementwise_clzg(v2i32, i32);
// expected-error at -1 {{arguments are of different types ('int2' (vector of 2 'int' values) vs 'int')}}
@@ -1472,11 +1472,11 @@ void test_builtin_elementwise_clzg(int i32, int2 v2i32, short i16,
void test_builtin_elementwise_ctzg(int i32, int2 v2i32, short i16,
double f64, double2 v2f64) {
f64 = __builtin_elementwise_ctzg(f64);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'double')}}
_Complex float c1;
c1 = __builtin_elementwise_ctzg(c1);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was '_Complex float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was '_Complex float')}}
v2i32 = __builtin_elementwise_ctzg(v2i32, i32);
// expected-error at -1 {{arguments are of different types ('int2' (vector of 2 'int' values) vs 'int')}}
diff --git a/clang/test/Sema/riscv-rvv-vector-exp-ops.c b/clang/test/Sema/riscv-rvv-vector-exp-ops.c
index f6b544123fa1c..fd2197b3718a7 100644
--- a/clang/test/Sema/riscv-rvv-vector-exp-ops.c
+++ b/clang/test/Sema/riscv-rvv-vector-exp-ops.c
@@ -9,11 +9,11 @@
vfloat32mf2_t test_exp_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_exp(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_exp2_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_exp2(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/riscv-rvv-vector-log-ops.c b/clang/test/Sema/riscv-rvv-vector-log-ops.c
index 2674bed95a108..e58ce1345cd43 100644
--- a/clang/test/Sema/riscv-rvv-vector-log-ops.c
+++ b/clang/test/Sema/riscv-rvv-vector-log-ops.c
@@ -9,17 +9,17 @@
vfloat32mf2_t test_log_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_log(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_log10_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_log10(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_log2_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_log2(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/riscv-rvv-vector-trig-ops.c b/clang/test/Sema/riscv-rvv-vector-trig-ops.c
index 7825816d820b6..8d4bdee19587f 100644
--- a/clang/test/Sema/riscv-rvv-vector-trig-ops.c
+++ b/clang/test/Sema/riscv-rvv-vector-trig-ops.c
@@ -8,60 +8,60 @@
vfloat32mf2_t test_asin_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_asin(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_acos_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_acos(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_atan_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_atan(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_atan2_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_atan2(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_sin_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_sin(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_cos_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_cos(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_tan_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_tan(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_sinh_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_sinh(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_cosh_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_cosh(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
vfloat32mf2_t test_tanh_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_tanh(v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types}}
}
diff --git a/clang/test/Sema/riscv-sve-vector-pow-ops.c b/clang/test/Sema/riscv-sve-vector-pow-ops.c
index 7edaf4099c314..b1000eb6b747a 100644
--- a/clang/test/Sema/riscv-sve-vector-pow-ops.c
+++ b/clang/test/Sema/riscv-sve-vector-pow-ops.c
@@ -9,5 +9,5 @@
vfloat32mf2_t test_pow_vv_i8mf8(vfloat32mf2_t v) {
return __builtin_elementwise_pow(v, v);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point type}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point type}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/atan2-errors_mat.hlsl b/clang/test/SemaHLSL/BuiltIns/atan2-errors_mat.hlsl
index 19467d99d2292..c0b13ca7ba535 100644
--- a/clang/test/SemaHLSL/BuiltIns/atan2-errors_mat.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/atan2-errors_mat.hlsl
@@ -3,5 +3,5 @@
double2x2 test_vec_double_builtin(double2x2 p0, double2x2 p1) {
return __builtin_elementwise_atan2(p0, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double2x2' (aka 'matrix<double, 2, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double2x2' (aka 'matrix<double, 2, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/ddx-coarse-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/ddx-coarse-errors.hlsl
index ebad1cc6826d8..1479793770672 100644
--- a/clang/test/SemaHLSL/BuiltIns/ddx-coarse-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/ddx-coarse-errors.hlsl
@@ -13,10 +13,10 @@ float too_many_args(float val) {
float test_integer_scalar_input(int val) {
return __builtin_hlsl_elementwise_ddx_coarse(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
double test_double_scalar_input(double val) {
return __builtin_hlsl_elementwise_ddx_coarse(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
index 71196943c322a..8f96caa25a2b2 100644
--- a/clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
@@ -13,10 +13,10 @@ float too_many_args(float val) {
float test_integer_scalar_input(int val) {
return __builtin_hlsl_elementwise_ddx_fine(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
double test_double_scalar_input(double val) {
return __builtin_hlsl_elementwise_ddx_fine(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/ddy-coarse-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/ddy-coarse-errors.hlsl
index 9cc23665882c8..1303b84d4a92b 100644
--- a/clang/test/SemaHLSL/BuiltIns/ddy-coarse-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/ddy-coarse-errors.hlsl
@@ -13,10 +13,10 @@ float too_many_args(float val) {
float test_integer_scalar_input(int val) {
return __builtin_hlsl_elementwise_ddy_coarse(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
double test_double_scalar_input(double val) {
return __builtin_hlsl_elementwise_ddy_coarse(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl
index e17d5f36832b2..637dd2f012a25 100644
--- a/clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl
@@ -13,10 +13,10 @@ float too_many_args(float val) {
float test_integer_scalar_input(int val) {
return __builtin_hlsl_elementwise_ddy_fine(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
double test_double_scalar_input(double val) {
return __builtin_hlsl_elementwise_ddy_fine(val);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/degrees-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/degrees-errors.hlsl
index 637a6eecfb35a..1255874239c8c 100644
--- a/clang/test/SemaHLSL/BuiltIns/degrees-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/degrees-errors.hlsl
@@ -12,15 +12,15 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_degrees(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_degrees_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_degrees(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float2 builtin_degrees_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_degrees(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
index f0076ac4e5881..087a7edeb13cb 100644
--- a/clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
@@ -14,15 +14,15 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return TEST_FUNC(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'bool')}}
}
float builtin_exp_int_to_float_promotion(int p1) {
return TEST_FUNC(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float2 builtin_exp_int2_to_float2_promotion(int2 p1) {
return TEST_FUNC(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/f16tof32-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/f16tof32-errors.hlsl
index a39a9970a176c..545bc27bd366d 100644
--- a/clang/test/SemaHLSL/BuiltIns/f16tof32-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/f16tof32-errors.hlsl
@@ -24,7 +24,7 @@ float builtin_f16tof32_bool4(bool4 p0) {
float builtin_f16tof32_short(short p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'short')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'short')}}
}
float builtin_f16tof32_unsigned_short(unsigned short p0) {
@@ -34,37 +34,37 @@ float builtin_f16tof32_unsigned_short(unsigned short p0) {
float builtin_f16tof32_int(int p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'int')}}
}
float builtin_f16tof32_int64_t(long p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'long')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'long')}}
}
float2 builtin_f16tof32_int2_to_float2_promotion(int2 p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'int2' (aka 'vector<int, 2>'))}}
}
float builtin_f16tof32_half(half p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'half')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'half')}}
}
float builtin_f16tof32_half4(half4 p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'half4' (aka 'vector<half, 4>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'half4' (aka 'vector<half, 4>'))}}
}
float builtin_f16tof32_float(float p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'float')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'float')}}
}
float builtin_f16tof32_double(double p0) {
return __builtin_hlsl_elementwise_f16tof32(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'double')}}
}
float f16tof32_too_few_arg() {
diff --git a/clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
index cdf2b61c45207..a95ea1b65af60 100644
--- a/clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
@@ -13,16 +13,16 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_frac(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_frac_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_frac(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float2 builtin_frac_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_frac(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
index e9cc0ed338e3e..84364afec1229 100644
--- a/clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
@@ -23,10 +23,10 @@
double test_double_builtin(double p0) {
return TEST_FUNC(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
double2 test_vec_double_builtin(double2 p0) {
return TEST_FUNC(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/half-float-only-errors2.hlsl b/clang/test/SemaHLSL/BuiltIns/half-float-only-errors2.hlsl
index 9e10e1afa9385..ab7aec0ae080e 100644
--- a/clang/test/SemaHLSL/BuiltIns/half-float-only-errors2.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/half-float-only-errors2.hlsl
@@ -4,10 +4,10 @@
double test_double_builtin(double p0, double p1) {
return TEST_FUNC(p0, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
double2 test_vec_double_builtin(double2 p0, double2 p1) {
return TEST_FUNC(p0, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
index a32bc9628a295..4084399a8dc79 100644
--- a/clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
@@ -13,26 +13,26 @@ bool2 test_too_many_arg(float2 p0) {
bool builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_isinf(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
bool builtin_isinf_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_isinf(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
bool2 builtin_isinf_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_isinf(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
// builtins are variadic functions and so are subject to DefaultVariadicArgumentPromotion
half builtin_isinf_half_scalar (half p0) {
return __builtin_hlsl_elementwise_isinf (p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
float builtin_isinf_float_scalar ( float p0) {
return __builtin_hlsl_elementwise_isinf (p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/isnan-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/isnan-errors.hlsl
index 625c415f91de2..0f5722fa52aa9 100644
--- a/clang/test/SemaHLSL/BuiltIns/isnan-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/isnan-errors.hlsl
@@ -13,26 +13,26 @@ bool2 test_too_many_arg(float2 p0) {
bool builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_isnan(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
bool builtin_isnan_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_isnan(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
bool2 builtin_isnan_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_isnan(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
// builtins are variadic functions and so are subject to DefaultVariadicArgumentPromotion
half builtin_isnan_half_scalar (half p0) {
return __builtin_hlsl_elementwise_isnan (p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
float builtin_isnan_float_scalar ( float p0) {
return __builtin_hlsl_elementwise_isnan (p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
index bc82991eb3e6b..d2a551cab5e20 100644
--- a/clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
@@ -71,12 +71,12 @@ float2 test_builtin_lerp_float2_splat(float p0, float2 p1) {
float2 test_builtin_lerp_float2_splat2(double p0, double2 p1) {
return __builtin_hlsl_lerp(p1, p0, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
}
float2 test_builtin_lerp_float2_splat3(double p0, double2 p1) {
return __builtin_hlsl_lerp(p1, p1, p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double2' (aka 'vector<double, 2>'))}}
}
float3 test_builtin_lerp_float3_splat(float p0, float3 p1) {
@@ -91,40 +91,40 @@ float4 test_builtin_lerp_float4_splat(float p0, float4 p1) {
float2 test_lerp_float2_int_splat(float2 p0, int p1) {
return __builtin_hlsl_lerp(p0, p1, p1);
- // expected-error at -1 {{2nd argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float3 test_lerp_float3_int_splat(float3 p0, int p1) {
return __builtin_hlsl_lerp(p0, p1, p1);
- // expected-error at -1 {{2nd argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float2 test_builtin_lerp_int_vect_to_float_vec_promotion(int2 p0, float p1) {
return __builtin_hlsl_lerp(p0, p1, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
float test_builtin_lerp_bool_type_promotion(bool p0) {
return __builtin_hlsl_lerp(p0, p0, p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_bool_to_float_type_promotion(float p0, bool p1) {
return __builtin_hlsl_lerp(p0, p0, p1);
- // expected-error at -1 {{3rd argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{3rd argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_bool_to_float_type_promotion2(bool p0, float p1) {
return __builtin_hlsl_lerp(p1, p0, p1);
- // expected-error at -1 {{2nd argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{2nd argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_lerp_int_to_float_promotion(float p0, int p1) {
return __builtin_hlsl_lerp(p0, p0, p1);
- // expected-error at -1 {{3rd argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{3rd argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float4 test_lerp_int4(int4 p0, int4 p1, int4 p2) {
return __builtin_hlsl_lerp(p0, p1, p2);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int4' (aka 'vector<int, 4>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int4' (aka 'vector<int, 4>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
index 377c2d5e41a73..f8e3367c99fde 100644
--- a/clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
@@ -15,17 +15,17 @@ void test_too_many_arg(float2 p0)
bool builtin_bool_to_float_type_promotion(bool p1)
{
return __builtin_hlsl_normalize(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
bool builtin_normalize_int_to_float_promotion(int p1)
{
return __builtin_hlsl_normalize(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
bool2 builtin_normalize_int2_to_float2_promotion(int2 p1)
{
return __builtin_hlsl_normalize(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl
index 70e5b671bb3c9..7b24ee780e8ea 100644
--- a/clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl
@@ -12,16 +12,16 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_radians(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_radians_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_radians(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float2 builtin_radians_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_radians(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
index 79076b4815a6e..3d10f9901f53b 100644
--- a/clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
@@ -12,15 +12,15 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_rcp(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'bool')}}
}
float builtin_rcp_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_rcp(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float2 builtin_rcp_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_rcp(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
index 5b33b89cb8eb8..7b6ed7b334343 100644
--- a/clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
@@ -3,10 +3,10 @@
double2 test_int_builtin(double2 p0) {
return __builtin_elementwise_bitreverse(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of integer types (was 'double2' (aka 'vector<double, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of integer types (was 'double2' (aka 'vector<double, 2>'))}}
}
int2 test_int_builtin(int2 p0) {
return __builtin_elementwise_bitreverse(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of unsigned integer types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of unsigned integer types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/round-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
index 54feed35379d7..9ea0840b94a67 100644
--- a/clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
@@ -13,15 +13,15 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_elementwise_round(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'bool')}}
}
float builtin_round_int_to_float_promotion(int p1) {
return __builtin_elementwise_round(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float2 builtin_round_int2_to_float2_promotion(int2 p1) {
return __builtin_elementwise_round(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
index cedfcca35225e..bade79cb50afc 100644
--- a/clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
@@ -12,20 +12,20 @@ float2 test_too_many_arg(float2 p0) {
float builtin_bool_to_float_type_promotion(bool p1) {
return __builtin_hlsl_elementwise_rsqrt(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
float builtin_rsqrt_int_to_float_promotion(int p1) {
return __builtin_hlsl_elementwise_rsqrt(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
float2 builtin_rsqrt_int2_to_float2_promotion(int2 p1) {
return __builtin_hlsl_elementwise_rsqrt(p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
double builtin_rsqrt_double(double p0) {
return __builtin_hlsl_elementwise_rsqrt(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'double')}}
}
diff --git a/clang/test/SemaHLSL/BuiltIns/step-errors.hlsl b/clang/test/SemaHLSL/BuiltIns/step-errors.hlsl
index 993450a17ebfb..224ebd7f5cc19 100644
--- a/clang/test/SemaHLSL/BuiltIns/step-errors.hlsl
+++ b/clang/test/SemaHLSL/BuiltIns/step-errors.hlsl
@@ -15,17 +15,17 @@ void test_too_many_arg(float2 p0)
bool builtin_bool_to_float_type_promotion(bool p1)
{
return __builtin_hlsl_step(p1, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'bool')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'bool')}}
}
bool builtin_step_int_to_float_promotion(int p1)
{
return __builtin_hlsl_step(p1, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int')}}
}
bool2 builtin_step_int2_to_float2_promotion(int2 p1)
{
return __builtin_hlsl_step(p1, p1);
- // expected-error at -1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of 16 or 32 bit floating-point types (was 'int2' (aka 'vector<int, 2>'))}}
}
diff --git a/clang/test/SemaSPIRV/BuiltIns/ddx-errors.c b/clang/test/SemaSPIRV/BuiltIns/ddx-errors.c
index a29af5dc43e30..58ca5d767f08c 100644
--- a/clang/test/SemaSPIRV/BuiltIns/ddx-errors.c
+++ b/clang/test/SemaSPIRV/BuiltIns/ddx-errors.c
@@ -15,7 +15,7 @@ float test_too_many_arg(float p0) {
float test_int_scalar_inputs(int p0) {
return __builtin_spirv_ddx(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float test_mismatched_return(float2 p0) {
diff --git a/clang/test/SemaSPIRV/BuiltIns/ddy-errors.c b/clang/test/SemaSPIRV/BuiltIns/ddy-errors.c
index 65c37af1369c5..7164f728a73cf 100644
--- a/clang/test/SemaSPIRV/BuiltIns/ddy-errors.c
+++ b/clang/test/SemaSPIRV/BuiltIns/ddy-errors.c
@@ -15,7 +15,7 @@ float test_too_many_arg(float p0) {
float test_int_scalar_inputs(int p0) {
return __builtin_spirv_ddy(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float test_mismatched_return(float2 p0) {
diff --git a/clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c b/clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c
index d708df2843fab..eef1e1fdb103d 100644
--- a/clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c
+++ b/clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c
@@ -20,7 +20,7 @@ float2 test_too_many_arg(float2 p0) {
int test_int_scalar_inputs(int p0) {
return __builtin_spirv_faceforward(p0, p0, p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float test_int_scalar_inputs2(float p0, int p1) {
diff --git a/clang/test/SemaSPIRV/BuiltIns/fwidth-errors.c b/clang/test/SemaSPIRV/BuiltIns/fwidth-errors.c
index 44cdd819e4332..57e18f7e58942 100644
--- a/clang/test/SemaSPIRV/BuiltIns/fwidth-errors.c
+++ b/clang/test/SemaSPIRV/BuiltIns/fwidth-errors.c
@@ -15,7 +15,7 @@ float test_too_many_arg(float p0) {
float test_int_scalar_inputs(int p0) {
return __builtin_spirv_fwidth(p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float test_mismatched_return(float2 p0) {
diff --git a/clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c b/clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
index 1f21bf3cb8210..b39c853f41c54 100644
--- a/clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
+++ b/clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
@@ -20,7 +20,7 @@ float2 test_too_many_arg(float2 p0) {
int test_int_scalar_inputs(int p0) {
return __builtin_spirv_smoothstep(p0, p0, p0);
- // expected-error at -1 {{1st argument must be a scalar or vector of floating-point types (was 'int')}}
+ // expected-error at -1 {{1st argument must be a scalar, vector, or matrix of floating-point types (was 'int')}}
}
float test_int_scalar_inputs2(float p0, int p1) {
More information about the cfe-commits
mailing list