33 lines · c
1// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sme2 -verify -emit-llvm -o - %s2 3// REQUIRES: aarch64-registered-target4 5#include <arm_sme.h>6 7void test_features(uint32_t slice, fpm_t fpmr, svmfloat8x2_t zn,8 svmfloat8_t zm) __arm_streaming __arm_inout("za") {9// expected-error@+1 {{'svvdot_lane_za16_mf8_vg1x2_fpm' needs target feature sme,sme-f8f16}}10 svvdot_lane_za16_mf8_vg1x2_fpm(slice, zn, zm, 7, fpmr);11// expected-error@+1 {{'svvdotb_lane_za32_mf8_vg1x4_fpm' needs target feature sme,sme-f8f32}}12 svvdotb_lane_za32_mf8_vg1x4_fpm(slice, zn, zm, 3, fpmr);13// expected-error@+1 {{'svvdott_lane_za32_mf8_vg1x4_fpm' needs target feature sme,sme-f8f32}}14 svvdott_lane_za32_mf8_vg1x4_fpm(slice, zn, zm, 3, fpmr);15}16 17void test_imm(uint32_t slice, fpm_t fpmr, svmfloat8x2_t zn,18 svmfloat8_t zm) __arm_streaming __arm_inout("za") {19// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}20 svvdot_lane_za16_mf8_vg1x2_fpm(slice, zn, zm, -1, fpmr);21// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}}22 svvdotb_lane_za32_mf8_vg1x4_fpm(slice, zn, zm, -1, fpmr);23// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}}24 svvdott_lane_za32_mf8_vg1x4_fpm(slice, zn, zm, -1, fpmr);25 26// expected-error@+1{{argument value 8 is outside the valid range [0, 7]}}27 svvdot_lane_za16_mf8_vg1x2_fpm(slice, zn, zm, 8, fpmr);28// expected-error@+1{{argument value 4 is outside the valid range [0, 3]}}29 svvdotb_lane_za32_mf8_vg1x4_fpm(slice, zn, zm, 4, fpmr);30// expected-error@+1{{argument value 4 is outside the valid range [0, 3]}}31 svvdott_lane_za32_mf8_vg1x4_fpm(slice, zn, zm, 4, fpmr);32}33