1 // RUN: %clang_cc1 -triple riscv64 \
2 // RUN: -disable-O0-optnone -o - -fsyntax-only %s -verify
3 // REQUIRES: riscv-registered-target
5 __rvv_int8m1_t
foo8() { /* expected-error {{RISC-V type '__rvv_int8m1_t' requires the 'zve32x' extension}} */
6 __rvv_int8m1_t i8m1
; /* expected-error {{RISC-V type '__rvv_int8m1_t' requires the 'zve32x' extension}} */
8 (void)i8m1
; /* expected-error {{RISC-V type '__rvv_int8m1_t' requires the 'zve32x' extension}} */
10 return i8m1
; /* expected-error {{RISC-V type '__rvv_int8m1_t' requires the 'zve32x' extension}} */
13 __rvv_int16m1_t
foo16() { /* expected-error {{RISC-V type '__rvv_int16m1_t' requires the 'zve32x' extension}} */
14 __rvv_int16m1_t i16m1
; /* expected-error {{RISC-V type '__rvv_int16m1_t' requires the 'zve32x' extension}} */
16 (void)i16m1
; /* expected-error {{RISC-V type '__rvv_int16m1_t' requires the 'zve32x' extension}} */
18 return i16m1
; /* expected-error {{RISC-V type '__rvv_int16m1_t' requires the 'zve32x' extension}} */
21 __rvv_int32m1_t
foo32() { /* expected-error {{RISC-V type '__rvv_int32m1_t' requires the 'zve32x' extension}} */
22 __rvv_int32m1_t i32m1
; /* expected-error {{RISC-V type '__rvv_int32m1_t' requires the 'zve32x' extension}} */
24 (void)i32m1
; /* expected-error {{RISC-V type '__rvv_int32m1_t' requires the 'zve32x' extension}} */
26 return i32m1
; /* expected-error {{RISC-V type '__rvv_int32m1_t' requires the 'zve32x' extension}} */
29 __rvv_int8m1x2_t
bar8() { /* expected-error {{RISC-V type '__rvv_int8m1x2_t' requires the 'zve32x' extension}} */
30 __rvv_int8m1x2_t i8m1x2
; /* expected-error {{RISC-V type '__rvv_int8m1x2_t' requires the 'zve32x' extension}} */
32 (void)i8m1x2
; /* expected-error {{RISC-V type '__rvv_int8m1x2_t' requires the 'zve32x' extension}} */
34 return i8m1x2
; /* expected-error {{RISC-V type '__rvv_int8m1x2_t' requires the 'zve32x' extension}} */
37 __rvv_int16m1x2_t
bar16() { /* expected-error {{RISC-V type '__rvv_int16m1x2_t' requires the 'zve32x' extension}} */
38 __rvv_int16m1x2_t i16m1x2
; /* expected-error {{RISC-V type '__rvv_int16m1x2_t' requires the 'zve32x' extension}} */
40 (void)i16m1x2
; /* expected-error {{RISC-V type '__rvv_int16m1x2_t' requires the 'zve32x' extension}} */
42 return i16m1x2
; /* expected-error {{RISC-V type '__rvv_int16m1x2_t' requires the 'zve32x' extension}} */
45 __rvv_int32m1x2_t
bar32() { /* expected-error {{RISC-V type '__rvv_int32m1x2_t' requires the 'zve32x' extension}} */
46 __rvv_int32m1x2_t i32m1x2
; /* expected-error {{RISC-V type '__rvv_int32m1x2_t' requires the 'zve32x' extension}} */
48 (void)i32m1x2
; /* expected-error {{RISC-V type '__rvv_int32m1x2_t' requires the 'zve32x' extension}} */
50 return i32m1x2
; /* expected-error {{RISC-V type '__rvv_int32m1x2_t' requires the 'zve32x' extension}} */
53 __rvv_bool1_t
vbool1 () { /* expected-error {{RISC-V type '__rvv_bool1_t' requires the 'zve32x' extension}} */
54 __rvv_bool1_t b1
; /* expected-error {{RISC-V type '__rvv_bool1_t' requires the 'zve32x' extension}} */
56 (void)b1
; /* expected-error {{RISC-V type '__rvv_bool1_t' requires the 'zve32x' extension}} */
58 return b1
; /* expected-error {{RISC-V type '__rvv_bool1_t' requires the 'zve32x' extension}} */
61 __rvv_bool2_t
vbool2 () { /* expected-error {{RISC-V type '__rvv_bool2_t' requires the 'zve32x' extension}} */
62 __rvv_bool2_t b2
; /* expected-error {{RISC-V type '__rvv_bool2_t' requires the 'zve32x' extension}} */
64 (void)b2
; /* expected-error {{RISC-V type '__rvv_bool2_t' requires the 'zve32x' extension}} */
66 return b2
; /* expected-error {{RISC-V type '__rvv_bool2_t' requires the 'zve32x' extension}} */
69 __rvv_bool4_t
vbool4 () { /* expected-error {{RISC-V type '__rvv_bool4_t' requires the 'zve32x' extension}} */
70 __rvv_bool4_t b4
; /* expected-error {{RISC-V type '__rvv_bool4_t' requires the 'zve32x' extension}} */
72 (void)b4
; /* expected-error {{RISC-V type '__rvv_bool4_t' requires the 'zve32x' extension}} */
74 return b4
; /* expected-error {{RISC-V type '__rvv_bool4_t' requires the 'zve32x' extension}} */
77 __rvv_bool8_t
vbool8 () { /* expected-error {{RISC-V type '__rvv_bool8_t' requires the 'zve32x' extension}} */
78 __rvv_bool8_t b8
; /* expected-error {{RISC-V type '__rvv_bool8_t' requires the 'zve32x' extension}} */
80 (void)b8
; /* expected-error {{RISC-V type '__rvv_bool8_t' requires the 'zve32x' extension}} */
82 return b8
; /* expected-error {{RISC-V type '__rvv_bool8_t' requires the 'zve32x' extension}} */
85 __rvv_bool16_t
vbool16 () { /* expected-error {{RISC-V type '__rvv_bool16_t' requires the 'zve32x' extension}} */
86 __rvv_bool16_t b16
; /* expected-error {{RISC-V type '__rvv_bool16_t' requires the 'zve32x' extension}} */
88 (void)b16
; /* expected-error {{RISC-V type '__rvv_bool16_t' requires the 'zve32x' extension}} */
90 return b16
; /* expected-error {{RISC-V type '__rvv_bool16_t' requires the 'zve32x' extension}} */
93 __rvv_bool32_t
vbool32 () { /* expected-error {{RISC-V type '__rvv_bool32_t' requires the 'zve32x' extension}} */
94 __rvv_bool32_t b32
; /* expected-error {{RISC-V type '__rvv_bool32_t' requires the 'zve32x' extension}} */
96 (void)b32
; /* expected-error {{RISC-V type '__rvv_bool32_t' requires the 'zve32x' extension}} */
98 return b32
; /* expected-error {{RISC-V type '__rvv_bool32_t' requires the 'zve32x' extension}} */
101 __rvv_bool64_t
vbool64 () { /* expected-error {{RISC-V type '__rvv_bool64_t' requires the 'zve32x' extension}} */
102 __rvv_bool64_t b64
; /* expected-error {{RISC-V type '__rvv_bool64_t' requires the 'zve32x' extension}} */
104 (void)b64
; /* expected-error {{RISC-V type '__rvv_bool64_t' requires the 'zve32x' extension}} */
106 return b64
; /* expected-error {{RISC-V type '__rvv_bool64_t' requires the 'zve32x' extension}} */