brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · bbcd033 Raw
55 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, svmfloat8_t f8, svmfloat8x2_t f8x2,8                   svmfloat8x4_t f8x4, uint64_t fpmr) __arm_streaming __arm_inout("za") {9  // expected-error@+1 {{'svdot_lane_za32_mf8_vg1x2_fpm' needs target feature sme,sme-f8f32}}10  svdot_lane_za32_mf8_vg1x2_fpm(slice, f8x2, f8, 3, fpmr);11  // expected-error@+1 {{'svdot_lane_za32_mf8_vg1x4_fpm' needs target feature sme,sme-f8f32}}12  svdot_lane_za32_mf8_vg1x4_fpm(slice, f8x4, f8, 3, fpmr);13  // expected-error@+1 {{'svdot_lane_za16_mf8_vg1x2_fpm' needs target feature sme,sme-f8f16}}14  svdot_lane_za16_mf8_vg1x2_fpm(slice, f8x2, f8, 3, fpmr);15  // expected-error@+1 {{'svdot_lane_za16_mf8_vg1x4_fpm' needs target feature sme,sme-f8f16}}16  svdot_lane_za16_mf8_vg1x4_fpm(slice, f8x4, f8, 3, fpmr);17  // expected-error@+1 {{'svdot_single_za32_mf8_vg1x2_fpm' needs target feature sme,sme-f8f32}}18  svdot_single_za32_mf8_vg1x2_fpm(slice, f8x2, f8, fpmr);19  // expected-error@+1 {{'svdot_single_za32_mf8_vg1x4_fpm' needs target feature sme,sme-f8f32}}20  svdot_single_za32_mf8_vg1x4_fpm(slice, f8x4, f8, fpmr);21  // expected-error@+1 {{'svdot_za32_mf8_vg1x2_fpm' needs target feature sme,sme-f8f32}}22  svdot_za32_mf8_vg1x2_fpm(slice, f8x2, f8x2, fpmr);23  // expected-error@+1 {{'svdot_za32_mf8_vg1x4_fpm' needs target feature sme,sme-f8f32}}24  svdot_za32_mf8_vg1x4_fpm(slice, f8x4, f8x4, fpmr);25  // expected-error@+1 {{'svdot_single_za16_mf8_vg1x2_fpm' needs target feature sme,sme-f8f16}}26  svdot_single_za16_mf8_vg1x2_fpm(slice, f8x2, f8, fpmr);27  // expected-error@+1 {{'svdot_single_za16_mf8_vg1x4_fpm' needs target feature sme,sme-f8f16}}28  svdot_single_za16_mf8_vg1x4_fpm(slice, f8x4, f8, fpmr);29  // expected-error@+1 {{'svdot_za16_mf8_vg1x2_fpm' needs target feature sme,sme-f8f16}}30  svdot_za16_mf8_vg1x2_fpm(slice, f8x2, f8x2, fpmr);31  // expected-error@+1 {{'svdot_za16_mf8_vg1x4_fpm' needs target feature sme,sme-f8f16}}32  svdot_za16_mf8_vg1x4_fpm(slice, f8x4, f8x4, fpmr);33}34 35void test_imm(uint32_t slice, svmfloat8_t f8, svmfloat8x2_t f8x2,36              svmfloat8x4_t f8x4, uint64_t fpmr) __arm_streaming __arm_inout("za") {37// expected-error@+1{{argument value 18446744073709551615 is outside the valid range [0, 3]}}38  svdot_lane_za32_mf8_vg1x2_fpm(slice, f8x2, f8, -1, fpmr);39// expected-error@+1{{argument value 18446744073709551615 is outside the valid range [0, 3]}}40  svdot_lane_za32_mf8_vg1x4_fpm(slice, f8x4, f8, -1, fpmr);41// expected-error@+1{{argument value 18446744073709551615 is outside the valid range [0, 7]}}42  svdot_lane_za16_mf8_vg1x2_fpm(slice, f8x2, f8, -1, fpmr);43// expected-error@+1{{argument value 18446744073709551615 is outside the valid range [0, 7]}}44  svdot_lane_za16_mf8_vg1x4_fpm(slice, f8x4, f8, -1, fpmr);45 46// expected-error@+1{{argument value 4 is outside the valid range [0, 3]}}47  svdot_lane_za32_mf8_vg1x2_fpm(slice, f8x2, f8, 4, fpmr);48// expected-error@+1{{argument value 4 is outside the valid range [0, 3]}}49  svdot_lane_za32_mf8_vg1x4_fpm(slice, f8x4, f8, 4, fpmr);50// expected-error@+1{{argument value 8 is outside the valid range [0, 7]}}51  svdot_lane_za16_mf8_vg1x2_fpm(slice, f8x2, f8, 8, fpmr);52// expected-error@+1{{argument value 8 is outside the valid range [0, 7]}}53  svdot_lane_za16_mf8_vg1x4_fpm(slice, f8x4, f8, 8, fpmr);54}55