1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=riscv32 -mattr=+v -verify-machineinstrs < %s \
3 ; RUN: | FileCheck %s --check-prefixes=CHECK
4 ; RUN: llc -mtriple=riscv64 -mattr=+v -verify-machineinstrs < %s \
5 ; RUN: | FileCheck %s --check-prefixes=CHECK
8 declare <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1>, <2 x i1>, metadata, <2 x i1>, i32)
10 define <2 x i1> @icmp_eq_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
11 ; CHECK-LABEL: icmp_eq_vv_v2i1:
13 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
14 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
16 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"eq", <2 x i1> %m, i32 %evl)
20 declare <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1>, <4 x i1>, metadata, <4 x i1>, i32)
22 define <4 x i1> @icmp_eq_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
23 ; CHECK-LABEL: icmp_eq_vv_v4i1:
25 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
26 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
28 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"eq", <4 x i1> %m, i32 %evl)
32 declare <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1>, <8 x i1>, metadata, <8 x i1>, i32)
34 define <8 x i1> @icmp_eq_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
35 ; CHECK-LABEL: icmp_eq_vv_v8i1:
37 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
38 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
40 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"eq", <8 x i1> %m, i32 %evl)
44 declare <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1>, <16 x i1>, metadata, <16 x i1>, i32)
46 define <16 x i1> @icmp_eq_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
47 ; CHECK-LABEL: icmp_eq_vv_v16i1:
49 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
50 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
52 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"eq", <16 x i1> %m, i32 %evl)
56 define <2 x i1> @icmp_ne_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
57 ; CHECK-LABEL: icmp_ne_vv_v2i1:
59 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
60 ; CHECK-NEXT: vmxor.mm v0, v0, v8
62 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"ne", <2 x i1> %m, i32 %evl)
66 define <4 x i1> @icmp_ne_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
67 ; CHECK-LABEL: icmp_ne_vv_v4i1:
69 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
70 ; CHECK-NEXT: vmxor.mm v0, v0, v8
72 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"ne", <4 x i1> %m, i32 %evl)
76 define <8 x i1> @icmp_ne_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
77 ; CHECK-LABEL: icmp_ne_vv_v8i1:
79 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
80 ; CHECK-NEXT: vmxor.mm v0, v0, v8
82 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"ne", <8 x i1> %m, i32 %evl)
86 define <16 x i1> @icmp_ne_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
87 ; CHECK-LABEL: icmp_ne_vv_v16i1:
89 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
90 ; CHECK-NEXT: vmxor.mm v0, v0, v8
92 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"ne", <16 x i1> %m, i32 %evl)
96 define <2 x i1> @icmp_slt_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
97 ; CHECK-LABEL: icmp_slt_vv_v2i1:
99 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
100 ; CHECK-NEXT: vmandn.mm v0, v0, v8
102 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"slt", <2 x i1> %m, i32 %evl)
106 define <4 x i1> @icmp_slt_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
107 ; CHECK-LABEL: icmp_slt_vv_v4i1:
109 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
110 ; CHECK-NEXT: vmandn.mm v0, v0, v8
112 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"slt", <4 x i1> %m, i32 %evl)
116 define <8 x i1> @icmp_slt_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
117 ; CHECK-LABEL: icmp_slt_vv_v8i1:
119 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
120 ; CHECK-NEXT: vmandn.mm v0, v0, v8
122 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"slt", <8 x i1> %m, i32 %evl)
126 define <16 x i1> @icmp_slt_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
127 ; CHECK-LABEL: icmp_slt_vv_v16i1:
129 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
130 ; CHECK-NEXT: vmandn.mm v0, v0, v8
132 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"slt", <16 x i1> %m, i32 %evl)
136 define <2 x i1> @icmp_ult_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
137 ; CHECK-LABEL: icmp_ult_vv_v2i1:
139 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
140 ; CHECK-NEXT: vmandn.mm v0, v8, v0
142 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"ult", <2 x i1> %m, i32 %evl)
146 define <4 x i1> @icmp_ult_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
147 ; CHECK-LABEL: icmp_ult_vv_v4i1:
149 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
150 ; CHECK-NEXT: vmandn.mm v0, v8, v0
152 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"ult", <4 x i1> %m, i32 %evl)
156 define <8 x i1> @icmp_ult_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
157 ; CHECK-LABEL: icmp_ult_vv_v8i1:
159 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
160 ; CHECK-NEXT: vmandn.mm v0, v8, v0
162 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"ult", <8 x i1> %m, i32 %evl)
166 define <16 x i1> @icmp_ult_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
167 ; CHECK-LABEL: icmp_ult_vv_v16i1:
169 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
170 ; CHECK-NEXT: vmandn.mm v0, v8, v0
172 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"ult", <16 x i1> %m, i32 %evl)
176 define <2 x i1> @icmp_sgt_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
177 ; CHECK-LABEL: icmp_sgt_vv_v2i1:
179 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
180 ; CHECK-NEXT: vmandn.mm v0, v8, v0
182 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"sgt", <2 x i1> %m, i32 %evl)
186 define <4 x i1> @icmp_sgt_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
187 ; CHECK-LABEL: icmp_sgt_vv_v4i1:
189 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
190 ; CHECK-NEXT: vmandn.mm v0, v8, v0
192 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"sgt", <4 x i1> %m, i32 %evl)
196 define <8 x i1> @icmp_sgt_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
197 ; CHECK-LABEL: icmp_sgt_vv_v8i1:
199 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
200 ; CHECK-NEXT: vmandn.mm v0, v8, v0
202 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"sgt", <8 x i1> %m, i32 %evl)
206 define <16 x i1> @icmp_sgt_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
207 ; CHECK-LABEL: icmp_sgt_vv_v16i1:
209 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
210 ; CHECK-NEXT: vmandn.mm v0, v8, v0
212 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"sgt", <16 x i1> %m, i32 %evl)
216 define <2 x i1> @icmp_ugt_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
217 ; CHECK-LABEL: icmp_ugt_vv_v2i1:
219 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
220 ; CHECK-NEXT: vmandn.mm v0, v0, v8
222 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"ugt", <2 x i1> %m, i32 %evl)
226 define <4 x i1> @icmp_ugt_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
227 ; CHECK-LABEL: icmp_ugt_vv_v4i1:
229 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
230 ; CHECK-NEXT: vmandn.mm v0, v0, v8
232 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"ugt", <4 x i1> %m, i32 %evl)
236 define <8 x i1> @icmp_ugt_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
237 ; CHECK-LABEL: icmp_ugt_vv_v8i1:
239 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
240 ; CHECK-NEXT: vmandn.mm v0, v0, v8
242 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"ugt", <8 x i1> %m, i32 %evl)
246 define <16 x i1> @icmp_ugt_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
247 ; CHECK-LABEL: icmp_ugt_vv_v16i1:
249 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
250 ; CHECK-NEXT: vmandn.mm v0, v0, v8
252 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"ugt", <16 x i1> %m, i32 %evl)
256 define <2 x i1> @icmp_sle_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
257 ; CHECK-LABEL: icmp_sle_vv_v2i1:
259 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
260 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
262 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"sle", <2 x i1> %m, i32 %evl)
266 define <4 x i1> @icmp_sle_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
267 ; CHECK-LABEL: icmp_sle_vv_v4i1:
269 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
270 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
272 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"sle", <4 x i1> %m, i32 %evl)
276 define <8 x i1> @icmp_sle_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
277 ; CHECK-LABEL: icmp_sle_vv_v8i1:
279 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
280 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
282 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"sle", <8 x i1> %m, i32 %evl)
286 define <16 x i1> @icmp_sle_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
287 ; CHECK-LABEL: icmp_sle_vv_v16i1:
289 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
290 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
292 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"sle", <16 x i1> %m, i32 %evl)
296 define <2 x i1> @icmp_ule_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
297 ; CHECK-LABEL: icmp_ule_vv_v2i1:
299 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
300 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
302 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"ule", <2 x i1> %m, i32 %evl)
306 define <4 x i1> @icmp_ule_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
307 ; CHECK-LABEL: icmp_ule_vv_v4i1:
309 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
310 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
312 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"ule", <4 x i1> %m, i32 %evl)
316 define <8 x i1> @icmp_ule_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
317 ; CHECK-LABEL: icmp_ule_vv_v8i1:
319 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
320 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
322 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"ule", <8 x i1> %m, i32 %evl)
326 define <16 x i1> @icmp_ule_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
327 ; CHECK-LABEL: icmp_ule_vv_v16i1:
329 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
330 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
332 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"ule", <16 x i1> %m, i32 %evl)
336 define <2 x i1> @icmp_sge_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
337 ; CHECK-LABEL: icmp_sge_vv_v2i1:
339 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
340 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
342 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"sge", <2 x i1> %m, i32 %evl)
346 define <4 x i1> @icmp_sge_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
347 ; CHECK-LABEL: icmp_sge_vv_v4i1:
349 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
350 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
352 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"sge", <4 x i1> %m, i32 %evl)
356 define <8 x i1> @icmp_sge_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
357 ; CHECK-LABEL: icmp_sge_vv_v8i1:
359 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
360 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
362 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"sge", <8 x i1> %m, i32 %evl)
366 define <16 x i1> @icmp_sge_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
367 ; CHECK-LABEL: icmp_sge_vv_v16i1:
369 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
370 ; CHECK-NEXT: vmxnor.mm v0, v0, v8
372 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"sge", <16 x i1> %m, i32 %evl)
376 define <2 x i1> @icmp_uge_vv_v2i1(<2 x i1> %va, <2 x i1> %vb, <2 x i1> %m, i32 zeroext %evl) {
377 ; CHECK-LABEL: icmp_uge_vv_v2i1:
379 ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
380 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
382 %v = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> %va, <2 x i1> %vb, metadata !"uge", <2 x i1> %m, i32 %evl)
386 define <4 x i1> @icmp_uge_vv_v4i1(<4 x i1> %va, <4 x i1> %vb, <4 x i1> %m, i32 zeroext %evl) {
387 ; CHECK-LABEL: icmp_uge_vv_v4i1:
389 ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
390 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
392 %v = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> %va, <4 x i1> %vb, metadata !"uge", <4 x i1> %m, i32 %evl)
396 define <8 x i1> @icmp_uge_vv_v8i1(<8 x i1> %va, <8 x i1> %vb, <8 x i1> %m, i32 zeroext %evl) {
397 ; CHECK-LABEL: icmp_uge_vv_v8i1:
399 ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma
400 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
402 %v = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> %va, <8 x i1> %vb, metadata !"uge", <8 x i1> %m, i32 %evl)
406 define <16 x i1> @icmp_uge_vv_v16i1(<16 x i1> %va, <16 x i1> %vb, <16 x i1> %m, i32 zeroext %evl) {
407 ; CHECK-LABEL: icmp_uge_vv_v16i1:
409 ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
410 ; CHECK-NEXT: vmxnor.mm v0, v8, v0
412 %v = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> %va, <16 x i1> %vb, metadata !"uge", <16 x i1> %m, i32 %evl)