1 // REQUIRES: aarch64-registered-target
3 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -verify -verify-ignore-unexpected=error,note -emit-llvm -o - %s
7 void test_bfloat(svbool_t pg
, uint64_t u64
, int64_t i64
, const bfloat16_t
*const_bf16_ptr
, bfloat16_t
*bf16_ptr
, svbfloat16_t bf16
, svbfloat16x2_t bf16x2
, svbfloat16x3_t bf16x3
, svbfloat16x4_t bf16x4
)
9 // expected-error@+1 {{'svcreate2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
10 svcreate2_bf16(bf16
, bf16
);
11 // expected-error@+1 {{'svcreate3_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
12 svcreate3_bf16(bf16
, bf16
, bf16
);
13 // expected-error@+1 {{'svcreate4_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
14 svcreate4_bf16(bf16
, bf16
, bf16
, bf16
);
15 // expected-error@+1 {{'svget2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
16 svget2_bf16(bf16x2
, 1);
17 // expected-error@+1 {{'svget3_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
18 svget3_bf16(bf16x3
, 1);
19 // expected-error@+1 {{'svget4_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
20 svget4_bf16(bf16x4
, 1);
21 // expected-error@+1 {{'svld1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
22 svld1_bf16(pg
, const_bf16_ptr
);
23 // expected-error@+1 {{'svld1_vnum_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
24 svld1_vnum_bf16(pg
, const_bf16_ptr
, i64
);
25 // expected-error@+1 {{'svld1rq_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
26 svld1rq_bf16(pg
, const_bf16_ptr
);
27 // expected-error@+1 {{'svldff1_bf16' needs target feature sve,bf16}}
28 svldff1_bf16(pg
, const_bf16_ptr
);
29 // expected-error@+1 {{'svldff1_vnum_bf16' needs target feature sve,bf16}}
30 svldff1_vnum_bf16(pg
, const_bf16_ptr
, i64
);
31 // expected-error@+1 {{'svldnf1_bf16' needs target feature sve,bf16}}
32 svldnf1_bf16(pg
, const_bf16_ptr
);
33 // expected-error@+1 {{'svldnf1_vnum_bf16' needs target feature sve,bf16}}
34 svldnf1_vnum_bf16(pg
, const_bf16_ptr
, i64
);
35 // expected-error@+1 {{'svldnt1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
36 svldnt1_bf16(pg
, const_bf16_ptr
);
37 // expected-error@+1 {{'svldnt1_vnum_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
38 svldnt1_vnum_bf16(pg
, const_bf16_ptr
, i64
);
39 // expected-error@+1 {{'svrev_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
41 // expected-error@+1 {{'svset2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
42 svset2_bf16(bf16x2
, 1, bf16
);
43 // expected-error@+1 {{'svset3_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
44 svset3_bf16(bf16x3
, 1, bf16
);
45 // expected-error@+1 {{'svset4_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
46 svset4_bf16(bf16x4
, 1, bf16
);
47 // expected-error@+1 {{'svst1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
48 svst1_bf16(pg
, bf16_ptr
, bf16
);
49 // expected-error@+1 {{'svst1_vnum_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
50 svst1_vnum_bf16(pg
, bf16_ptr
, i64
, bf16
);
51 // expected-error@+1 {{'svstnt1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
52 svstnt1_bf16(pg
, bf16_ptr
, bf16
);
53 // expected-error@+1 {{'svstnt1_vnum_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
54 svstnt1_vnum_bf16(pg
, bf16_ptr
, i64
, bf16
);
55 // expected-error@+1 {{'svtrn1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
56 svtrn1_bf16(bf16
, bf16
);
57 // expected-error@+1 {{'svtrn1q_bf16' needs target feature sve,bf16}}
58 svtrn1q_bf16(bf16
, bf16
);
59 // expected-error@+1 {{'svtrn2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
60 svtrn2_bf16(bf16
, bf16
);
61 // expected-error@+1 {{'svtrn2q_bf16' needs target feature sve,bf16}}
62 svtrn2q_bf16(bf16
, bf16
);
63 // expected-error@+1 {{'svundef_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
65 // expected-error@+1 {{'svundef2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
67 // expected-error@+1 {{'svundef3_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
69 // expected-error@+1 {{'svundef4_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
71 // expected-error@+1 {{'svuzp1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
72 svuzp1_bf16(bf16
, bf16
);
73 // expected-error@+1 {{'svuzp1q_bf16' needs target feature sve,bf16}}
74 svuzp1q_bf16(bf16
, bf16
);
75 // expected-error@+1 {{'svuzp2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
76 svuzp2_bf16(bf16
, bf16
);
77 // expected-error@+1 {{'svuzp2q_bf16' needs target feature sve,bf16}}
78 svuzp2q_bf16(bf16
, bf16
);
79 // expected-error@+1 {{'svzip1_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
80 svzip1_bf16(bf16
, bf16
);
81 // expected-error@+1 {{'svzip1q_bf16' needs target feature sve,bf16}}
82 svzip1q_bf16(bf16
, bf16
);
83 // expected-error@+1 {{'svzip2_bf16' needs target feature (sve,bf16)|(sme,bf16)}}
84 svzip2_bf16(bf16
, bf16
);
85 // expected-error@+1 {{'svzip2q_bf16' needs target feature sve,bf16}}
86 svzip2q_bf16(bf16
, bf16
);