xref: /llvm-project/clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_b16b16.cpp (revision f22e6d59190b03434b2a604399670d1b750d63c2)
1 // REQUIRES: aarch64-registered-target
2 
3 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +bf16 -target-feature +sme -target-feature +sme2 -emit-llvm-only -verify -verify-ignore-unexpected=error,note -o - %s
4 
5 #include <arm_sme.h>
6 
7 void test_b16b16( svbfloat16_t bf16, svbfloat16x2_t bf16x2, svbfloat16x4_t bf16x4) __arm_streaming
8 {
9   // expected-error@+1 {{'svclamp_single_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
10   svclamp_single_bf16_x2(bf16x2, bf16, bf16);
11   // expected-error@+1 {{'svclamp_single_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
12   svclamp_single_bf16_x4(bf16x4, bf16, bf16);
13 
14   // expected-error@+1 {{'svmax_single_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
15   svmax_single_bf16_x2(bf16x2, bf16);
16   // expected-error@+1 {{'svmax_single_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
17   svmax_single_bf16_x4(bf16x4, bf16);
18   // expected-error@+1 {{'svmax_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
19   svmax_bf16_x2(bf16x2, bf16x2);
20   // expected-error@+1 {{'svmax_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
21   svmax_bf16_x4(bf16x4, bf16x4);
22 
23   // expected-error@+1 {{'svmaxnm_single_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
24   svmaxnm_single_bf16_x2(bf16x2, bf16);
25   // expected-error@+1 {{'svmaxnm_single_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
26   svmaxnm_single_bf16_x4(bf16x4, bf16);
27   // expected-error@+1 {{'svmaxnm_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
28   svmaxnm_bf16_x2(bf16x2, bf16x2);
29   // expected-error@+1 {{'svmaxnm_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
30   svmaxnm_bf16_x4(bf16x4, bf16x4);
31 
32   // expected-error@+1 {{'svmin_single_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
33   svmin_single_bf16_x2(bf16x2, bf16);
34   // expected-error@+1 {{'svmin_single_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
35   svmin_single_bf16_x4(bf16x4, bf16);
36   // expected-error@+1 {{'svmin_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
37   svmin_bf16_x2(bf16x2, bf16x2);
38   // expected-error@+1 {{'svmin_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
39   svmin_bf16_x4(bf16x4, bf16x4);
40 
41   // expected-error@+1 {{'svminnm_single_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
42   svminnm_single_bf16_x2(bf16x2, bf16);
43   // expected-error@+1 {{'svminnm_single_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
44   svminnm_single_bf16_x4(bf16x4, bf16);
45 
46   // expected-error@+1 {{'svminnm_bf16_x2' needs target feature sme,sme2,sve-b16b16}}
47   svminnm_bf16_x2(bf16x2, bf16x2);
48   // expected-error@+1 {{'svminnm_bf16_x4' needs target feature sme,sme2,sve-b16b16}}
49   svminnm_bf16_x4(bf16x4, bf16x4);
50 }
51