@@ -109,29 +109,11 @@ define <4 x i32> @movi4s_lsl16() {
109109}
110110
111111define <4 x i32 > @movi4s_fneg () {
112- ; CHECK-NOFP16-SD-LABEL: movi4s_fneg:
113- ; CHECK-NOFP16-SD: // %bb.0:
114- ; CHECK-NOFP16-SD-NEXT: movi v0.4s, #240, lsl #8
115- ; CHECK-NOFP16-SD-NEXT: fneg v0.4s, v0.4s
116- ; CHECK-NOFP16-SD-NEXT: ret
117- ;
118- ; CHECK-FP16-SD-LABEL: movi4s_fneg:
119- ; CHECK-FP16-SD: // %bb.0:
120- ; CHECK-FP16-SD-NEXT: movi v0.4s, #240, lsl #8
121- ; CHECK-FP16-SD-NEXT: fneg v0.4s, v0.4s
122- ; CHECK-FP16-SD-NEXT: ret
123- ;
124- ; CHECK-NOFP16-GI-LABEL: movi4s_fneg:
125- ; CHECK-NOFP16-GI: // %bb.0:
126- ; CHECK-NOFP16-GI-NEXT: movi v0.4s, #240, lsl #8
127- ; CHECK-NOFP16-GI-NEXT: fneg v0.4s, v0.4s
128- ; CHECK-NOFP16-GI-NEXT: ret
129- ;
130- ; CHECK-FP16-GI-LABEL: movi4s_fneg:
131- ; CHECK-FP16-GI: // %bb.0:
132- ; CHECK-FP16-GI-NEXT: movi v0.4s, #240, lsl #8
133- ; CHECK-FP16-GI-NEXT: fneg v0.4s, v0.4s
134- ; CHECK-FP16-GI-NEXT: ret
112+ ; CHECK-LABEL: movi4s_fneg:
113+ ; CHECK: // %bb.0:
114+ ; CHECK-NEXT: movi v0.4s, #240, lsl #8
115+ ; CHECK-NEXT: fneg v0.4s, v0.4s
116+ ; CHECK-NEXT: ret
135117 ret <4 x i32 > <i32 2147545088 , i32 2147545088 , i32 2147545088 , i32 2147545088 >
136118}
137119
@@ -308,23 +290,17 @@ define <8 x i16> @mvni8h_neg() {
308290; CHECK-NOFP16-SD-NEXT: dup v0.8h, w8
309291; CHECK-NOFP16-SD-NEXT: ret
310292;
311- ; CHECK-FP16-SD- LABEL: mvni8h_neg:
312- ; CHECK-FP16-SD : // %bb.0:
313- ; CHECK-FP16-SD- NEXT: movi v0.8h, #240
314- ; CHECK-FP16-SD- NEXT: fneg v0.8h, v0.8h
315- ; CHECK-FP16-SD- NEXT: ret
293+ ; CHECK-FP16-LABEL: mvni8h_neg:
294+ ; CHECK-FP16: // %bb.0:
295+ ; CHECK-FP16-NEXT: movi v0.8h, #240
296+ ; CHECK-FP16-NEXT: fneg v0.8h, v0.8h
297+ ; CHECK-FP16-NEXT: ret
316298;
317299; CHECK-NOFP16-GI-LABEL: mvni8h_neg:
318300; CHECK-NOFP16-GI: // %bb.0:
319- ; CHECK-NOFP16-GI-NEXT: adrp x8, .LCPI32_0
320- ; CHECK-NOFP16-GI-NEXT: ldr q0, [x8, :lo12:.LCPI32_0]
301+ ; CHECK-NOFP16-GI-NEXT: mov w8, #-32528 // =0xffff80f0
302+ ; CHECK-NOFP16-GI-NEXT: dup v0.8h, w8
321303; CHECK-NOFP16-GI-NEXT: ret
322- ;
323- ; CHECK-FP16-GI-LABEL: mvni8h_neg:
324- ; CHECK-FP16-GI: // %bb.0:
325- ; CHECK-FP16-GI-NEXT: movi v0.8h, #240
326- ; CHECK-FP16-GI-NEXT: fneg v0.8h, v0.8h
327- ; CHECK-FP16-GI-NEXT: ret
328304 ret <8 x i16 > <i16 33008 , i16 33008 , i16 33008 , i16 33008 , i16 33008 , i16 33008 , i16 33008 , i16 33008 >
329305}
330306
@@ -494,29 +470,11 @@ define <2 x double> @fmov2d() {
494470}
495471
496472define <2 x double > @fmov2d_neg0 () {
497- ; CHECK-NOFP16-SD-LABEL: fmov2d_neg0:
498- ; CHECK-NOFP16-SD: // %bb.0:
499- ; CHECK-NOFP16-SD-NEXT: movi v0.2d, #0000000000000000
500- ; CHECK-NOFP16-SD-NEXT: fneg v0.2d, v0.2d
501- ; CHECK-NOFP16-SD-NEXT: ret
502- ;
503- ; CHECK-FP16-SD-LABEL: fmov2d_neg0:
504- ; CHECK-FP16-SD: // %bb.0:
505- ; CHECK-FP16-SD-NEXT: movi v0.2d, #0000000000000000
506- ; CHECK-FP16-SD-NEXT: fneg v0.2d, v0.2d
507- ; CHECK-FP16-SD-NEXT: ret
508- ;
509- ; CHECK-NOFP16-GI-LABEL: fmov2d_neg0:
510- ; CHECK-NOFP16-GI: // %bb.0:
511- ; CHECK-NOFP16-GI-NEXT: movi v0.2d, #0000000000000000
512- ; CHECK-NOFP16-GI-NEXT: fneg v0.2d, v0.2d
513- ; CHECK-NOFP16-GI-NEXT: ret
514- ;
515- ; CHECK-FP16-GI-LABEL: fmov2d_neg0:
516- ; CHECK-FP16-GI: // %bb.0:
517- ; CHECK-FP16-GI-NEXT: movi v0.2d, #0000000000000000
518- ; CHECK-FP16-GI-NEXT: fneg v0.2d, v0.2d
519- ; CHECK-FP16-GI-NEXT: ret
473+ ; CHECK-LABEL: fmov2d_neg0:
474+ ; CHECK: // %bb.0:
475+ ; CHECK-NEXT: movi v0.2d, #0000000000000000
476+ ; CHECK-NEXT: fneg v0.2d, v0.2d
477+ ; CHECK-NEXT: ret
520478 ret <2 x double > <double -0 .0 , double -0 .0 >
521479}
522480
@@ -581,5 +539,4 @@ define <2 x i32> @movi1d() {
581539 ret <2 x i32 > %1
582540}
583541;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
584- ; CHECK-FP16: {{.*}}
585542; CHECK-NOFP16: {{.*}}
0 commit comments