forked from OSchip/llvm-project
[clang][AArch64][SVE] Improve diagnostics for SVE operators
This patch corrects some diagnostics for the SVE sizeless vector operators, including correctly diagnosing when the vectors are different sizes. Differential Revision: https://reviews.llvm.org/D126377
This commit is contained in:
parent
1fd0beaa4e
commit
133a5f22d3
|
@ -10578,10 +10578,13 @@ QualType Sema::CheckSizelessVectorOperands(ExprResult &LHS, ExprResult &RHS,
|
|||
QualType LHSType = LHS.get()->getType().getUnqualifiedType();
|
||||
QualType RHSType = RHS.get()->getType().getUnqualifiedType();
|
||||
|
||||
const BuiltinType *LHSBuiltinTy = LHSType->getAs<BuiltinType>();
|
||||
const BuiltinType *RHSBuiltinTy = RHSType->getAs<BuiltinType>();
|
||||
|
||||
unsigned DiagID = diag::err_typecheck_invalid_operands;
|
||||
if ((OperationKind == ACK_Arithmetic) &&
|
||||
(LHSType->castAs<BuiltinType>()->isSVEBool() ||
|
||||
RHSType->castAs<BuiltinType>()->isSVEBool())) {
|
||||
((LHSBuiltinTy && LHSBuiltinTy->isSVEBool()) ||
|
||||
(RHSBuiltinTy && RHSBuiltinTy->isSVEBool()))) {
|
||||
Diag(Loc, DiagID) << LHSType << RHSType << LHS.get()->getSourceRange()
|
||||
<< RHS.get()->getSourceRange();
|
||||
return QualType();
|
||||
|
@ -10610,12 +10613,33 @@ QualType Sema::CheckSizelessVectorOperands(ExprResult &LHS, ExprResult &RHS,
|
|||
return DestType;
|
||||
}
|
||||
|
||||
if (RHSType->isVLSTBuiltinType() && !LHSType->isVLSTBuiltinType()) {
|
||||
auto DestType = tryScalableVectorConvert((IsCompAssign ? nullptr : &LHS),
|
||||
LHSType, RHSType);
|
||||
if (DestType == QualType())
|
||||
return InvalidOperands(Loc, LHS, RHS);
|
||||
return DestType;
|
||||
if ((!LHSType->isVLSTBuiltinType() && !LHSType->isRealType()) ||
|
||||
(!RHSType->isVLSTBuiltinType() && !RHSType->isRealType())) {
|
||||
Diag(Loc, diag::err_typecheck_vector_not_convertable_non_scalar)
|
||||
<< LHSType << RHSType << LHS.get()->getSourceRange()
|
||||
<< RHS.get()->getSourceRange();
|
||||
return QualType();
|
||||
}
|
||||
|
||||
if (LHSType->isVLSTBuiltinType() && RHSType->isVLSTBuiltinType() &&
|
||||
Context.getBuiltinVectorTypeInfo(LHSBuiltinTy).EC !=
|
||||
Context.getBuiltinVectorTypeInfo(RHSBuiltinTy).EC) {
|
||||
Diag(Loc, diag::err_typecheck_vector_lengths_not_equal)
|
||||
<< LHSType << RHSType << LHS.get()->getSourceRange()
|
||||
<< RHS.get()->getSourceRange();
|
||||
return QualType();
|
||||
}
|
||||
|
||||
if (LHSType->isVLSTBuiltinType() || RHSType->isVLSTBuiltinType()) {
|
||||
QualType Scalar = LHSType->isVLSTBuiltinType() ? RHSType : LHSType;
|
||||
QualType Vector = LHSType->isVLSTBuiltinType() ? LHSType : RHSType;
|
||||
bool ScalarOrVector =
|
||||
LHSType->isVLSTBuiltinType() && RHSType->isVLSTBuiltinType();
|
||||
|
||||
Diag(Loc, diag::err_typecheck_vector_not_convertable_implict_truncation)
|
||||
<< ScalarOrVector << Scalar << Vector;
|
||||
|
||||
return QualType();
|
||||
}
|
||||
|
||||
Diag(Loc, DiagID) << LHSType << RHSType << LHS.get()->getSourceRange()
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,90 +8,90 @@ void and (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
|
|||
svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,
|
||||
svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,
|
||||
svbool_t b) {
|
||||
(void)(i8 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}
|
||||
(void)(i8 & i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i8 & i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i8 & i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i8 & u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i8 & u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i8 & u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i8 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u8 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}
|
||||
(void)(u8 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u8 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u8 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u8 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u8 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u8 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u8 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i16 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & b); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i16 & i8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i16 & i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i16 & i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i16 & u8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i16 & u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i16 & u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i16 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u16 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & b); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u16 & i8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u16 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u16 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u16 & u8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u16 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u16 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u16 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i32 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & b); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i32 & i8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i32 & i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i32 & i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i32 & u8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i32 & u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i32 & u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i32 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u32 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & b); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u32 & i8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u32 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u32 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u32 & u8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u32 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u32 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u32 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i64 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & b); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i64 & i8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i64 & i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i64 & i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i64 & u8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i64 & u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i64 & u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i64 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u64 & b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & b); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u64 & i8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u64 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u64 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u64 & u8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u64 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u64 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u64 & f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 & f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
@ -136,90 +136,90 @@ void or (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
|
|||
svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,
|
||||
svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,
|
||||
svbool_t b) {
|
||||
(void)(i8 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}
|
||||
(void)(i8 | i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i8 | i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i8 | i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i8 | u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i8 | u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i8 | u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i8 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u8 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}
|
||||
(void)(u8 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u8 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u8 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u8 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u8 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u8 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u8 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i16 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | b); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i16 | i8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i16 | i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i16 | i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i16 | u8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i16 | u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i16 | u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i16 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u16 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | b); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u16 | i8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u16 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u16 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u16 | u8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u16 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u16 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u16 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i32 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | b); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i32 | i8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i32 | i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i32 | i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i32 | u8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i32 | u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i32 | u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i32 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u32 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | b); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u32 | i8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u32 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u32 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u32 | u8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u32 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u32 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u32 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i64 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | b); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i64 | i8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i64 | i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i64 | i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i64 | u8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i64 | u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i64 | u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i64 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u64 | b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | b); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u64 | i8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u64 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u64 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u64 | u8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u64 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u64 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u64 | f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 | f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
@ -262,90 +262,90 @@ void or (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
|
|||
}
|
||||
|
||||
void xor (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64, svfloat16_t f16, svfloat32_t f32, svfloat64_t f64, svbool_t b) {
|
||||
(void)(i8 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}
|
||||
(void)(i8 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i8 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i8 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i8 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i8 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i8 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i8 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i8 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u8 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}
|
||||
(void)(u8 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u8 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u8 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u8 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u8 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u8 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u8 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u8 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i16 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ b); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i16 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i16 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i16 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i16 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i16 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i16 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i16 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i16 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u16 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ b); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u16 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u16 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u16 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u16 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u16 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u16 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u16 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u16 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i32 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ b); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i32 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i32 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i32 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(i32 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i32 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i32 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(i32 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i32 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u32 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ i64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ u64); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ b); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u32 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u32 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u32 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
(void)(u32 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u32 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u32 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
|
||||
(void)(u32 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u32 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(i64 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ b); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(i64 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(i64 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(i64 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(i64 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(i64 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(i64 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(i64 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(i64 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
||||
(void)(u64 ^ b); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ i8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ i16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ i32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ u8); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ u16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ u32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ b); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}
|
||||
(void)(u64 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
(void)(u64 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
(void)(u64 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
(void)(u64 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
|
||||
(void)(u64 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
|
||||
(void)(u64 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
|
||||
(void)(u64 ^ f16); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ f32); // expected-error{{invalid operands to binary expression}}
|
||||
(void)(u64 ^ f64); // expected-error{{invalid operands to binary expression}}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,15 +8,15 @@ void cond(svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
|
|||
svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,
|
||||
svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,
|
||||
svbool_t b) {
|
||||
(void) i8 < i8 ? i16 : i16; // expected-error{{invalid operands to binary expression}}
|
||||
(void) i8 < i8 ? i32 : i32; // expected-error{{invalid operands to binary expression}}
|
||||
(void) i8 < i8 ? i64 : i64; // expected-error{{invalid operands to binary expression}}
|
||||
i8 ? i16 : i16; // expected-error{{vector condition type 'svint8_t' (aka '__SVInt8_t') and result type 'svint16_t' (aka '__SVInt16_t') do not have the same number of elements}}
|
||||
i8 ? i32 : i32; // expected-error{{vector condition type 'svint8_t' (aka '__SVInt8_t') and result type 'svint32_t' (aka '__SVInt32_t') do not have the same number of elements}}
|
||||
i8 ? i64 : i64; // expected-error{{vector condition type 'svint8_t' (aka '__SVInt8_t') and result type 'svint64_t' (aka '__SVInt64_t') do not have the same number of elements}}
|
||||
|
||||
(void) i16 < i16 ? i16 : i8; // expected-error{{invalid operands to binary expression}}
|
||||
(void) i16 < i16 ? i16 : i32; // expected-error{{invalid operands to binary expression}}
|
||||
(void) i16 < i16 ? i16 : i64; // expected-error{{invalid operands to binary expression}}
|
||||
i16 ? i16 : i8; // expected-error{{vector operands to the vector conditional must be the same type ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
|
||||
i16 ? i16 : i32; // expected-error{{vector operands to the vector conditional must be the same type ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
|
||||
i16 ? i16 : i64; // expected-error{{vector operands to the vector conditional must be the same type ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
|
||||
|
||||
(void) i16 < i16 ? i8 : i16; // expected-error{{invalid operands to binary expression}}
|
||||
(void) i16 < i16 ? i32 : i16; // expected-error{{invalid operands to binary expression}}
|
||||
(void) i16 < i16 ? i64 : i16; // expected-error{{invalid operands to binary expression}}
|
||||
i16 ? i8 : i16; // expected-error{{vector operands to the vector conditional must be the same type ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
i16 ? i32 : i16; // expected-error{{vector operands to the vector conditional must be the same type ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
i16 ? i64 : i16; // expected-error{{vector operands to the vector conditional must be the same type ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
|
||||
}
|
Loading…
Reference in New Issue