Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / RISCV / rvv / rvv-peephole-vmerge-to-vmv.mir
blob01fff3de0aa8bdfe0503ac377f0bd384088ec679
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
2 # RUN: llc %s -o - -mtriple=riscv64 -mattr=+v -run-pass=riscv-vector-peephole \
3 # RUN:     -verify-machineinstrs | FileCheck %s
5 ---
6 name: undef_passthru
7 body: |
8   bb.0:
9     liveins: $x1, $v8, $v9
10     ; CHECK-LABEL: name: undef_passthru
11     ; CHECK: liveins: $x1, $v8, $v9
12     ; CHECK-NEXT: {{  $}}
13     ; CHECK-NEXT: %false:vr = COPY $v8
14     ; CHECK-NEXT: %true:vr = COPY $v9
15     ; CHECK-NEXT: %avl:gprnox0 = COPY $x1
16     ; CHECK-NEXT: %mask:vmv0 = PseudoVMSET_M_B8 %avl, 5 /* e32 */
17     ; CHECK-NEXT: $v0 = COPY %mask
18     ; CHECK-NEXT: %x:vr = PseudoVMV_V_V_M1 %false, %true, %avl, 5 /* e32 */, 0 /* tu, mu */
19     %false:vr = COPY $v8
20     %true:vr = COPY $v9
21     %avl:gprnox0 = COPY $x1
22     %mask:vmv0 = PseudoVMSET_M_B8 %avl, 5
23     $v0 = COPY %mask
24     %x:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, %false, %true, $v0, %avl, 5
25 ...
26 ---
27 name: undef_false
28 body: |
29   bb.0:
30     liveins: $x1, $v8, $v9
31     ; CHECK-LABEL: name: undef_false
32     ; CHECK: liveins: $x1, $v8, $v9
33     ; CHECK-NEXT: {{  $}}
34     ; CHECK-NEXT: %pt:vrnov0 = COPY $v8
35     ; CHECK-NEXT: %false:vr = COPY $noreg
36     ; CHECK-NEXT: %true:vr = COPY $v9
37     ; CHECK-NEXT: %avl:gprnox0 = COPY $x1
38     ; CHECK-NEXT: %mask:vmv0 = PseudoVMSET_M_B8 %avl, 5 /* e32 */
39     ; CHECK-NEXT: $v0 = COPY %mask
40     ; CHECK-NEXT: %x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, %avl, 5 /* e32 */
41     %pt:vrnov0 = COPY $v8
42     %false:vr = COPY $noreg
43     %true:vr = COPY $v9
44     %avl:gprnox0 = COPY $x1
45     %mask:vmv0 = PseudoVMSET_M_B8 %avl, 5
46     $v0 = COPY %mask
47     %x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, %avl, 5
48 ...
49 ---
50 name: equal_passthru_false
51 body: |
52   bb.0:
53     liveins: $x1, $v8, $v9
54     ; CHECK-LABEL: name: equal_passthru_false
55     ; CHECK: liveins: $x1, $v8, $v9
56     ; CHECK-NEXT: {{  $}}
57     ; CHECK-NEXT: %false:vr = COPY $v8
58     ; CHECK-NEXT: %pt:vrnov0 = COPY $v8
59     ; CHECK-NEXT: %true:vr = COPY $v9
60     ; CHECK-NEXT: %avl:gprnox0 = COPY $x1
61     ; CHECK-NEXT: %mask:vmv0 = PseudoVMSET_M_B8 %avl, 5 /* e32 */
62     ; CHECK-NEXT: $v0 = COPY %mask
63     ; CHECK-NEXT: %x:vr = PseudoVMV_V_V_M1 %false, %true, %avl, 5 /* e32 */, 0 /* tu, mu */
64     %false:vr = COPY $v8
65     %pt:vrnov0 = COPY $v8
66     %true:vr = COPY $v9
67     %avl:gprnox0 = COPY $x1
68     %mask:vmv0 = PseudoVMSET_M_B8 %avl, 5
69     $v0 = COPY %mask
70     %x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, %avl, 5
71 ...