llvm-project/clang/test/Sema/aarch64-sve-vector-pow-ops.c
Fraser Cormack 8cc9a48579
[clang] Improve diagnostics for vector builtins (#125673)
This commit improves the diagnostics for vector (elementwise) builtins
in a couple of ways.

It primarily provides more precise type-checking diagnostics for
builtins with specific type requirements. Previously many builtins were
receiving a catch-all diagnostic suggesting types which aren't valid.

It also makes consistent the type-checking behaviour between various
binary and ternary builtins. The binary builtins would check for
mismatched argument types before specific type requirements, whereas
ternary builtins would perform the checks in the reverse order. The
binary builtins now behave as the ternary ones do.
2025-03-18 18:11:45 +00:00

12 lines
363 B
C

// RUN: %clang_cc1 -triple aarch64 -target-feature +sve \
// RUN: -disable-O0-optnone -o - -fsyntax-only %s -verify
// REQUIRES: aarch64-registered-target
#include <arm_sve.h>
svfloat32_t test_pow_vv_i8mf8(svfloat32_t v) {
return __builtin_elementwise_pow(v, v);
// expected-error@-1 {{1st argument must be a scalar or vector of floating-point types}}
}