diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -52,8 +52,10 @@ #include "clang/Sema/Template.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" +#include "llvm/Config/llvm-config.h" #include "llvm/Support/Casting.h" #include "llvm/Support/ConvertUTF.h" +#include "llvm/Support/ErrorHandling.h" #include "llvm/Support/SaveAndRestore.h" #include "llvm/Support/TypeSize.h" @@ -10228,12 +10230,21 @@ ExprResult *Vector) { QualType ScalarTy = Scalar->get()->getType().getUnqualifiedType(); QualType VectorTy = Vector->get()->getType().getUnqualifiedType(); - const auto *VT = VectorTy->castAs(); + const auto *VT = VectorTy->getAs(); - assert(!isa(VT) && - "ExtVectorTypes should not be handled here!"); + assert(!VT || !isa(VT) && + "ExtVectorTypes should not be handled here!"); - QualType VectorEltTy = VT->getElementType(); + QualType VectorEltTy; + + if (VT) { + VectorEltTy = VT->getElementType(); + } else if (VectorTy->isVLSTBuiltinType()) { + const auto *BuiltinTy = VectorTy->castAs(); + VectorEltTy = BuiltinTy->getSveEltType(S.getASTContext()); + } else { + llvm_unreachable("Only Fixed-Length and SVE Vector types are handled here"); + } // Reject cases where the vector element type or the scalar element type are // not integral or floating point types. @@ -10557,32 +10568,14 @@ if (Context.hasSameType(LHSType, RHSType)) return LHSType; - auto tryScalableVectorConvert = [this](ExprResult *Src, QualType SrcType, - QualType DestType) { - const QualType DestBaseType = DestType->getSveEltType(Context); - if (DestBaseType->getUnqualifiedDesugaredType() == - SrcType->getUnqualifiedDesugaredType()) { - unsigned DiagID = diag::err_typecheck_invalid_operands; - if (!tryVectorConvertAndSplat(*this, Src, SrcType, DestBaseType, DestType, - DiagID)) - return DestType; - } - return QualType(); - }; - if (LHSType->isVLSTBuiltinType() && !RHSType->isVLSTBuiltinType()) { - auto DestType = tryScalableVectorConvert(&RHS, RHSType, LHSType); - if (DestType == QualType()) - return InvalidOperands(Loc, LHS, RHS); - return DestType; + if (!tryGCCVectorConvertAndSplat(*this, &RHS, &LHS)) + return LHSType; } - if (RHSType->isVLSTBuiltinType() && !LHSType->isVLSTBuiltinType()) { - auto DestType = tryScalableVectorConvert((IsCompAssign ? nullptr : &LHS), - LHSType, RHSType); - if (DestType == QualType()) - return InvalidOperands(Loc, LHS, RHS); - return DestType; + if (LHS.get()->isLValue() || + !tryGCCVectorConvertAndSplat(*this, &LHS, &RHS)) + return RHSType; } Diag(Loc, DiagID) << LHSType << RHSType << LHS.get()->getSourceRange() diff --git a/clang/test/CodeGen/aarch64-sve-vector-arith-ops.c b/clang/test/CodeGen/aarch64-sve-vector-arith-ops.c --- a/clang/test/CodeGen/aarch64-sve-vector-arith-ops.c +++ b/clang/test/CodeGen/aarch64-sve-vector-arith-ops.c @@ -328,6 +328,132 @@ return a + b; } +// CHECK-LABEL: @add_i8_ilit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = add [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svint8_t add_i8_ilit(svint8_t a) { + return a + 0; +} + +// CHECK-LABEL: @add_i8_illit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = add [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svint8_t add_i8_illit(svint8_t a) { + return a + 0l; +} + +// CHECK-LABEL: @add_i8_illlit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = add [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svint8_t add_i8_illlit(svint8_t a) { + return a + 0ll; +} + +// CHECK-LABEL: @add_i8_ulit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = add [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svint8_t add_i8_ulit(svint8_t a) { + return a + 0u; +} + +// CHECK-LABEL: @add_i8_ullit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = add [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svint8_t add_i8_ullit(svint8_t a) { + return a + 0ul; +} + +// CHECK-LABEL: @add_i8_ulllit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = add [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svint8_t add_i8_ulllit(svint8_t a) { + return a + 0ull; +} + +// CHECK-LABEL: @add_f64_ilit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_ilit(svfloat64_t a) { + return a + 0; +} + +// CHECK-LABEL: @add_f64_illit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_illit(svfloat64_t a) { + return a + 0l; +} + +// CHECK-LABEL: @add_f64_illlit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_illlit(svfloat64_t a) { + return a + 0ll; +} + +// CHECK-LABEL: @add_f64_ulit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_ulit(svfloat64_t a) { + return a + 0u; +} + +// CHECK-LABEL: @add_f64_ullit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_ullit(svfloat64_t a) { + return a + 0ul; +} + +// CHECK-LABEL: @add_f64_ulllit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_ulllit(svfloat64_t a) { + return a + 0ull; +} + +// CHECK-LABEL: @add_f64_flit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_flit(svfloat64_t a) { + return a + 0.f; +} + +// CHECK-LABEL: @add_f64_dlit( +// CHECK-NEXT: entry: +// CHECK-NEXT: [[ADD:%.*]] = fadd [[A:%.*]], zeroinitializer +// CHECK-NEXT: ret [[ADD]] +// +svfloat64_t add_f64_dlit(svfloat64_t a) { + return a + 0.; +} + // SUBTRACTION // CHECK-LABEL: @sub_i8( diff --git a/clang/test/Sema/aarch64-sve-vector-arith-ops.c b/clang/test/Sema/aarch64-sve-vector-arith-ops.c --- a/clang/test/Sema/aarch64-sve-vector-arith-ops.c +++ b/clang/test/Sema/aarch64-sve-vector-arith-ops.c @@ -20,12 +20,6 @@ (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)(i8 + 0); // expected-error{{invalid operands to binary expression}} - (void)(i8 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(i8 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(i8 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i8 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i8 + 0.); // 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}} @@ -37,12 +31,6 @@ (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)(u8 + 0); // expected-error{{invalid operands to binary expression}} - (void)(u8 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(u8 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(u8 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u8 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u8 + 0.); // 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}} @@ -54,12 +42,6 @@ (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)(i16 + 0); // expected-error{{invalid operands to binary expression}} - (void)(i16 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(i16 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(i16 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i16 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i16 + 0.); // 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}} @@ -71,12 +53,6 @@ (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)(u16 + 0); // expected-error{{invalid operands to binary expression}} - (void)(u16 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(u16 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(u16 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u16 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u16 + 0.); // 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}} @@ -88,11 +64,6 @@ (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)(i32 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(i32 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(i32 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i32 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i32 + 0.); // 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}} @@ -104,11 +75,6 @@ (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)(u32 + 0); // expected-error{{invalid operands to binary expression}} - (void)(u32 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(u32 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u32 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u32 + 0.); // 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}} @@ -120,11 +86,6 @@ (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)(i64 + 0); // expected-error{{invalid operands to binary expression}} - (void)(i64 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(i64 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i64 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i64 + 0.); // 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}} @@ -136,11 +97,6 @@ (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}} - (void)(u64 + 0); // expected-error{{invalid operands to binary expression}} - (void)(u64 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(u64 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(u64 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u64 + 0.); // expected-error{{invalid operands to binary expression}} (void)(f16 + b); // expected-error{{invalid operands to binary expression}} (void)(f16 + i8); // expected-error{{invalid operands to binary expression}} @@ -152,12 +108,6 @@ (void)(f16 + u64); // expected-error{{invalid operands to binary expression}} (void)(f16 + f32); // expected-error{{invalid operands to binary expression}} (void)(f16 + f64); // expected-error{{invalid operands to binary expression}} - (void)(f16 + 0); // expected-error{{invalid operands to binary expression}} - (void)(f16 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(f16 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(f16 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f16 + 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f16 + 0.); // expected-error{{invalid operands to binary expression}} (void)(f32 + b); // expected-error{{invalid operands to binary expression}} (void)(f32 + i8); // expected-error{{invalid operands to binary expression}} @@ -169,11 +119,6 @@ (void)(f32 + u64); // expected-error{{invalid operands to binary expression}} (void)(f32 + f16); // expected-error{{invalid operands to binary expression}} (void)(f32 + f64); // expected-error{{invalid operands to binary expression}} - (void)(f32 + 0); // expected-error{{invalid operands to binary expression}} - (void)(f32 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(f32 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(f32 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f32 + 0.); // expected-error{{invalid operands to binary expression}} (void)(f64 + b); // expected-error{{invalid operands to binary expression}} (void)(f64 + i8); // expected-error{{invalid operands to binary expression}} @@ -185,11 +130,6 @@ (void)(f64 + u32); // expected-error{{invalid operands to binary expression}} (void)(f64 + f16); // expected-error{{invalid operands to binary expression}} (void)(f64 + f32); // expected-error{{invalid operands to binary expression}} - (void)(f64 + 0); // expected-error{{invalid operands to binary expression}} - (void)(f64 + 0l); // expected-error{{invalid operands to binary expression}} - (void)(f64 + 0u); // expected-error{{invalid operands to binary expression}} - (void)(f64 + 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f64 + 0.f); // expected-error{{invalid operands to binary expression}} } void sub(svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, @@ -208,12 +148,6 @@ (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)(i8 - 0); // expected-error{{invalid operands to binary expression}} - (void)(i8 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(i8 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(i8 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i8 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i8 - 0.); // 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}} @@ -225,12 +159,6 @@ (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)(u8 - 0); // expected-error{{invalid operands to binary expression}} - (void)(u8 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(u8 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(u8 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u8 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u8 - 0.); // 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}} @@ -242,12 +170,6 @@ (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)(i16 - 0); // expected-error{{invalid operands to binary expression}} - (void)(i16 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(i16 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(i16 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i16 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i16 - 0.); // 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}} @@ -259,12 +181,6 @@ (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)(u16 - 0); // expected-error{{invalid operands to binary expression}} - (void)(u16 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(u16 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(u16 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u16 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u16 - 0.); // 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}} @@ -276,11 +192,6 @@ (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)(i32 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(i32 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(i32 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i32 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i32 - 0.); // 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}} @@ -292,11 +203,6 @@ (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)(u32 - 0); // expected-error{{invalid operands to binary expression}} - (void)(u32 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(u32 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u32 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u32 - 0.); // 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}} @@ -308,11 +214,6 @@ (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)(i64 - 0); // expected-error{{invalid operands to binary expression}} - (void)(i64 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(i64 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i64 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i64 - 0.); // 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}} @@ -324,11 +225,6 @@ (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}} - (void)(u64 - 0); // expected-error{{invalid operands to binary expression}} - (void)(u64 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(u64 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(u64 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u64 - 0.); // expected-error{{invalid operands to binary expression}} (void)(f16 - b); // expected-error{{invalid operands to binary expression}} (void)(f16 - i8); // expected-error{{invalid operands to binary expression}} @@ -340,12 +236,6 @@ (void)(f16 - u64); // expected-error{{invalid operands to binary expression}} (void)(f16 - f32); // expected-error{{invalid operands to binary expression}} (void)(f16 - f64); // expected-error{{invalid operands to binary expression}} - (void)(f16 - 0); // expected-error{{invalid operands to binary expression}} - (void)(f16 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(f16 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(f16 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f16 - 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f16 - 0.); // expected-error{{invalid operands to binary expression}} (void)(f32 - b); // expected-error{{invalid operands to binary expression}} (void)(f32 - i8); // expected-error{{invalid operands to binary expression}} @@ -357,11 +247,6 @@ (void)(f32 - u64); // expected-error{{invalid operands to binary expression}} (void)(f32 - f16); // expected-error{{invalid operands to binary expression}} (void)(f32 - f64); // expected-error{{invalid operands to binary expression}} - (void)(f32 - 0); // expected-error{{invalid operands to binary expression}} - (void)(f32 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(f32 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(f32 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f32 - 0.); // expected-error{{invalid operands to binary expression}} (void)(f64 - b); // expected-error{{invalid operands to binary expression}} (void)(f64 - i8); // expected-error{{invalid operands to binary expression}} @@ -373,11 +258,6 @@ (void)(f64 - u32); // expected-error{{invalid operands to binary expression}} (void)(f64 - f16); // expected-error{{invalid operands to binary expression}} (void)(f64 - f32); // expected-error{{invalid operands to binary expression}} - (void)(f64 - 0); // expected-error{{invalid operands to binary expression}} - (void)(f64 - 0l); // expected-error{{invalid operands to binary expression}} - (void)(f64 - 0u); // expected-error{{invalid operands to binary expression}} - (void)(f64 - 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f64 - 0.f); // expected-error{{invalid operands to binary expression}} } void mul(svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, @@ -396,12 +276,6 @@ (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)(i8 * 0); // expected-error{{invalid operands to binary expression}} - (void)(i8 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(i8 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(i8 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i8 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i8 * 0.); // 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}} @@ -413,12 +287,6 @@ (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)(u8 * 0); // expected-error{{invalid operands to binary expression}} - (void)(u8 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(u8 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(u8 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u8 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u8 * 0.); // 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}} @@ -430,12 +298,6 @@ (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)(i16 * 0); // expected-error{{invalid operands to binary expression}} - (void)(i16 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(i16 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(i16 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i16 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i16 * 0.); // 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}} @@ -447,12 +309,6 @@ (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)(u16 * 0); // expected-error{{invalid operands to binary expression}} - (void)(u16 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(u16 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(u16 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u16 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u16 * 0.); // 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}} @@ -464,11 +320,6 @@ (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)(i32 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(i32 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(i32 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i32 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i32 * 0.); // 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}} @@ -480,11 +331,6 @@ (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)(u32 * 0); // expected-error{{invalid operands to binary expression}} - (void)(u32 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(u32 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u32 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u32 * 0.); // 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}} @@ -496,11 +342,6 @@ (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)(i64 * 0); // expected-error{{invalid operands to binary expression}} - (void)(i64 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(i64 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i64 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i64 * 0.); // 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}} @@ -512,11 +353,6 @@ (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}} - (void)(u64 * 0); // expected-error{{invalid operands to binary expression}} - (void)(u64 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(u64 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(u64 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u64 * 0.); // expected-error{{invalid operands to binary expression}} (void)(f16 * b); // expected-error{{invalid operands to binary expression}} (void)(f16 * i8); // expected-error{{invalid operands to binary expression}} @@ -528,12 +364,6 @@ (void)(f16 * u64); // expected-error{{invalid operands to binary expression}} (void)(f16 * f32); // expected-error{{invalid operands to binary expression}} (void)(f16 * f64); // expected-error{{invalid operands to binary expression}} - (void)(f16 * 0); // expected-error{{invalid operands to binary expression}} - (void)(f16 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(f16 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(f16 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f16 * 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f16 * 0.); // expected-error{{invalid operands to binary expression}} (void)(f32 * b); // expected-error{{invalid operands to binary expression}} (void)(f32 * i8); // expected-error{{invalid operands to binary expression}} @@ -545,11 +375,6 @@ (void)(f32 * u64); // expected-error{{invalid operands to binary expression}} (void)(f32 * f16); // expected-error{{invalid operands to binary expression}} (void)(f32 * f64); // expected-error{{invalid operands to binary expression}} - (void)(f32 * 0); // expected-error{{invalid operands to binary expression}} - (void)(f32 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(f32 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(f32 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f32 * 0.); // expected-error{{invalid operands to binary expression}} (void)(f64 * b); // expected-error{{invalid operands to binary expression}} (void)(f64 * i8); // expected-error{{invalid operands to binary expression}} @@ -561,11 +386,6 @@ (void)(f64 * u32); // expected-error{{invalid operands to binary expression}} (void)(f64 * f16); // expected-error{{invalid operands to binary expression}} (void)(f64 * f32); // expected-error{{invalid operands to binary expression}} - (void)(f64 * 0); // expected-error{{invalid operands to binary expression}} - (void)(f64 * 0l); // expected-error{{invalid operands to binary expression}} - (void)(f64 * 0u); // expected-error{{invalid operands to binary expression}} - (void)(f64 * 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f64 * 0.f); // expected-error{{invalid operands to binary expression}} } void div(svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, @@ -584,12 +404,6 @@ (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)(i8 / 0); // expected-error{{invalid operands to binary expression}} - (void)(i8 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(i8 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(i8 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i8 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i8 / 0.); // 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}} @@ -601,12 +415,6 @@ (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)(u8 / 0); // expected-error{{invalid operands to binary expression}} - (void)(u8 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(u8 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(u8 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u8 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u8 / 0.); // 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}} @@ -618,12 +426,6 @@ (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)(i16 / 0); // expected-error{{invalid operands to binary expression}} - (void)(i16 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(i16 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(i16 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i16 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i16 / 0.); // 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}} @@ -635,12 +437,6 @@ (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)(u16 / 0); // expected-error{{invalid operands to binary expression}} - (void)(u16 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(u16 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(u16 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u16 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u16 / 0.); // 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}} @@ -652,11 +448,6 @@ (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)(i32 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(i32 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(i32 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i32 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i32 / 0.); // 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}} @@ -668,11 +459,6 @@ (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)(u32 / 0); // expected-error{{invalid operands to binary expression}} - (void)(u32 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(u32 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u32 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u32 / 0.); // 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}} @@ -684,11 +470,6 @@ (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)(i64 / 0); // expected-error{{invalid operands to binary expression}} - (void)(i64 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(i64 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i64 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i64 / 0.); // 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}} @@ -700,11 +481,6 @@ (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}} - (void)(u64 / 0); // expected-error{{invalid operands to binary expression}} - (void)(u64 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(u64 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(u64 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u64 / 0.); // expected-error{{invalid operands to binary expression}} (void)(f16 / b); // expected-error{{invalid operands to binary expression}} (void)(f16 / i8); // expected-error{{invalid operands to binary expression}} @@ -716,12 +492,6 @@ (void)(f16 / u64); // expected-error{{invalid operands to binary expression}} (void)(f16 / f32); // expected-error{{invalid operands to binary expression}} (void)(f16 / f64); // expected-error{{invalid operands to binary expression}} - (void)(f16 / 0); // expected-error{{invalid operands to binary expression}} - (void)(f16 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(f16 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(f16 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f16 / 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f16 / 0.); // expected-error{{invalid operands to binary expression}} (void)(f32 / b); // expected-error{{invalid operands to binary expression}} (void)(f32 / i8); // expected-error{{invalid operands to binary expression}} @@ -733,11 +503,6 @@ (void)(f32 / u64); // expected-error{{invalid operands to binary expression}} (void)(f32 / f16); // expected-error{{invalid operands to binary expression}} (void)(f32 / f64); // expected-error{{invalid operands to binary expression}} - (void)(f32 / 0); // expected-error{{invalid operands to binary expression}} - (void)(f32 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(f32 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(f32 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f32 / 0.); // expected-error{{invalid operands to binary expression}} (void)(f64 / b); // expected-error{{invalid operands to binary expression}} (void)(f64 / i8); // expected-error{{invalid operands to binary expression}} @@ -749,11 +514,6 @@ (void)(f64 / u32); // expected-error{{invalid operands to binary expression}} (void)(f64 / f16); // expected-error{{invalid operands to binary expression}} (void)(f64 / f32); // expected-error{{invalid operands to binary expression}} - (void)(f64 / 0); // expected-error{{invalid operands to binary expression}} - (void)(f64 / 0l); // expected-error{{invalid operands to binary expression}} - (void)(f64 / 0u); // expected-error{{invalid operands to binary expression}} - (void)(f64 / 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f64 / 0.f); // expected-error{{invalid operands to binary expression}} } void mod(svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, @@ -772,12 +532,6 @@ (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)(i8 % 0); // expected-error{{invalid operands to binary expression}} - (void)(i8 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(i8 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(i8 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i8 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i8 % 0.); // 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}} @@ -789,12 +543,6 @@ (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)(u8 % 0); // expected-error{{invalid operands to binary expression}} - (void)(u8 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(u8 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(u8 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u8 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u8 % 0.); // 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}} @@ -806,12 +554,6 @@ (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)(i16 % 0); // expected-error{{invalid operands to binary expression}} - (void)(i16 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(i16 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(i16 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i16 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i16 % 0.); // 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}} @@ -823,12 +565,6 @@ (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)(u16 % 0); // expected-error{{invalid operands to binary expression}} - (void)(u16 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(u16 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(u16 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u16 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u16 % 0.); // 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}} @@ -840,11 +576,6 @@ (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)(i32 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(i32 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(i32 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i32 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i32 % 0.); // 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}} @@ -856,11 +587,6 @@ (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)(u32 % 0); // expected-error{{invalid operands to binary expression}} - (void)(u32 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(u32 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(u32 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u32 % 0.); // 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}} @@ -872,11 +598,6 @@ (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)(i64 % 0); // expected-error{{invalid operands to binary expression}} - (void)(i64 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(i64 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(i64 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(i64 % 0.); // 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}} @@ -888,11 +609,6 @@ (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}} - (void)(u64 % 0); // expected-error{{invalid operands to binary expression}} - (void)(u64 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(u64 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(u64 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(u64 % 0.); // expected-error{{invalid operands to binary expression}} (void)(f16 % b); // expected-error{{invalid operands to binary expression}} (void)(f16 % i8); // expected-error{{invalid operands to binary expression}} @@ -904,12 +620,6 @@ (void)(f16 % u64); // expected-error{{invalid operands to binary expression}} (void)(f16 % f32); // expected-error{{invalid operands to binary expression}} (void)(f16 % f64); // expected-error{{invalid operands to binary expression}} - (void)(f16 % 0); // expected-error{{invalid operands to binary expression}} - (void)(f16 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(f16 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(f16 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f16 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f16 % 0.); // expected-error{{invalid operands to binary expression}} (void)(f32 % b); // expected-error{{invalid operands to binary expression}} (void)(f32 % i8); // expected-error{{invalid operands to binary expression}} @@ -921,12 +631,6 @@ (void)(f32 % u64); // expected-error{{invalid operands to binary expression}} (void)(f32 % f16); // expected-error{{invalid operands to binary expression}} (void)(f32 % f64); // expected-error{{invalid operands to binary expression}} - (void)(f32 % 0); // expected-error{{invalid operands to binary expression}} - (void)(f32 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(f32 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(f32 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f32 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f32 % 0.); // expected-error{{invalid operands to binary expression}} (void)(f64 % b); // expected-error{{invalid operands to binary expression}} (void)(f64 % i8); // expected-error{{invalid operands to binary expression}} @@ -938,10 +642,4 @@ (void)(f64 % u32); // expected-error{{invalid operands to binary expression}} (void)(f64 % f16); // expected-error{{invalid operands to binary expression}} (void)(f64 % f32); // expected-error{{invalid operands to binary expression}} - (void)(f64 % 0); // expected-error{{invalid operands to binary expression}} - (void)(f64 % 0l); // expected-error{{invalid operands to binary expression}} - (void)(f64 % 0u); // expected-error{{invalid operands to binary expression}} - (void)(f64 % 0ul); // expected-error{{invalid operands to binary expression}} - (void)(f64 % 0.f); // expected-error{{invalid operands to binary expression}} - (void)(f64 % 0.); // expected-error{{invalid operands to binary expression}} } diff --git a/clang/test/Sema/sizeless-1.c b/clang/test/Sema/sizeless-1.c --- a/clang/test/Sema/sizeless-1.c +++ b/clang/test/Sema/sizeless-1.c @@ -201,23 +201,6 @@ local_int8 &&init_int8; // expected-error {{invalid operands to binary expression}} local_int8 || init_int8; // expected-error {{invalid operands to binary expression}} - local_int8 + 0; // expected-error {{invalid operands to binary expression}} - local_int8 - 0; // expected-error {{invalid operands to binary expression}} - local_int8 * 0; // expected-error {{invalid operands to binary expression}} - local_int8 / 0; // expected-error {{invalid operands to binary expression}} - local_int8 % 0; // expected-error {{invalid operands to binary expression}} - local_int8 & 0; // expected-error {{invalid operands to binary expression}} - local_int8 | 0; // expected-error {{invalid operands to binary expression}} - local_int8 ^ 0; // expected-error {{invalid operands to binary expression}} - local_int8 < 0; // expected-error {{invalid operands to binary expression}} - local_int8 <= 0; // expected-error {{invalid operands to binary expression}} - local_int8 == 0; // expected-error {{invalid operands to binary expression}} - local_int8 != 0; // expected-error {{invalid operands to binary expression}} - local_int8 >= 0; // expected-error {{invalid operands to binary expression}} - local_int8 > 0; // expected-error {{invalid operands to binary expression}} - local_int8 && 0; // expected-error {{invalid operands to binary expression}} - local_int8 || 0; // expected-error {{invalid operands to binary expression}} - if (local_int8) { // expected-error {{statement requires expression of scalar type}} } while (local_int8) { // expected-error {{statement requires expression of scalar type}} diff --git a/clang/test/SemaCXX/sizeless-1.cpp b/clang/test/SemaCXX/sizeless-1.cpp --- a/clang/test/SemaCXX/sizeless-1.cpp +++ b/clang/test/SemaCXX/sizeless-1.cpp @@ -213,23 +213,6 @@ local_int8 &&init_int8; // expected-error {{invalid operands to binary expression}} expected-error {{not contextually convertible}} local_int8 || init_int8; // expected-error {{invalid operands to binary expression}} expected-error {{not contextually convertible}} - local_int8 + 0; // expected-error {{invalid operands to binary expression}} - local_int8 - 0; // expected-error {{invalid operands to binary expression}} - local_int8 * 0; // expected-error {{invalid operands to binary expression}} - local_int8 / 0; // expected-error {{invalid operands to binary expression}} - local_int8 % 0; // expected-error {{invalid operands to binary expression}} - local_int8 & 0; // expected-error {{invalid operands to binary expression}} - local_int8 | 0; // expected-error {{invalid operands to binary expression}} - local_int8 ^ 0; // expected-error {{invalid operands to binary expression}} - local_int8 < 0; // expected-error {{invalid operands to binary expression}} - local_int8 <= 0; // expected-error {{invalid operands to binary expression}} - local_int8 == 0; // expected-error {{invalid operands to binary expression}} - local_int8 != 0; // expected-error {{invalid operands to binary expression}} - local_int8 >= 0; // expected-error {{invalid operands to binary expression}} - local_int8 > 0; // expected-error {{invalid operands to binary expression}} - local_int8 && 0; // expected-error {{invalid operands to binary expression}} expected-error {{not contextually convertible}} - local_int8 || 0; // expected-error {{invalid operands to binary expression}} expected-error {{not contextually convertible}} - if (local_int8) { // expected-error {{not contextually convertible to 'bool'}} } while (local_int8) { // expected-error {{not contextually convertible to 'bool'}}