Skip to content

Commit 0fee211

Browse files
authored
[RISCV] Remove -riscv-v-fixed-length-vector-lmul-max from tests. NFC (#78299)
Some fixed vector tests in test/CodeGen/RISCV/rvv have multiple run lines that check various configurations of -riscv-v-fixed-length-vector-lmul-max. From what I understand this flag was introduced in the early days of fixed length vector support, but now that fixed vector codegen has matured I'm not sure if it's as relevant today. This patch proposes to remove the various lmul-max run lines from the tests to make them more readable, and any changes to fixed vector codegen easier to review. We have removed them before for the same reason, so this would take care of the remaining test cases: https://reviews.llvm.org/D157973#4593268 (I don't have any strong motivation to remove the actual flag itself, my own personal motivation is just to clean up the tests)
1 parent a2eb234 commit 0fee211

25 files changed

+7653
-19792
lines changed

llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll

Lines changed: 35 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc -mtriple=riscv32 -mattr=+v -riscv-v-fixed-length-vector-lmul-max=2 -verify-machineinstrs < %s | FileCheck %s --check-prefixes=CHECK,LMULMAX2
3-
; RUN: llc -mtriple=riscv64 -mattr=+v -riscv-v-fixed-length-vector-lmul-max=2 -verify-machineinstrs < %s | FileCheck %s --check-prefixes=CHECK,LMULMAX2
4-
; RUN: llc -mtriple=riscv32 -mattr=+v -riscv-v-fixed-length-vector-lmul-max=1 -verify-machineinstrs < %s | FileCheck %s --check-prefixes=CHECK,LMULMAX1-RV32
5-
; RUN: llc -mtriple=riscv64 -mattr=+v -riscv-v-fixed-length-vector-lmul-max=1 -verify-machineinstrs < %s | FileCheck %s --check-prefixes=CHECK,LMULMAX1-RV64
2+
; RUN: llc -mtriple=riscv32 -mattr=+v -verify-machineinstrs < %s | FileCheck %s
3+
; RUN: llc -mtriple=riscv64 -mattr=+v -verify-machineinstrs < %s | FileCheck %s
64

75
define void @abs_v16i8(ptr %x) {
86
; CHECK-LABEL: abs_v16i8:
@@ -87,43 +85,15 @@ define void @abs_v2i64(ptr %x) {
8785
declare <2 x i64> @llvm.abs.v2i64(<2 x i64>, i1)
8886

8987
define void @abs_v32i8(ptr %x) {
90-
; LMULMAX2-LABEL: abs_v32i8:
91-
; LMULMAX2: # %bb.0:
92-
; LMULMAX2-NEXT: li a1, 32
93-
; LMULMAX2-NEXT: vsetvli zero, a1, e8, m2, ta, ma
94-
; LMULMAX2-NEXT: vle8.v v8, (a0)
95-
; LMULMAX2-NEXT: vrsub.vi v10, v8, 0
96-
; LMULMAX2-NEXT: vmax.vv v8, v8, v10
97-
; LMULMAX2-NEXT: vse8.v v8, (a0)
98-
; LMULMAX2-NEXT: ret
99-
;
100-
; LMULMAX1-RV32-LABEL: abs_v32i8:
101-
; LMULMAX1-RV32: # %bb.0:
102-
; LMULMAX1-RV32-NEXT: vsetivli zero, 16, e8, m1, ta, ma
103-
; LMULMAX1-RV32-NEXT: addi a1, a0, 16
104-
; LMULMAX1-RV32-NEXT: vle8.v v8, (a1)
105-
; LMULMAX1-RV32-NEXT: vle8.v v9, (a0)
106-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v8, 0
107-
; LMULMAX1-RV32-NEXT: vmax.vv v8, v8, v10
108-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v9, 0
109-
; LMULMAX1-RV32-NEXT: vmax.vv v9, v9, v10
110-
; LMULMAX1-RV32-NEXT: vse8.v v9, (a0)
111-
; LMULMAX1-RV32-NEXT: vse8.v v8, (a1)
112-
; LMULMAX1-RV32-NEXT: ret
113-
;
114-
; LMULMAX1-RV64-LABEL: abs_v32i8:
115-
; LMULMAX1-RV64: # %bb.0:
116-
; LMULMAX1-RV64-NEXT: vsetivli zero, 16, e8, m1, ta, ma
117-
; LMULMAX1-RV64-NEXT: addi a1, a0, 16
118-
; LMULMAX1-RV64-NEXT: vle8.v v8, (a1)
119-
; LMULMAX1-RV64-NEXT: vle8.v v9, (a0)
120-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v8, 0
121-
; LMULMAX1-RV64-NEXT: vmax.vv v8, v8, v10
122-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v9, 0
123-
; LMULMAX1-RV64-NEXT: vmax.vv v9, v9, v10
124-
; LMULMAX1-RV64-NEXT: vse8.v v9, (a0)
125-
; LMULMAX1-RV64-NEXT: vse8.v v8, (a1)
126-
; LMULMAX1-RV64-NEXT: ret
88+
; CHECK-LABEL: abs_v32i8:
89+
; CHECK: # %bb.0:
90+
; CHECK-NEXT: li a1, 32
91+
; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma
92+
; CHECK-NEXT: vle8.v v8, (a0)
93+
; CHECK-NEXT: vrsub.vi v10, v8, 0
94+
; CHECK-NEXT: vmax.vv v8, v8, v10
95+
; CHECK-NEXT: vse8.v v8, (a0)
96+
; CHECK-NEXT: ret
12797
%a = load <32 x i8>, ptr %x
12898
%b = call <32 x i8> @llvm.abs.v32i8(<32 x i8> %a, i1 false)
12999
store <32 x i8> %b, ptr %x
@@ -132,42 +102,14 @@ define void @abs_v32i8(ptr %x) {
132102
declare <32 x i8> @llvm.abs.v32i8(<32 x i8>, i1)
133103

134104
define void @abs_v16i16(ptr %x) {
135-
; LMULMAX2-LABEL: abs_v16i16:
136-
; LMULMAX2: # %bb.0:
137-
; LMULMAX2-NEXT: vsetivli zero, 16, e16, m2, ta, ma
138-
; LMULMAX2-NEXT: vle16.v v8, (a0)
139-
; LMULMAX2-NEXT: vrsub.vi v10, v8, 0
140-
; LMULMAX2-NEXT: vmax.vv v8, v8, v10
141-
; LMULMAX2-NEXT: vse16.v v8, (a0)
142-
; LMULMAX2-NEXT: ret
143-
;
144-
; LMULMAX1-RV32-LABEL: abs_v16i16:
145-
; LMULMAX1-RV32: # %bb.0:
146-
; LMULMAX1-RV32-NEXT: vsetivli zero, 8, e16, m1, ta, ma
147-
; LMULMAX1-RV32-NEXT: addi a1, a0, 16
148-
; LMULMAX1-RV32-NEXT: vle16.v v8, (a1)
149-
; LMULMAX1-RV32-NEXT: vle16.v v9, (a0)
150-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v8, 0
151-
; LMULMAX1-RV32-NEXT: vmax.vv v8, v8, v10
152-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v9, 0
153-
; LMULMAX1-RV32-NEXT: vmax.vv v9, v9, v10
154-
; LMULMAX1-RV32-NEXT: vse16.v v9, (a0)
155-
; LMULMAX1-RV32-NEXT: vse16.v v8, (a1)
156-
; LMULMAX1-RV32-NEXT: ret
157-
;
158-
; LMULMAX1-RV64-LABEL: abs_v16i16:
159-
; LMULMAX1-RV64: # %bb.0:
160-
; LMULMAX1-RV64-NEXT: vsetivli zero, 8, e16, m1, ta, ma
161-
; LMULMAX1-RV64-NEXT: addi a1, a0, 16
162-
; LMULMAX1-RV64-NEXT: vle16.v v8, (a1)
163-
; LMULMAX1-RV64-NEXT: vle16.v v9, (a0)
164-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v8, 0
165-
; LMULMAX1-RV64-NEXT: vmax.vv v8, v8, v10
166-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v9, 0
167-
; LMULMAX1-RV64-NEXT: vmax.vv v9, v9, v10
168-
; LMULMAX1-RV64-NEXT: vse16.v v9, (a0)
169-
; LMULMAX1-RV64-NEXT: vse16.v v8, (a1)
170-
; LMULMAX1-RV64-NEXT: ret
105+
; CHECK-LABEL: abs_v16i16:
106+
; CHECK: # %bb.0:
107+
; CHECK-NEXT: vsetivli zero, 16, e16, m2, ta, ma
108+
; CHECK-NEXT: vle16.v v8, (a0)
109+
; CHECK-NEXT: vrsub.vi v10, v8, 0
110+
; CHECK-NEXT: vmax.vv v8, v8, v10
111+
; CHECK-NEXT: vse16.v v8, (a0)
112+
; CHECK-NEXT: ret
171113
%a = load <16 x i16>, ptr %x
172114
%b = call <16 x i16> @llvm.abs.v16i16(<16 x i16> %a, i1 false)
173115
store <16 x i16> %b, ptr %x
@@ -176,42 +118,14 @@ define void @abs_v16i16(ptr %x) {
176118
declare <16 x i16> @llvm.abs.v16i16(<16 x i16>, i1)
177119

178120
define void @abs_v8i32(ptr %x) {
179-
; LMULMAX2-LABEL: abs_v8i32:
180-
; LMULMAX2: # %bb.0:
181-
; LMULMAX2-NEXT: vsetivli zero, 8, e32, m2, ta, ma
182-
; LMULMAX2-NEXT: vle32.v v8, (a0)
183-
; LMULMAX2-NEXT: vrsub.vi v10, v8, 0
184-
; LMULMAX2-NEXT: vmax.vv v8, v8, v10
185-
; LMULMAX2-NEXT: vse32.v v8, (a0)
186-
; LMULMAX2-NEXT: ret
187-
;
188-
; LMULMAX1-RV32-LABEL: abs_v8i32:
189-
; LMULMAX1-RV32: # %bb.0:
190-
; LMULMAX1-RV32-NEXT: vsetivli zero, 4, e32, m1, ta, ma
191-
; LMULMAX1-RV32-NEXT: addi a1, a0, 16
192-
; LMULMAX1-RV32-NEXT: vle32.v v8, (a1)
193-
; LMULMAX1-RV32-NEXT: vle32.v v9, (a0)
194-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v8, 0
195-
; LMULMAX1-RV32-NEXT: vmax.vv v8, v8, v10
196-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v9, 0
197-
; LMULMAX1-RV32-NEXT: vmax.vv v9, v9, v10
198-
; LMULMAX1-RV32-NEXT: vse32.v v9, (a0)
199-
; LMULMAX1-RV32-NEXT: vse32.v v8, (a1)
200-
; LMULMAX1-RV32-NEXT: ret
201-
;
202-
; LMULMAX1-RV64-LABEL: abs_v8i32:
203-
; LMULMAX1-RV64: # %bb.0:
204-
; LMULMAX1-RV64-NEXT: vsetivli zero, 4, e32, m1, ta, ma
205-
; LMULMAX1-RV64-NEXT: addi a1, a0, 16
206-
; LMULMAX1-RV64-NEXT: vle32.v v8, (a1)
207-
; LMULMAX1-RV64-NEXT: vle32.v v9, (a0)
208-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v8, 0
209-
; LMULMAX1-RV64-NEXT: vmax.vv v8, v8, v10
210-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v9, 0
211-
; LMULMAX1-RV64-NEXT: vmax.vv v9, v9, v10
212-
; LMULMAX1-RV64-NEXT: vse32.v v9, (a0)
213-
; LMULMAX1-RV64-NEXT: vse32.v v8, (a1)
214-
; LMULMAX1-RV64-NEXT: ret
121+
; CHECK-LABEL: abs_v8i32:
122+
; CHECK: # %bb.0:
123+
; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
124+
; CHECK-NEXT: vle32.v v8, (a0)
125+
; CHECK-NEXT: vrsub.vi v10, v8, 0
126+
; CHECK-NEXT: vmax.vv v8, v8, v10
127+
; CHECK-NEXT: vse32.v v8, (a0)
128+
; CHECK-NEXT: ret
215129
%a = load <8 x i32>, ptr %x
216130
%b = call <8 x i32> @llvm.abs.v8i32(<8 x i32> %a, i1 false)
217131
store <8 x i32> %b, ptr %x
@@ -220,42 +134,14 @@ define void @abs_v8i32(ptr %x) {
220134
declare <8 x i32> @llvm.abs.v8i32(<8 x i32>, i1)
221135

222136
define void @abs_v4i64(ptr %x) {
223-
; LMULMAX2-LABEL: abs_v4i64:
224-
; LMULMAX2: # %bb.0:
225-
; LMULMAX2-NEXT: vsetivli zero, 4, e64, m2, ta, ma
226-
; LMULMAX2-NEXT: vle64.v v8, (a0)
227-
; LMULMAX2-NEXT: vrsub.vi v10, v8, 0
228-
; LMULMAX2-NEXT: vmax.vv v8, v8, v10
229-
; LMULMAX2-NEXT: vse64.v v8, (a0)
230-
; LMULMAX2-NEXT: ret
231-
;
232-
; LMULMAX1-RV32-LABEL: abs_v4i64:
233-
; LMULMAX1-RV32: # %bb.0:
234-
; LMULMAX1-RV32-NEXT: vsetivli zero, 2, e64, m1, ta, ma
235-
; LMULMAX1-RV32-NEXT: addi a1, a0, 16
236-
; LMULMAX1-RV32-NEXT: vle64.v v8, (a1)
237-
; LMULMAX1-RV32-NEXT: vle64.v v9, (a0)
238-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v8, 0
239-
; LMULMAX1-RV32-NEXT: vmax.vv v8, v8, v10
240-
; LMULMAX1-RV32-NEXT: vrsub.vi v10, v9, 0
241-
; LMULMAX1-RV32-NEXT: vmax.vv v9, v9, v10
242-
; LMULMAX1-RV32-NEXT: vse64.v v9, (a0)
243-
; LMULMAX1-RV32-NEXT: vse64.v v8, (a1)
244-
; LMULMAX1-RV32-NEXT: ret
245-
;
246-
; LMULMAX1-RV64-LABEL: abs_v4i64:
247-
; LMULMAX1-RV64: # %bb.0:
248-
; LMULMAX1-RV64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
249-
; LMULMAX1-RV64-NEXT: addi a1, a0, 16
250-
; LMULMAX1-RV64-NEXT: vle64.v v8, (a1)
251-
; LMULMAX1-RV64-NEXT: vle64.v v9, (a0)
252-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v8, 0
253-
; LMULMAX1-RV64-NEXT: vmax.vv v8, v8, v10
254-
; LMULMAX1-RV64-NEXT: vrsub.vi v10, v9, 0
255-
; LMULMAX1-RV64-NEXT: vmax.vv v9, v9, v10
256-
; LMULMAX1-RV64-NEXT: vse64.v v9, (a0)
257-
; LMULMAX1-RV64-NEXT: vse64.v v8, (a1)
258-
; LMULMAX1-RV64-NEXT: ret
137+
; CHECK-LABEL: abs_v4i64:
138+
; CHECK: # %bb.0:
139+
; CHECK-NEXT: vsetivli zero, 4, e64, m2, ta, ma
140+
; CHECK-NEXT: vle64.v v8, (a0)
141+
; CHECK-NEXT: vrsub.vi v10, v8, 0
142+
; CHECK-NEXT: vmax.vv v8, v8, v10
143+
; CHECK-NEXT: vse64.v v8, (a0)
144+
; CHECK-NEXT: ret
259145
%a = load <4 x i64>, ptr %x
260146
%b = call <4 x i64> @llvm.abs.v4i64(<4 x i64> %a, i1 false)
261147
store <4 x i64> %b, ptr %x

0 commit comments

Comments
 (0)