Skip to content

Commit 5589096

Browse files
committed
[PowerPC] vec-min-max.ll - regenerate with common check prefixes to reduce duplication. NFC.
1 parent d38addf commit 5589096

File tree

1 file changed

+103
-154
lines changed

1 file changed

+103
-154
lines changed

llvm/test/CodeGen/PowerPC/vec-min-max.ll

Lines changed: 103 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8 \
3-
; RUN: -verify-machineinstrs | FileCheck %s
4-
; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr7 \
5-
; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=NOP8VEC
2+
; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8 -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,PWR8
3+
; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr7 -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,PWR7
4+
65
define <16 x i8> @getsmaxi8(<16 x i8> %a, <16 x i8> %b) {
76
; CHECK-LABEL: getsmaxi8:
87
; CHECK: # %bb.0: # %entry
98
; CHECK-NEXT: vmaxsb 2, 2, 3
109
; CHECK-NEXT: blr
11-
;
12-
; NOP8VEC-LABEL: getsmaxi8:
13-
; NOP8VEC: # %bb.0: # %entry
14-
; NOP8VEC-NEXT: vmaxsb 2, 2, 3
15-
; NOP8VEC-NEXT: blr
1610
entry:
1711
%0 = icmp sgt <16 x i8> %a, %b
1812
%1 = select <16 x i1> %0, <16 x i8> %a, <16 x i8> %b
@@ -24,11 +18,6 @@ define <8 x i16> @getsmaxi16(<8 x i16> %a, <8 x i16> %b) {
2418
; CHECK: # %bb.0: # %entry
2519
; CHECK-NEXT: vmaxsh 2, 2, 3
2620
; CHECK-NEXT: blr
27-
;
28-
; NOP8VEC-LABEL: getsmaxi16:
29-
; NOP8VEC: # %bb.0: # %entry
30-
; NOP8VEC-NEXT: vmaxsh 2, 2, 3
31-
; NOP8VEC-NEXT: blr
3221
entry:
3322
%0 = icmp sgt <8 x i16> %a, %b
3423
%1 = select <8 x i1> %0, <8 x i16> %a, <8 x i16> %b
@@ -40,48 +29,43 @@ define <4 x i32> @getsmaxi32(<4 x i32> %a, <4 x i32> %b) {
4029
; CHECK: # %bb.0: # %entry
4130
; CHECK-NEXT: vmaxsw 2, 2, 3
4231
; CHECK-NEXT: blr
43-
;
44-
; NOP8VEC-LABEL: getsmaxi32:
45-
; NOP8VEC: # %bb.0: # %entry
46-
; NOP8VEC-NEXT: vmaxsw 2, 2, 3
47-
; NOP8VEC-NEXT: blr
4832
entry:
4933
%0 = icmp sgt <4 x i32> %a, %b
5034
%1 = select <4 x i1> %0, <4 x i32> %a, <4 x i32> %b
5135
ret <4 x i32> %1
5236
}
5337

5438
define <2 x i64> @getsmaxi64(<2 x i64> %a, <2 x i64> %b) {
55-
; CHECK-LABEL: getsmaxi64:
56-
; CHECK: # %bb.0: # %entry
57-
; CHECK-NEXT: vmaxsd 2, 2, 3
58-
; CHECK-NEXT: blr
39+
; PWR8-LABEL: getsmaxi64:
40+
; PWR8: # %bb.0: # %entry
41+
; PWR8-NEXT: vmaxsd 2, 2, 3
42+
; PWR8-NEXT: blr
5943
;
60-
; NOP8VEC-LABEL: getsmaxi64:
61-
; NOP8VEC: # %bb.0: # %entry
62-
; NOP8VEC-NEXT: xxswapd 0, 35
63-
; NOP8VEC-NEXT: addi 3, 1, -32
64-
; NOP8VEC-NEXT: xxswapd 1, 34
65-
; NOP8VEC-NEXT: stxvd2x 0, 0, 3
66-
; NOP8VEC-NEXT: addi 3, 1, -48
67-
; NOP8VEC-NEXT: stxvd2x 1, 0, 3
68-
; NOP8VEC-NEXT: ld 3, -24(1)
69-
; NOP8VEC-NEXT: ld 4, -40(1)
70-
; NOP8VEC-NEXT: ld 6, -48(1)
71-
; NOP8VEC-NEXT: cmpd 4, 3
72-
; NOP8VEC-NEXT: li 3, 0
73-
; NOP8VEC-NEXT: li 4, -1
74-
; NOP8VEC-NEXT: iselgt 5, 4, 3
75-
; NOP8VEC-NEXT: std 5, -8(1)
76-
; NOP8VEC-NEXT: ld 5, -32(1)
77-
; NOP8VEC-NEXT: cmpd 6, 5
78-
; NOP8VEC-NEXT: iselgt 3, 4, 3
79-
; NOP8VEC-NEXT: std 3, -16(1)
80-
; NOP8VEC-NEXT: addi 3, 1, -16
81-
; NOP8VEC-NEXT: lxvd2x 0, 0, 3
82-
; NOP8VEC-NEXT: xxswapd 36, 0
83-
; NOP8VEC-NEXT: xxsel 34, 35, 34, 36
84-
; NOP8VEC-NEXT: blr
44+
; PWR7-LABEL: getsmaxi64:
45+
; PWR7: # %bb.0: # %entry
46+
; PWR7-NEXT: xxswapd 0, 35
47+
; PWR7-NEXT: addi 3, 1, -32
48+
; PWR7-NEXT: xxswapd 1, 34
49+
; PWR7-NEXT: stxvd2x 0, 0, 3
50+
; PWR7-NEXT: addi 3, 1, -48
51+
; PWR7-NEXT: stxvd2x 1, 0, 3
52+
; PWR7-NEXT: ld 3, -24(1)
53+
; PWR7-NEXT: ld 4, -40(1)
54+
; PWR7-NEXT: ld 6, -48(1)
55+
; PWR7-NEXT: cmpd 4, 3
56+
; PWR7-NEXT: li 3, 0
57+
; PWR7-NEXT: li 4, -1
58+
; PWR7-NEXT: iselgt 5, 4, 3
59+
; PWR7-NEXT: std 5, -8(1)
60+
; PWR7-NEXT: ld 5, -32(1)
61+
; PWR7-NEXT: cmpd 6, 5
62+
; PWR7-NEXT: iselgt 3, 4, 3
63+
; PWR7-NEXT: std 3, -16(1)
64+
; PWR7-NEXT: addi 3, 1, -16
65+
; PWR7-NEXT: lxvd2x 0, 0, 3
66+
; PWR7-NEXT: xxswapd 36, 0
67+
; PWR7-NEXT: xxsel 34, 35, 34, 36
68+
; PWR7-NEXT: blr
8569
entry:
8670
%0 = icmp sgt <2 x i64> %a, %b
8771
%1 = select <2 x i1> %0, <2 x i64> %a, <2 x i64> %b
@@ -93,11 +77,6 @@ define <4 x float> @getsmaxf32(<4 x float> %a, <4 x float> %b) {
9377
; CHECK: # %bb.0: # %entry
9478
; CHECK-NEXT: xvmaxsp 34, 34, 35
9579
; CHECK-NEXT: blr
96-
;
97-
; NOP8VEC-LABEL: getsmaxf32:
98-
; NOP8VEC: # %bb.0: # %entry
99-
; NOP8VEC-NEXT: xvmaxsp 34, 34, 35
100-
; NOP8VEC-NEXT: blr
10180
entry:
10281
%0 = fcmp nnan nsz oge <4 x float> %a, %b
10382
%1 = select <4 x i1> %0, <4 x float> %a, <4 x float> %b
@@ -109,11 +88,6 @@ define <2 x double> @getsmaxf64(<2 x double> %a, <2 x double> %b) {
10988
; CHECK: # %bb.0: # %entry
11089
; CHECK-NEXT: xvmaxdp 34, 34, 35
11190
; CHECK-NEXT: blr
112-
;
113-
; NOP8VEC-LABEL: getsmaxf64:
114-
; NOP8VEC: # %bb.0: # %entry
115-
; NOP8VEC-NEXT: xvmaxdp 34, 34, 35
116-
; NOP8VEC-NEXT: blr
11791
entry:
11892
%0 = fcmp nnan nsz oge <2 x double> %a, %b
11993
%1 = select <2 x i1> %0, <2 x double> %a, <2 x double> %b
@@ -125,11 +99,6 @@ define <16 x i8> @getsmini8(<16 x i8> %a, <16 x i8> %b) {
12599
; CHECK: # %bb.0: # %entry
126100
; CHECK-NEXT: vminsb 2, 2, 3
127101
; CHECK-NEXT: blr
128-
;
129-
; NOP8VEC-LABEL: getsmini8:
130-
; NOP8VEC: # %bb.0: # %entry
131-
; NOP8VEC-NEXT: vminsb 2, 2, 3
132-
; NOP8VEC-NEXT: blr
133102
entry:
134103
%0 = icmp slt <16 x i8> %a, %b
135104
%1 = select <16 x i1> %0, <16 x i8> %a, <16 x i8> %b
@@ -141,11 +110,6 @@ define <8 x i16> @getsmini16(<8 x i16> %a, <8 x i16> %b) {
141110
; CHECK: # %bb.0: # %entry
142111
; CHECK-NEXT: vminsh 2, 2, 3
143112
; CHECK-NEXT: blr
144-
;
145-
; NOP8VEC-LABEL: getsmini16:
146-
; NOP8VEC: # %bb.0: # %entry
147-
; NOP8VEC-NEXT: vminsh 2, 2, 3
148-
; NOP8VEC-NEXT: blr
149113
entry:
150114
%0 = icmp slt <8 x i16> %a, %b
151115
%1 = select <8 x i1> %0, <8 x i16> %a, <8 x i16> %b
@@ -157,48 +121,43 @@ define <4 x i32> @getsmini32(<4 x i32> %a, <4 x i32> %b) {
157121
; CHECK: # %bb.0: # %entry
158122
; CHECK-NEXT: vminsw 2, 2, 3
159123
; CHECK-NEXT: blr
160-
;
161-
; NOP8VEC-LABEL: getsmini32:
162-
; NOP8VEC: # %bb.0: # %entry
163-
; NOP8VEC-NEXT: vminsw 2, 2, 3
164-
; NOP8VEC-NEXT: blr
165124
entry:
166125
%0 = icmp slt <4 x i32> %a, %b
167126
%1 = select <4 x i1> %0, <4 x i32> %a, <4 x i32> %b
168127
ret <4 x i32> %1
169128
}
170129

171130
define <2 x i64> @getsmini64(<2 x i64> %a, <2 x i64> %b) {
172-
; CHECK-LABEL: getsmini64:
173-
; CHECK: # %bb.0: # %entry
174-
; CHECK-NEXT: vminsd 2, 2, 3
175-
; CHECK-NEXT: blr
131+
; PWR8-LABEL: getsmini64:
132+
; PWR8: # %bb.0: # %entry
133+
; PWR8-NEXT: vminsd 2, 2, 3
134+
; PWR8-NEXT: blr
176135
;
177-
; NOP8VEC-LABEL: getsmini64:
178-
; NOP8VEC: # %bb.0: # %entry
179-
; NOP8VEC-NEXT: xxswapd 0, 35
180-
; NOP8VEC-NEXT: addi 3, 1, -32
181-
; NOP8VEC-NEXT: xxswapd 1, 34
182-
; NOP8VEC-NEXT: stxvd2x 0, 0, 3
183-
; NOP8VEC-NEXT: addi 3, 1, -48
184-
; NOP8VEC-NEXT: stxvd2x 1, 0, 3
185-
; NOP8VEC-NEXT: ld 3, -24(1)
186-
; NOP8VEC-NEXT: ld 4, -40(1)
187-
; NOP8VEC-NEXT: ld 6, -48(1)
188-
; NOP8VEC-NEXT: cmpd 4, 3
189-
; NOP8VEC-NEXT: li 3, 0
190-
; NOP8VEC-NEXT: li 4, -1
191-
; NOP8VEC-NEXT: isellt 5, 4, 3
192-
; NOP8VEC-NEXT: std 5, -8(1)
193-
; NOP8VEC-NEXT: ld 5, -32(1)
194-
; NOP8VEC-NEXT: cmpd 6, 5
195-
; NOP8VEC-NEXT: isellt 3, 4, 3
196-
; NOP8VEC-NEXT: std 3, -16(1)
197-
; NOP8VEC-NEXT: addi 3, 1, -16
198-
; NOP8VEC-NEXT: lxvd2x 0, 0, 3
199-
; NOP8VEC-NEXT: xxswapd 36, 0
200-
; NOP8VEC-NEXT: xxsel 34, 35, 34, 36
201-
; NOP8VEC-NEXT: blr
136+
; PWR7-LABEL: getsmini64:
137+
; PWR7: # %bb.0: # %entry
138+
; PWR7-NEXT: xxswapd 0, 35
139+
; PWR7-NEXT: addi 3, 1, -32
140+
; PWR7-NEXT: xxswapd 1, 34
141+
; PWR7-NEXT: stxvd2x 0, 0, 3
142+
; PWR7-NEXT: addi 3, 1, -48
143+
; PWR7-NEXT: stxvd2x 1, 0, 3
144+
; PWR7-NEXT: ld 3, -24(1)
145+
; PWR7-NEXT: ld 4, -40(1)
146+
; PWR7-NEXT: ld 6, -48(1)
147+
; PWR7-NEXT: cmpd 4, 3
148+
; PWR7-NEXT: li 3, 0
149+
; PWR7-NEXT: li 4, -1
150+
; PWR7-NEXT: isellt 5, 4, 3
151+
; PWR7-NEXT: std 5, -8(1)
152+
; PWR7-NEXT: ld 5, -32(1)
153+
; PWR7-NEXT: cmpd 6, 5
154+
; PWR7-NEXT: isellt 3, 4, 3
155+
; PWR7-NEXT: std 3, -16(1)
156+
; PWR7-NEXT: addi 3, 1, -16
157+
; PWR7-NEXT: lxvd2x 0, 0, 3
158+
; PWR7-NEXT: xxswapd 36, 0
159+
; PWR7-NEXT: xxsel 34, 35, 34, 36
160+
; PWR7-NEXT: blr
202161
entry:
203162
%0 = icmp slt <2 x i64> %a, %b
204163
%1 = select <2 x i1> %0, <2 x i64> %a, <2 x i64> %b
@@ -210,11 +169,6 @@ define <4 x float> @getsminf32(<4 x float> %a, <4 x float> %b) {
210169
; CHECK: # %bb.0: # %entry
211170
; CHECK-NEXT: xvminsp 34, 34, 35
212171
; CHECK-NEXT: blr
213-
;
214-
; NOP8VEC-LABEL: getsminf32:
215-
; NOP8VEC: # %bb.0: # %entry
216-
; NOP8VEC-NEXT: xvminsp 34, 34, 35
217-
; NOP8VEC-NEXT: blr
218172
entry:
219173
%0 = fcmp nnan nsz ole <4 x float> %a, %b
220174
%1 = select <4 x i1> %0, <4 x float> %a, <4 x float> %b
@@ -226,61 +180,56 @@ define <2 x double> @getsminf64(<2 x double> %a, <2 x double> %b) {
226180
; CHECK: # %bb.0: # %entry
227181
; CHECK-NEXT: xvmindp 34, 34, 35
228182
; CHECK-NEXT: blr
229-
;
230-
; NOP8VEC-LABEL: getsminf64:
231-
; NOP8VEC: # %bb.0: # %entry
232-
; NOP8VEC-NEXT: xvmindp 34, 34, 35
233-
; NOP8VEC-NEXT: blr
234183
entry:
235184
%0 = fcmp nnan nsz ole <2 x double> %a, %b
236185
%1 = select <2 x i1> %0, <2 x double> %a, <2 x double> %b
237186
ret <2 x double> %1
238187
}
239188

240189
define i128 @invalidv1i128(<2 x i128> %v1, <2 x i128> %v2) {
241-
; CHECK-LABEL: invalidv1i128:
242-
; CHECK: # %bb.0:
243-
; CHECK-NEXT: mfvsrd 3, 36
244-
; CHECK-NEXT: mfvsrd 4, 34
245-
; CHECK-NEXT: cmpld 4, 3
246-
; CHECK-NEXT: xxswapd 0, 36
247-
; CHECK-NEXT: xxswapd 1, 34
248-
; CHECK-NEXT: cmpd 1, 4, 3
249-
; CHECK-NEXT: mffprd 3, 0
250-
; CHECK-NEXT: mffprd 4, 1
251-
; CHECK-NEXT: crandc 20, 4, 2
252-
; CHECK-NEXT: cmpld 1, 4, 3
253-
; CHECK-NEXT: bc 12, 20, .LBB12_3
254-
; CHECK-NEXT: # %bb.1:
255-
; CHECK-NEXT: crand 20, 2, 4
256-
; CHECK-NEXT: bc 12, 20, .LBB12_3
257-
; CHECK-NEXT: # %bb.2:
258-
; CHECK-NEXT: vmr 2, 4
259-
; CHECK-NEXT: .LBB12_3:
260-
; CHECK-NEXT: xxswapd 0, 34
261-
; CHECK-NEXT: mfvsrd 4, 34
262-
; CHECK-NEXT: mffprd 3, 0
263-
; CHECK-NEXT: blr
190+
; PWR8-LABEL: invalidv1i128:
191+
; PWR8: # %bb.0:
192+
; PWR8-NEXT: mfvsrd 3, 36
193+
; PWR8-NEXT: mfvsrd 4, 34
194+
; PWR8-NEXT: cmpld 4, 3
195+
; PWR8-NEXT: xxswapd 0, 36
196+
; PWR8-NEXT: xxswapd 1, 34
197+
; PWR8-NEXT: cmpd 1, 4, 3
198+
; PWR8-NEXT: mffprd 3, 0
199+
; PWR8-NEXT: mffprd 4, 1
200+
; PWR8-NEXT: crandc 20, 4, 2
201+
; PWR8-NEXT: cmpld 1, 4, 3
202+
; PWR8-NEXT: bc 12, 20, .LBB12_3
203+
; PWR8-NEXT: # %bb.1:
204+
; PWR8-NEXT: crand 20, 2, 4
205+
; PWR8-NEXT: bc 12, 20, .LBB12_3
206+
; PWR8-NEXT: # %bb.2:
207+
; PWR8-NEXT: vmr 2, 4
208+
; PWR8-NEXT: .LBB12_3:
209+
; PWR8-NEXT: xxswapd 0, 34
210+
; PWR8-NEXT: mfvsrd 4, 34
211+
; PWR8-NEXT: mffprd 3, 0
212+
; PWR8-NEXT: blr
264213
;
265-
; NOP8VEC-LABEL: invalidv1i128:
266-
; NOP8VEC: # %bb.0:
267-
; NOP8VEC-NEXT: cmpld 4, 8
268-
; NOP8VEC-NEXT: cmpd 1, 4, 8
269-
; NOP8VEC-NEXT: crandc 20, 4, 2
270-
; NOP8VEC-NEXT: cmpld 1, 3, 7
271-
; NOP8VEC-NEXT: crand 21, 2, 4
272-
; NOP8VEC-NEXT: cror 20, 21, 20
273-
; NOP8VEC-NEXT: isel 3, 3, 7, 20
274-
; NOP8VEC-NEXT: isel 4, 4, 8, 20
275-
; NOP8VEC-NEXT: std 3, -32(1)
276-
; NOP8VEC-NEXT: addi 3, 1, -32
277-
; NOP8VEC-NEXT: std 4, -24(1)
278-
; NOP8VEC-NEXT: lxvd2x 0, 0, 3
279-
; NOP8VEC-NEXT: addi 3, 1, -16
280-
; NOP8VEC-NEXT: stxvd2x 0, 0, 3
281-
; NOP8VEC-NEXT: ld 3, -16(1)
282-
; NOP8VEC-NEXT: ld 4, -8(1)
283-
; NOP8VEC-NEXT: blr
214+
; PWR7-LABEL: invalidv1i128:
215+
; PWR7: # %bb.0:
216+
; PWR7-NEXT: cmpld 4, 8
217+
; PWR7-NEXT: cmpd 1, 4, 8
218+
; PWR7-NEXT: crandc 20, 4, 2
219+
; PWR7-NEXT: cmpld 1, 3, 7
220+
; PWR7-NEXT: crand 21, 2, 4
221+
; PWR7-NEXT: cror 20, 21, 20
222+
; PWR7-NEXT: isel 3, 3, 7, 20
223+
; PWR7-NEXT: isel 4, 4, 8, 20
224+
; PWR7-NEXT: std 3, -32(1)
225+
; PWR7-NEXT: addi 3, 1, -32
226+
; PWR7-NEXT: std 4, -24(1)
227+
; PWR7-NEXT: lxvd2x 0, 0, 3
228+
; PWR7-NEXT: addi 3, 1, -16
229+
; PWR7-NEXT: stxvd2x 0, 0, 3
230+
; PWR7-NEXT: ld 3, -16(1)
231+
; PWR7-NEXT: ld 4, -8(1)
232+
; PWR7-NEXT: blr
284233
%1 = icmp slt <2 x i128> %v1, %v2
285234
%2 = select <2 x i1> %1, <2 x i128> %v1, <2 x i128> %v2
286235
%3 = extractelement <2 x i128> %2, i32 0

0 commit comments

Comments
 (0)