1 // RUN: %clang_cc1 -triple riscv64 -target-feature +zve64x \
2 // RUN: -disable-O0-optnone -o - -fsyntax-only %s -verify
3 // REQUIRES: riscv-registered-target
4 #include <riscv_vector.h>
6 vint64m1_t
test_vsmul_vv_i64m1(vint64m1_t op1
, vint64m1_t op2
, size_t vl
) {
7 return __riscv_vsmul_vv_i64m1(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
9 vint64m1_t
test_vsmul_vx_i64m1(vint64m1_t op1
, int64_t op2
, size_t vl
) {
10 return __riscv_vsmul_vx_i64m1(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
12 vint64m2_t
test_vsmul_vv_i64m2(vint64m2_t op1
, vint64m2_t op2
, size_t vl
) {
13 return __riscv_vsmul_vv_i64m2(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
15 vint64m2_t
test_vsmul_vx_i64m2(vint64m2_t op1
, int64_t op2
, size_t vl
) {
16 return __riscv_vsmul_vx_i64m2(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
18 vint64m4_t
test_vsmul_vv_i64m4(vint64m4_t op1
, vint64m4_t op2
, size_t vl
) {
19 return __riscv_vsmul_vv_i64m4(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
21 vint64m4_t
test_vsmul_vx_i64m4(vint64m4_t op1
, int64_t op2
, size_t vl
) {
22 return __riscv_vsmul_vx_i64m4(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
24 vint64m8_t
test_vsmul_vv_i64m8(vint64m8_t op1
, vint64m8_t op2
, size_t vl
) {
25 return __riscv_vsmul_vv_i64m8(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
27 vint64m8_t
test_vsmul_vx_i64m8(vint64m8_t op1
, int64_t op2
, size_t vl
) {
28 return __riscv_vsmul_vx_i64m8(op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
30 vint64m1_t
test_vsmul_vv_i64m1_m(vbool64_t mask
, vint64m1_t op1
, vint64m1_t op2
, size_t vl
) {
31 return __riscv_vsmul_vv_i64m1_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
33 vint64m1_t
test_vsmul_vx_i64m1_m(vbool64_t mask
, vint64m1_t op1
, int64_t op2
, size_t vl
) {
34 return __riscv_vsmul_vx_i64m1_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
36 vint64m2_t
test_vsmul_vv_i64m2_m(vbool32_t mask
, vint64m2_t op1
, vint64m2_t op2
, size_t vl
) {
37 return __riscv_vsmul_vv_i64m2_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
39 vint64m2_t
test_vsmul_vx_i64m2_m(vbool32_t mask
, vint64m2_t op1
, int64_t op2
, size_t vl
) {
40 return __riscv_vsmul_vx_i64m2_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
42 vint64m4_t
test_vsmul_vv_i64m4_m(vbool16_t mask
, vint64m4_t op1
, vint64m4_t op2
, size_t vl
) {
43 return __riscv_vsmul_vv_i64m4_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
45 vint64m4_t
test_vsmul_vx_i64m4_m(vbool16_t mask
, vint64m4_t op1
, int64_t op2
, size_t vl
) {
46 return __riscv_vsmul_vx_i64m4_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
48 vint64m8_t
test_vsmul_vv_i64m8_m(vbool8_t mask
, vint64m8_t op1
, vint64m8_t op2
, size_t vl
) {
49 return __riscv_vsmul_vv_i64m8_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
51 vint64m8_t
test_vsmul_vx_i64m8_m(vbool8_t mask
, vint64m8_t op1
, int64_t op2
, size_t vl
) {
52 return __riscv_vsmul_vx_i64m8_m(mask
, op1
, op2
, __RISCV_VXRM_RNU
, vl
); /* expected-error {{builtin requires: v}} */
54 vint64m1_t
test_vmulh_vv_i64m1(vint64m1_t op1
, vint64m1_t op2
, size_t vl
) {
55 return __riscv_vmulh_vv_i64m1(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
57 vint64m1_t
test_vmulh_vx_i64m1(vint64m1_t op1
, int64_t op2
, size_t vl
) {
58 return __riscv_vmulh_vx_i64m1(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
60 vint64m2_t
test_vmulh_vv_i64m2(vint64m2_t op1
, vint64m2_t op2
, size_t vl
) {
61 return __riscv_vmulh_vv_i64m2(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
63 vint64m2_t
test_vmulh_vx_i64m2(vint64m2_t op1
, int64_t op2
, size_t vl
) {
64 return __riscv_vmulh_vx_i64m2(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
66 vint64m4_t
test_vmulh_vv_i64m4(vint64m4_t op1
, vint64m4_t op2
, size_t vl
) {
67 return __riscv_vmulh_vv_i64m4(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
69 vint64m4_t
test_vmulh_vx_i64m4(vint64m4_t op1
, int64_t op2
, size_t vl
) {
70 return __riscv_vmulh_vx_i64m4(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
72 vint64m8_t
test_vmulh_vv_i64m8(vint64m8_t op1
, vint64m8_t op2
, size_t vl
) {
73 return __riscv_vmulh_vv_i64m8(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
75 vint64m8_t
test_vmulh_vx_i64m8(vint64m8_t op1
, int64_t op2
, size_t vl
) {
76 return __riscv_vmulh_vx_i64m8(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
78 vint64m1_t
test_vmulh_vv_i64m1_m(vbool64_t mask
, vint64m1_t op1
, vint64m1_t op2
, size_t vl
) {
79 return __riscv_vmulh_vv_i64m1_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
81 vint64m1_t
test_vmulh_vx_i64m1_m(vbool64_t mask
, vint64m1_t op1
, int64_t op2
, size_t vl
) {
82 return __riscv_vmulh_vx_i64m1_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
84 vint64m2_t
test_vmulh_vv_i64m2_m(vbool32_t mask
, vint64m2_t op1
, vint64m2_t op2
, size_t vl
) {
85 return __riscv_vmulh_vv_i64m2_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
87 vint64m2_t
test_vmulh_vx_i64m2_m(vbool32_t mask
, vint64m2_t op1
, int64_t op2
, size_t vl
) {
88 return __riscv_vmulh_vx_i64m2_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
90 vint64m4_t
test_vmulh_vv_i64m4_m(vbool16_t mask
, vint64m4_t op1
, vint64m4_t op2
, size_t vl
) {
91 return __riscv_vmulh_vv_i64m4_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
93 vint64m4_t
test_vmulh_vx_i64m4_m(vbool16_t mask
, vint64m4_t op1
, int64_t op2
, size_t vl
) {
94 return __riscv_vmulh_vx_i64m4_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
96 vint64m8_t
test_vmulh_vv_i64m8_m(vbool8_t mask
, vint64m8_t op1
, vint64m8_t op2
, size_t vl
) {
97 return __riscv_vmulh_vv_i64m8_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
99 vint64m8_t
test_vmulh_vx_i64m8_m(vbool8_t mask
, vint64m8_t op1
, int64_t op2
, size_t vl
) {
100 return __riscv_vmulh_vx_i64m8_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
102 vuint64m1_t
test_vmulhu_vv_u64m1(vuint64m1_t op1
, vuint64m1_t op2
, size_t vl
) {
103 return __riscv_vmulhu_vv_u64m1(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
105 vuint64m1_t
test_vmulhu_vx_u64m1(vuint64m1_t op1
, uint64_t op2
, size_t vl
) {
106 return __riscv_vmulhu_vx_u64m1(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
108 vuint64m2_t
test_vmulhu_vv_u64m2(vuint64m2_t op1
, vuint64m2_t op2
, size_t vl
) {
109 return __riscv_vmulhu_vv_u64m2(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
111 vuint64m2_t
test_vmulhu_vx_u64m2(vuint64m2_t op1
, uint64_t op2
, size_t vl
) {
112 return __riscv_vmulhu_vx_u64m2(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
114 vuint64m4_t
test_vmulhu_vv_u64m4(vuint64m4_t op1
, vuint64m4_t op2
, size_t vl
) {
115 return __riscv_vmulhu_vv_u64m4(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
117 vuint64m4_t
test_vmulhu_vx_u64m4(vuint64m4_t op1
, uint64_t op2
, size_t vl
) {
118 return __riscv_vmulhu_vx_u64m4(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
120 vuint64m8_t
test_vmulhu_vv_u64m8(vuint64m8_t op1
, vuint64m8_t op2
, size_t vl
) {
121 return __riscv_vmulhu_vv_u64m8(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
123 vuint64m8_t
test_vmulhu_vx_u64m8(vuint64m8_t op1
, uint64_t op2
, size_t vl
) {
124 return __riscv_vmulhu_vx_u64m8(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
126 vuint64m1_t
test_vmulhu_vv_u64m1_m(vbool64_t mask
, vuint64m1_t op1
, vuint64m1_t op2
, size_t vl
) {
127 return __riscv_vmulhu_vv_u64m1_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
129 vuint64m1_t
test_vmulhu_vx_u64m1_m(vbool64_t mask
, vuint64m1_t op1
, uint64_t op2
, size_t vl
) {
130 return __riscv_vmulhu_vx_u64m1_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
132 vuint64m2_t
test_vmulhu_vv_u64m2_m(vbool32_t mask
, vuint64m2_t op1
, vuint64m2_t op2
, size_t vl
) {
133 return __riscv_vmulhu_vv_u64m2_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
135 vuint64m2_t
test_vmulhu_vx_u64m2_m(vbool32_t mask
, vuint64m2_t op1
, uint64_t op2
, size_t vl
) {
136 return __riscv_vmulhu_vx_u64m2_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
138 vuint64m4_t
test_vmulhu_vv_u64m4_m(vbool16_t mask
, vuint64m4_t op1
, vuint64m4_t op2
, size_t vl
) {
139 return __riscv_vmulhu_vv_u64m4_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
141 vuint64m4_t
test_vmulhu_vx_u64m4_m(vbool16_t mask
, vuint64m4_t op1
, uint64_t op2
, size_t vl
) {
142 return __riscv_vmulhu_vx_u64m4_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
144 vuint64m8_t
test_vmulhu_vv_u64m8_m(vbool8_t mask
, vuint64m8_t op1
, vuint64m8_t op2
, size_t vl
) {
145 return __riscv_vmulhu_vv_u64m8_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
147 vuint64m8_t
test_vmulhu_vx_u64m8_m(vbool8_t mask
, vuint64m8_t op1
, uint64_t op2
, size_t vl
) {
148 return __riscv_vmulhu_vx_u64m8_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
150 vint64m1_t
test_vmulhsu_vv_i64m1(vint64m1_t op1
, vuint64m1_t op2
, size_t vl
) {
151 return __riscv_vmulhsu_vv_i64m1(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
153 vint64m1_t
test_vmulhsu_vx_i64m1(vint64m1_t op1
, uint64_t op2
, size_t vl
) {
154 return __riscv_vmulhsu_vx_i64m1(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
156 vint64m2_t
test_vmulhsu_vv_i64m2(vint64m2_t op1
, vuint64m2_t op2
, size_t vl
) {
157 return __riscv_vmulhsu_vv_i64m2(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
159 vint64m2_t
test_vmulhsu_vx_i64m2(vint64m2_t op1
, uint64_t op2
, size_t vl
) {
160 return __riscv_vmulhsu_vx_i64m2(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
162 vint64m4_t
test_vmulhsu_vv_i64m4(vint64m4_t op1
, vuint64m4_t op2
, size_t vl
) {
163 return __riscv_vmulhsu_vv_i64m4(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
165 vint64m4_t
test_vmulhsu_vx_i64m4(vint64m4_t op1
, uint64_t op2
, size_t vl
) {
166 return __riscv_vmulhsu_vx_i64m4(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
168 vint64m8_t
test_vmulhsu_vv_i64m8(vint64m8_t op1
, vuint64m8_t op2
, size_t vl
) {
169 return __riscv_vmulhsu_vv_i64m8(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
171 vint64m8_t
test_vmulhsu_vx_i64m8(vint64m8_t op1
, uint64_t op2
, size_t vl
) {
172 return __riscv_vmulhsu_vx_i64m8(op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
174 vint64m1_t
test_vmulhsu_vv_i64m1_m(vbool64_t mask
, vint64m1_t op1
, vuint64m1_t op2
, size_t vl
) {
175 return __riscv_vmulhsu_vv_i64m1_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
177 vint64m1_t
test_vmulhsu_vx_i64m1_m(vbool64_t mask
, vint64m1_t op1
, uint64_t op2
, size_t vl
) {
178 return __riscv_vmulhsu_vx_i64m1_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
180 vint64m2_t
test_vmulhsu_vv_i64m2_m(vbool32_t mask
, vint64m2_t op1
, vuint64m2_t op2
, size_t vl
) {
181 return __riscv_vmulhsu_vv_i64m2_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
183 vint64m2_t
test_vmulhsu_vx_i64m2_m(vbool32_t mask
, vint64m2_t op1
, uint64_t op2
, size_t vl
) {
184 return __riscv_vmulhsu_vx_i64m2_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
186 vint64m4_t
test_vmulhsu_vv_i64m4_m(vbool16_t mask
, vint64m4_t op1
, vuint64m4_t op2
, size_t vl
) {
187 return __riscv_vmulhsu_vv_i64m4_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
189 vint64m4_t
test_vmulhsu_vx_i64m4_m(vbool16_t mask
, vint64m4_t op1
, uint64_t op2
, size_t vl
) {
190 return __riscv_vmulhsu_vx_i64m4_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
192 vint64m8_t
test_vmulhsu_vv_i64m8_m(vbool8_t mask
, vint64m8_t op1
, vuint64m8_t op2
, size_t vl
) {
193 return __riscv_vmulhsu_vv_i64m8_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */
195 vint64m8_t
test_vmulhsu_vx_i64m8_m(vbool8_t mask
, vint64m8_t op1
, uint64_t op2
, size_t vl
) {
196 return __riscv_vmulhsu_vx_i64m8_m(mask
, op1
, op2
, vl
); /* expected-error {{builtin requires: v}} */