52 lines · c
1// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -target-feature +sme-f8f16 -target-feature +sme-f8f32 -fsyntax-only -verify %s2 3// REQUIRES: aarch64-registered-target4 5#include <arm_sme.h>6 7void test_svmopa(svbool_t pn, svbool_t pm, svmfloat8_t zn, svmfloat8_t zm,8 fpm_t fpmr) __arm_streaming __arm_inout("za") {9 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}}10 svmopa_za16_mf8_m_fpm(-1, pn, pm, zn, zm, fpmr);11 // expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}12 svmopa_za16_mf8_m_fpm(2, pn, pm, zn, zm, fpmr);13 14 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}}15 svmopa_za32_mf8_m_fpm(-1, pn, pm, zn, zm, fpmr);16 // expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}17 svmopa_za32_mf8_m_fpm(4, pn, pm, zn, zm, fpmr);18}19 20void test_svmla(uint32_t slice, svmfloat8_t zn, svmfloat8x2_t znx2, svmfloat8x4_t znx4,21 fpm_t fpmr) __arm_streaming __arm_inout("za") {22 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}23 svmla_lane_za16_mf8_vg2x1_fpm(slice, zn, zn, -1, fpmr);24 // expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}25 svmla_lane_za16_mf8_vg2x1_fpm(slice, zn, zn, 16, fpmr);26 27 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}28 svmla_lane_za16_mf8_vg2x2_fpm(slice, znx2, zn, -1, fpmr);29 // expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}30 svmla_lane_za16_mf8_vg2x2_fpm(slice, znx2, zn, 16, fpmr);31 32 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}33 svmla_lane_za16_mf8_vg2x4_fpm(slice, znx4, zn, -1, fpmr);34 // expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}35 svmla_lane_za16_mf8_vg2x4_fpm(slice, znx4, zn, 16, fpmr);36 37 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}38 svmla_lane_za32_mf8_vg4x1_fpm(slice, zn, zn, -1, fpmr);39 // expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}40 svmla_lane_za32_mf8_vg4x1_fpm(slice, zn, zn, 16, fpmr);41 42 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}43 svmla_lane_za32_mf8_vg4x2_fpm(slice, znx2, zn, -1, fpmr);44 // expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}45 svmla_lane_za32_mf8_vg4x2_fpm(slice, znx2, zn, 16, fpmr);46 47 // expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}48 svmla_lane_za32_mf8_vg4x4_fpm(slice, znx4, zn, -1, fpmr);49 // expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}50 svmla_lane_za32_mf8_vg4x4_fpm(slice, znx4, zn, 16, fpmr);51 52}