[X86] IsNOT - don't fold not(pcmpgt(C1, C2)) -> pcmpgt(C2, C1 - 1)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / rvv / vmclr-rv64.mir
blob403a5f6a14ac97b2b1f01cb55950e8355b0fd17e
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -mattr=+v,+m -run-pass=instruction-select \
3 # RUN:   -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s
5 ---
6 name:            splat_zero_nxv1i1
7 legalized:       true
8 regBankSelected: true
9 tracksRegLiveness: true
10 body:             |
11   bb.1:
12     ; CHECK-LABEL: name: splat_zero_nxv1i1
13     ; CHECK: [[PseudoVMCLR_M_B64_:%[0-9]+]]:vr = PseudoVMCLR_M_B64 -1, 0 /* e8 */
14     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B64_]]
15     ; CHECK-NEXT: PseudoRET implicit $v0
16     %0:gprb(s64) = G_CONSTANT i64 -1
17     %1:vrb(<vscale x 1 x s1>) = G_VMCLR_VL %0(s64)
18     $v0 = COPY %1(<vscale x 1 x s1>)
19     PseudoRET implicit $v0
21 ...
22 ---
23 name:            splat_zero_nxv2i1
24 legalized:       true
25 regBankSelected: true
26 tracksRegLiveness: true
27 body:             |
28   bb.1:
29     ; CHECK-LABEL: name: splat_zero_nxv2i1
30     ; CHECK: [[PseudoVMCLR_M_B32_:%[0-9]+]]:vr = PseudoVMCLR_M_B32 -1, 0 /* e8 */
31     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B32_]]
32     ; CHECK-NEXT: PseudoRET implicit $v0
33     %0:gprb(s64) = G_CONSTANT i64 -1
34     %1:vrb(<vscale x 2 x s1>) = G_VMCLR_VL %0(s64)
35     $v0 = COPY %1(<vscale x 2 x s1>)
36     PseudoRET implicit $v0
38 ...
39 ---
40 name:            splat_zero_nxv4i1
41 legalized:       true
42 regBankSelected: true
43 tracksRegLiveness: true
44 body:             |
45   bb.1:
46     ; CHECK-LABEL: name: splat_zero_nxv4i1
47     ; CHECK: [[PseudoVMCLR_M_B16_:%[0-9]+]]:vr = PseudoVMCLR_M_B16 -1, 0 /* e8 */
48     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B16_]]
49     ; CHECK-NEXT: PseudoRET implicit $v0
50     %0:gprb(s64) = G_CONSTANT i64 -1
51     %1:vrb(<vscale x 4 x s1>) = G_VMCLR_VL %0(s64)
52     $v0 = COPY %1(<vscale x 4 x s1>)
53     PseudoRET implicit $v0
55 ...
56 ---
57 name:            splat_zero_nxv8i1
58 legalized:       true
59 regBankSelected: true
60 tracksRegLiveness: true
61 body:             |
62   bb.1:
63     ; CHECK-LABEL: name: splat_zero_nxv8i1
64     ; CHECK: [[PseudoVMCLR_M_B8_:%[0-9]+]]:vr = PseudoVMCLR_M_B8 -1, 0 /* e8 */
65     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B8_]]
66     ; CHECK-NEXT: PseudoRET implicit $v0
67     %0:gprb(s64) = G_CONSTANT i64 -1
68     %1:vrb(<vscale x 8 x s1>) = G_VMCLR_VL %0(s64)
69     $v0 = COPY %1(<vscale x 8 x s1>)
70     PseudoRET implicit $v0
72 ...
73 ---
74 name:            splat_zero_nxv16i1
75 legalized:       true
76 regBankSelected: true
77 tracksRegLiveness: true
78 body:             |
79   bb.1:
80     ; CHECK-LABEL: name: splat_zero_nxv16i1
81     ; CHECK: [[PseudoVMCLR_M_B4_:%[0-9]+]]:vr = PseudoVMCLR_M_B4 -1, 0 /* e8 */
82     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B4_]]
83     ; CHECK-NEXT: PseudoRET implicit $v0
84     %0:gprb(s64) = G_CONSTANT i64 -1
85     %1:vrb(<vscale x 16 x s1>) = G_VMCLR_VL %0(s64)
86     $v0 = COPY %1(<vscale x 16 x s1>)
87     PseudoRET implicit $v0
89 ...
90 ---
91 name:            splat_zero_nxv32i1
92 legalized:       true
93 regBankSelected: true
94 tracksRegLiveness: true
95 body:             |
96   bb.1:
97     ; CHECK-LABEL: name: splat_zero_nxv32i1
98     ; CHECK: [[PseudoVMCLR_M_B2_:%[0-9]+]]:vr = PseudoVMCLR_M_B2 -1, 0 /* e8 */
99     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B2_]]
100     ; CHECK-NEXT: PseudoRET implicit $v0
101     %0:gprb(s64) = G_CONSTANT i64 -1
102     %1:vrb(<vscale x 32 x s1>) = G_VMCLR_VL %0(s64)
103     $v0 = COPY %1(<vscale x 32 x s1>)
104     PseudoRET implicit $v0
108 name:            splat_zero_nxv64i1
109 legalized:       true
110 regBankSelected: true
111 tracksRegLiveness: true
112 body:             |
113   bb.1:
114     ; CHECK-LABEL: name: splat_zero_nxv64i1
115     ; CHECK: [[PseudoVMCLR_M_B1_:%[0-9]+]]:vr = PseudoVMCLR_M_B1 -1, 0 /* e8 */
116     ; CHECK-NEXT: $v0 = COPY [[PseudoVMCLR_M_B1_]]
117     ; CHECK-NEXT: PseudoRET implicit $v0
118     %0:gprb(s64) = G_CONSTANT i64 -1
119     %1:vrb(<vscale x 64 x s1>) = G_VMCLR_VL %0(s64)
120     $v0 = COPY %1(<vscale x 64 x s1>)
121     PseudoRET implicit $v0