xref: /llvm-project/llvm/test/CodeGen/ARM/fp16-vminmaxnm-vector.ll (revision b264944ed5aade774c89ad9d820037e4b02798f0)
1*b264944eSSjoerd Meijer; RUN: llc < %s -mtriple=arm-eabi -mattr=+v8.2a,+neon,+fullfp16 -float-abi=hard | FileCheck %s
2*b264944eSSjoerd Meijer; RUN: llc < %s -mtriple=thumbv7a -mattr=+v8.2a,+neon,+fullfp16 -float-abi=hard | FileCheck %s
3*b264944eSSjoerd Meijer
4*b264944eSSjoerd Meijer; 4-element vector
5*b264944eSSjoerd Meijer
6*b264944eSSjoerd Meijer; Ordered
7*b264944eSSjoerd Meijer
8*b264944eSSjoerd Meijerdefine <4 x half> @test1(<4 x half> %A, <4 x half> %B) {
9*b264944eSSjoerd Meijer; CHECK-LABEL: test1:
10*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
11*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
12*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ogt <4 x half> %A, %B
13*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
14*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
15*b264944eSSjoerd Meijer}
16*b264944eSSjoerd Meijer
17*b264944eSSjoerd Meijerdefine <4 x half> @test2(<4 x half> %A, <4 x half> %B) {
18*b264944eSSjoerd Meijer; CHECK-LABEL: test2:
19*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
20*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
21*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ogt <4 x half> %A, %B
22*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
23*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
24*b264944eSSjoerd Meijer}
25*b264944eSSjoerd Meijer
26*b264944eSSjoerd Meijerdefine <4 x half> @test3(<4 x half> %A, <4 x half> %B) {
27*b264944eSSjoerd Meijer; CHECK-LABEL: test3:
28*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
29*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
30*b264944eSSjoerd Meijer  %tmp3 = fcmp fast oge <4 x half> %A, %B
31*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
32*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
33*b264944eSSjoerd Meijer}
34*b264944eSSjoerd Meijer
35*b264944eSSjoerd Meijerdefine <4 x half> @test4(<4 x half> %A, <4 x half> %B) {
36*b264944eSSjoerd Meijer; CHECK-LABEL: test4:
37*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
38*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
39*b264944eSSjoerd Meijer  %tmp3 = fcmp fast oge <4 x half> %A, %B
40*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
41*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
42*b264944eSSjoerd Meijer}
43*b264944eSSjoerd Meijer
44*b264944eSSjoerd Meijerdefine <4 x half> @test5(<4 x half> %A, <4 x half> %B) {
45*b264944eSSjoerd Meijer; CHECK-LABEL: test5:
46*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
47*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
48*b264944eSSjoerd Meijer  %tmp3 = fcmp fast olt <4 x half> %A, %B
49*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
50*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
51*b264944eSSjoerd Meijer}
52*b264944eSSjoerd Meijer
53*b264944eSSjoerd Meijerdefine <4 x half> @test6(<4 x half> %A, <4 x half> %B) {
54*b264944eSSjoerd Meijer; CHECK-LABEL: test6:
55*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
56*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
57*b264944eSSjoerd Meijer  %tmp3 = fcmp fast olt <4 x half> %A, %B
58*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
59*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
60*b264944eSSjoerd Meijer}
61*b264944eSSjoerd Meijer
62*b264944eSSjoerd Meijerdefine <4 x half> @test7(<4 x half> %A, <4 x half> %B) {
63*b264944eSSjoerd Meijer; CHECK-LABEL: test7:
64*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
65*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
66*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ole <4 x half> %A, %B
67*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
68*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
69*b264944eSSjoerd Meijer}
70*b264944eSSjoerd Meijer
71*b264944eSSjoerd Meijerdefine <4 x half> @test8(<4 x half> %A, <4 x half> %B) {
72*b264944eSSjoerd Meijer; CHECK-LABEL: test8:
73*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
74*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
75*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ole <4 x half> %A, %B
76*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
77*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
78*b264944eSSjoerd Meijer}
79*b264944eSSjoerd Meijer
80*b264944eSSjoerd Meijer; Unordered
81*b264944eSSjoerd Meijer
82*b264944eSSjoerd Meijerdefine <4 x half> @test11(<4 x half> %A, <4 x half> %B) {
83*b264944eSSjoerd Meijer; CHECK-LABEL: test11:
84*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
85*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
86*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ugt <4 x half> %A, %B
87*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
88*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
89*b264944eSSjoerd Meijer}
90*b264944eSSjoerd Meijer
91*b264944eSSjoerd Meijerdefine <4 x half> @test12(<4 x half> %A, <4 x half> %B) {
92*b264944eSSjoerd Meijer; CHECK-LABEL: test12:
93*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
94*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
95*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ugt <4 x half> %A, %B
96*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
97*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
98*b264944eSSjoerd Meijer}
99*b264944eSSjoerd Meijer
100*b264944eSSjoerd Meijerdefine <4 x half> @test13(<4 x half> %A, <4 x half> %B) {
101*b264944eSSjoerd Meijer; CHECK-LABEL: test13:
102*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
103*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
104*b264944eSSjoerd Meijer  %tmp3 = fcmp fast uge <4 x half> %A, %B
105*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
106*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
107*b264944eSSjoerd Meijer}
108*b264944eSSjoerd Meijer
109*b264944eSSjoerd Meijerdefine <4 x half> @test14(<4 x half> %A, <4 x half> %B) {
110*b264944eSSjoerd Meijer; CHECK-LABEL: test14:
111*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
112*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
113*b264944eSSjoerd Meijer  %tmp3 = fcmp fast uge <4 x half> %A, %B
114*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
115*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
116*b264944eSSjoerd Meijer}
117*b264944eSSjoerd Meijer
118*b264944eSSjoerd Meijerdefine <4 x half> @test15(<4 x half> %A, <4 x half> %B) {
119*b264944eSSjoerd Meijer; CHECK-LABEL: test15:
120*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
121*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
122*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ult <4 x half> %A, %B
123*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
124*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
125*b264944eSSjoerd Meijer}
126*b264944eSSjoerd Meijer
127*b264944eSSjoerd Meijerdefine <4 x half> @test16(<4 x half> %A, <4 x half> %B) {
128*b264944eSSjoerd Meijer; CHECK-LABEL: test16:
129*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
130*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
131*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ult <4 x half> %A, %B
132*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
133*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
134*b264944eSSjoerd Meijer}
135*b264944eSSjoerd Meijer
136*b264944eSSjoerd Meijerdefine <4 x half> @test17(<4 x half> %A, <4 x half> %B) {
137*b264944eSSjoerd Meijer; CHECK-LABEL: test17:
138*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 d0, d0, d1
139*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
140*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ule <4 x half> %A, %B
141*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %A, <4 x half> %B
142*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
143*b264944eSSjoerd Meijer}
144*b264944eSSjoerd Meijer
145*b264944eSSjoerd Meijerdefine <4 x half> @test18(<4 x half> %A, <4 x half> %B) {
146*b264944eSSjoerd Meijer; CHECK-LABEL: test18:
147*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 d0, d0, d1
148*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
149*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ule <4 x half> %A, %B
150*b264944eSSjoerd Meijer  %tmp4 = select <4 x i1> %tmp3, <4 x half> %B, <4 x half> %A
151*b264944eSSjoerd Meijer  ret <4 x half> %tmp4
152*b264944eSSjoerd Meijer}
153*b264944eSSjoerd Meijer
154*b264944eSSjoerd Meijer; 8-element vector
155*b264944eSSjoerd Meijer
156*b264944eSSjoerd Meijer; Ordered
157*b264944eSSjoerd Meijer
158*b264944eSSjoerd Meijerdefine <8 x half> @test201(<8 x half> %A, <8 x half> %B) {
159*b264944eSSjoerd Meijer; CHECK-LABEL: test201:
160*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
161*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
162*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ogt <8 x half> %A, %B
163*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
164*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
165*b264944eSSjoerd Meijer}
166*b264944eSSjoerd Meijer
167*b264944eSSjoerd Meijerdefine <8 x half> @test202(<8 x half> %A, <8 x half> %B) {
168*b264944eSSjoerd Meijer; CHECK-LABEL: test202:
169*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
170*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
171*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ogt <8 x half> %A, %B
172*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
173*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
174*b264944eSSjoerd Meijer}
175*b264944eSSjoerd Meijer
176*b264944eSSjoerd Meijerdefine <8 x half> @test203(<8 x half> %A, <8 x half> %B) {
177*b264944eSSjoerd Meijer; CHECK-LABEL: test203:
178*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
179*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
180*b264944eSSjoerd Meijer  %tmp3 = fcmp fast oge <8 x half> %A, %B
181*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
182*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
183*b264944eSSjoerd Meijer}
184*b264944eSSjoerd Meijer
185*b264944eSSjoerd Meijerdefine <8 x half> @test204(<8 x half> %A, <8 x half> %B) {
186*b264944eSSjoerd Meijer; CHECK-LABEL: test204:
187*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
188*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
189*b264944eSSjoerd Meijer  %tmp3 = fcmp fast oge <8 x half> %A, %B
190*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
191*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
192*b264944eSSjoerd Meijer}
193*b264944eSSjoerd Meijer
194*b264944eSSjoerd Meijerdefine <8 x half> @test205(<8 x half> %A, <8 x half> %B) {
195*b264944eSSjoerd Meijer; CHECK-LABEL: test205:
196*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
197*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
198*b264944eSSjoerd Meijer  %tmp3 = fcmp fast olt <8 x half> %A, %B
199*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
200*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
201*b264944eSSjoerd Meijer}
202*b264944eSSjoerd Meijer
203*b264944eSSjoerd Meijerdefine <8 x half> @test206(<8 x half> %A, <8 x half> %B) {
204*b264944eSSjoerd Meijer; CHECK-LABEL: test206:
205*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
206*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
207*b264944eSSjoerd Meijer  %tmp3 = fcmp fast olt <8 x half> %A, %B
208*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
209*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
210*b264944eSSjoerd Meijer}
211*b264944eSSjoerd Meijer
212*b264944eSSjoerd Meijerdefine <8 x half> @test207(<8 x half> %A, <8 x half> %B) {
213*b264944eSSjoerd Meijer; CHECK-LABEL: test207:
214*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
215*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
216*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ole <8 x half> %A, %B
217*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
218*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
219*b264944eSSjoerd Meijer}
220*b264944eSSjoerd Meijer
221*b264944eSSjoerd Meijerdefine <8 x half> @test208(<8 x half> %A, <8 x half> %B) {
222*b264944eSSjoerd Meijer; CHECK-LABEL: test208:
223*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
224*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
225*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ole <8 x half> %A, %B
226*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
227*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
228*b264944eSSjoerd Meijer}
229*b264944eSSjoerd Meijer
230*b264944eSSjoerd Meijer; Unordered
231*b264944eSSjoerd Meijer
232*b264944eSSjoerd Meijerdefine <8 x half> @test209(<8 x half> %A, <8 x half> %B) {
233*b264944eSSjoerd Meijer; CHECK-LABEL: test209:
234*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
235*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
236*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ugt <8 x half> %A, %B
237*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
238*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
239*b264944eSSjoerd Meijer}
240*b264944eSSjoerd Meijer
241*b264944eSSjoerd Meijerdefine <8 x half> @test210(<8 x half> %A, <8 x half> %B) {
242*b264944eSSjoerd Meijer; CHECK-LABEL: test210:
243*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
244*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
245*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ugt <8 x half> %A, %B
246*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
247*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
248*b264944eSSjoerd Meijer}
249*b264944eSSjoerd Meijer
250*b264944eSSjoerd Meijerdefine <8 x half> @test211(<8 x half> %A, <8 x half> %B) {
251*b264944eSSjoerd Meijer; CHECK-LABEL: test211:
252*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
253*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
254*b264944eSSjoerd Meijer  %tmp3 = fcmp fast uge <8 x half> %A, %B
255*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
256*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
257*b264944eSSjoerd Meijer}
258*b264944eSSjoerd Meijer
259*b264944eSSjoerd Meijerdefine <8 x half> @test214(<8 x half> %A, <8 x half> %B) {
260*b264944eSSjoerd Meijer; CHECK-LABEL: test214:
261*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
262*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
263*b264944eSSjoerd Meijer  %tmp3 = fcmp fast uge <8 x half> %A, %B
264*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
265*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
266*b264944eSSjoerd Meijer}
267*b264944eSSjoerd Meijer
268*b264944eSSjoerd Meijerdefine <8 x half> @test215(<8 x half> %A, <8 x half> %B) {
269*b264944eSSjoerd Meijer; CHECK-LABEL: test215:
270*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
271*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
272*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ult <8 x half> %A, %B
273*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
274*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
275*b264944eSSjoerd Meijer}
276*b264944eSSjoerd Meijer
277*b264944eSSjoerd Meijerdefine <8 x half> @test216(<8 x half> %A, <8 x half> %B) {
278*b264944eSSjoerd Meijer; CHECK-LABEL: test216:
279*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
280*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
281*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ult <8 x half> %A, %B
282*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
283*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
284*b264944eSSjoerd Meijer}
285*b264944eSSjoerd Meijer
286*b264944eSSjoerd Meijerdefine <8 x half> @test217(<8 x half> %A, <8 x half> %B) {
287*b264944eSSjoerd Meijer; CHECK-LABEL: test217:
288*b264944eSSjoerd Meijer; CHECK:         vminnm.f16 q0, q0, q1
289*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
290*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ule <8 x half> %A, %B
291*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %A, <8 x half> %B
292*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
293*b264944eSSjoerd Meijer}
294*b264944eSSjoerd Meijer
295*b264944eSSjoerd Meijerdefine <8 x half> @test218(<8 x half> %A, <8 x half> %B) {
296*b264944eSSjoerd Meijer; CHECK-LABEL: test218:
297*b264944eSSjoerd Meijer; CHECK:         vmaxnm.f16 q0, q0, q1
298*b264944eSSjoerd Meijer; CHECK-NEXT:    bx lr
299*b264944eSSjoerd Meijer  %tmp3 = fcmp fast ule <8 x half> %A, %B
300*b264944eSSjoerd Meijer  %tmp4 = select <8 x i1> %tmp3, <8 x half> %B, <8 x half> %A
301*b264944eSSjoerd Meijer  ret <8 x half> %tmp4
302*b264944eSSjoerd Meijer}
303