[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / rvv / vscale64.mir
blob4a96be2471f8bfac252defc8e7b64d78747d8031
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:            test_1
7 legalized:       true
8 regBankSelected: true
9 tracksRegLiveness: true
10 body:             |
11   bb.0.entry:
12     ; CHECK-LABEL: name: test_1
13     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
14     ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[PseudoReadVLENB]], 3
15     ; CHECK-NEXT: $x10 = COPY [[SRLI]]
16     ; CHECK-NEXT: PseudoRET implicit $x10
17     %0:gprb(s64) = G_READ_VLENB
18     %1:gprb(s64) = G_CONSTANT i64 3
19     %2:gprb(s64) = G_LSHR %0, %1(s64)
20     $x10 = COPY %2(s64)
21     PseudoRET implicit $x10
23 ...
24 ---
25 name:            test_2
26 legalized:       true
27 regBankSelected: true
28 tracksRegLiveness: true
29 body:             |
30   bb.0.entry:
31     ; CHECK-LABEL: name: test_2
32     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
33     ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[PseudoReadVLENB]], 2
34     ; CHECK-NEXT: $x10 = COPY [[SRLI]]
35     ; CHECK-NEXT: PseudoRET implicit $x10
36     %0:gprb(s64) = G_READ_VLENB
37     %1:gprb(s64) = G_CONSTANT i64 2
38     %2:gprb(s64) = G_LSHR %0, %1(s64)
39     $x10 = COPY %2(s64)
40     PseudoRET implicit $x10
42 ...
43 ---
44 name:            test_3
45 legalized:       true
46 regBankSelected: true
47 tracksRegLiveness: true
48 body:             |
49   bb.0.entry:
50     ; CHECK-LABEL: name: test_3
51     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
52     ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[PseudoReadVLENB]], 3
53     ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 3
54     ; CHECK-NEXT: [[MUL:%[0-9]+]]:gpr = MUL [[SRLI]], [[ADDI]]
55     ; CHECK-NEXT: $x10 = COPY [[MUL]]
56     ; CHECK-NEXT: PseudoRET implicit $x10
57     %0:gprb(s64) = G_READ_VLENB
58     %1:gprb(s64) = G_CONSTANT i64 3
59     %2:gprb(s64) = G_LSHR %0, %1(s64)
60     %3:gprb(s64) = G_CONSTANT i64 3
61     %4:gprb(s64) = G_MUL %2, %3
62     $x10 = COPY %4(s64)
63     PseudoRET implicit $x10
65 ...
66 ---
67 name:            test_4
68 legalized:       true
69 regBankSelected: true
70 tracksRegLiveness: true
71 body:             |
72   bb.0.entry:
73     ; CHECK-LABEL: name: test_4
74     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
75     ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[PseudoReadVLENB]], 1
76     ; CHECK-NEXT: $x10 = COPY [[SRLI]]
77     ; CHECK-NEXT: PseudoRET implicit $x10
78     %0:gprb(s64) = G_READ_VLENB
79     %1:gprb(s64) = G_CONSTANT i64 1
80     %2:gprb(s64) = G_LSHR %0, %1(s64)
81     $x10 = COPY %2(s64)
82     PseudoRET implicit $x10
84 ...
85 ---
86 name:            test_8
87 legalized:       true
88 regBankSelected: true
89 tracksRegLiveness: true
90 body:             |
91   bb.0.entry:
92     ; CHECK-LABEL: name: test_8
93     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
94     ; CHECK-NEXT: $x10 = COPY [[PseudoReadVLENB]]
95     ; CHECK-NEXT: PseudoRET implicit $x10
96     %0:gprb(s64) = G_READ_VLENB
97     $x10 = COPY %0(s64)
98     PseudoRET implicit $x10
102 name:            test_16
103 legalized:       true
104 regBankSelected: true
105 tracksRegLiveness: true
106 body:             |
107   bb.0.entry:
108     ; CHECK-LABEL: name: test_16
109     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
110     ; CHECK-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[PseudoReadVLENB]], 1
111     ; CHECK-NEXT: $x10 = COPY [[SLLI]]
112     ; CHECK-NEXT: PseudoRET implicit $x10
113     %0:gprb(s64) = G_READ_VLENB
114     %1:gprb(s64) = G_CONSTANT i64 1
115     %2:gprb(s64) = G_SHL %0, %1(s64)
116     $x10 = COPY %2(s64)
117     PseudoRET implicit $x10
121 name:            test_40
122 legalized:       true
123 regBankSelected: true
124 tracksRegLiveness: true
125 body:             |
126   bb.0.entry:
127     ; CHECK-LABEL: name: test_40
128     ; CHECK: [[PseudoReadVLENB:%[0-9]+]]:gpr = PseudoReadVLENB
129     ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 5
130     ; CHECK-NEXT: [[MUL:%[0-9]+]]:gpr = MUL [[PseudoReadVLENB]], [[ADDI]]
131     ; CHECK-NEXT: $x10 = COPY [[MUL]]
132     ; CHECK-NEXT: PseudoRET implicit $x10
133     %0:gprb(s64) = G_READ_VLENB
134     %1:gprb(s64) = G_CONSTANT i64 5
135     %2:gprb(s64) = G_MUL %0, %1
136     $x10 = COPY %2(s64)
137     PseudoRET implicit $x10