35 lines · c
1// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -verify -emit-llvm-only %s2 3// REQUIRES: aarch64-registered-target4 5#include <arm_sme.h>6 7void test_features(svbool_t pn, svbool_t pm,8 svfloat16_t zn, svfloat16_t zm,9 svbfloat16_t znb, svbfloat16_t zmb)10 __arm_streaming __arm_inout("za") {11// expected-error@+1 {{'svmopa_za16_bf16_m' needs target feature sme,sme-b16b16}}12 svmopa_za16_bf16_m(0, pn, pm, znb, zmb);13// expected-error@+1 {{'svmops_za16_bf16_m' needs target feature sme,sme-b16b16}}14 svmops_za16_bf16_m(0, pn, pm, znb, zmb);15// expected-error@+1 {{'svmopa_za16_f16_m' needs target feature sme,sme-f16f16}}16 svmopa_za16_f16_m(0, pn, pm, zn, zm);17// expected-error@+1 {{'svmops_za16_f16_m' needs target feature sme,sme-f16f16}}18 svmops_za16_f16_m(0, pn, pm, zn, zm);19}20 21void test_imm(svbool_t pn, svbool_t pm,22 svfloat16_t zn, svfloat16_t zm,23 svbfloat16_t znb, svbfloat16_t zmb)24 __arm_streaming __arm_inout("za") {25// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}}26 svmopa_za16_bf16_m(-1, pn, pm, znb, zmb);27// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}}28 svmops_za16_bf16_m(-1, pn, pm, znb, zmb);29// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}}30 svmopa_za16_f16_m(-1, pn, pm, zn, zm);31// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}}32 svmops_za16_f16_m(-1, pn, pm, zn, zm);33}34 35