@@ -466,72 +466,19 @@ define <8 x i16> @test_v8f16_sat(<8 x half> %in) {
466466; CHECK-NO16: // %bb.0:
467467; CHECK-NO16-NEXT: movi v1.8h, #68, lsl #8
468468; CHECK-NO16-NEXT: fcvtl v2.4s, v0.4h
469- ; CHECK-NO16-NEXT: mov w8, #32767 // =0x7fff
470469; CHECK-NO16-NEXT: fcvtl2 v0.4s, v0.8h
471- ; CHECK-NO16-NEXT: mov w11, #-32768 // =0xffff8000
472470; CHECK-NO16-NEXT: fcvtl v3.4s, v1.4h
473471; CHECK-NO16-NEXT: fcvtl2 v1.4s, v1.8h
474472; CHECK-NO16-NEXT: fmul v2.4s, v2.4s, v3.4s
475473; CHECK-NO16-NEXT: fmul v0.4s, v0.4s, v1.4s
476474; CHECK-NO16-NEXT: fcvtn v1.4h, v2.4s
477475; CHECK-NO16-NEXT: fcvtn2 v1.8h, v0.4s
478- ; CHECK-NO16-NEXT: fcvtl2 v0.4s, v1.8h
479- ; CHECK-NO16-NEXT: fcvtl v1.4s, v1.4h
480- ; CHECK-NO16-NEXT: mov s2, v0.s[1]
481- ; CHECK-NO16-NEXT: fcvtzs w10, s0
482- ; CHECK-NO16-NEXT: fcvtzs w15, s1
483- ; CHECK-NO16-NEXT: fcvtzs w9, s2
484- ; CHECK-NO16-NEXT: mov s2, v0.s[2]
485- ; CHECK-NO16-NEXT: mov s0, v0.s[3]
486- ; CHECK-NO16-NEXT: cmp w9, w8
487- ; CHECK-NO16-NEXT: fcvtzs w12, s2
488- ; CHECK-NO16-NEXT: mov s2, v1.s[1]
489- ; CHECK-NO16-NEXT: csel w9, w9, w8, lt
490- ; CHECK-NO16-NEXT: fcvtzs w13, s0
491- ; CHECK-NO16-NEXT: mov s0, v1.s[2]
492- ; CHECK-NO16-NEXT: cmn w9, #8, lsl #12 // =32768
493- ; CHECK-NO16-NEXT: csel w9, w9, w11, gt
494- ; CHECK-NO16-NEXT: cmp w10, w8
495- ; CHECK-NO16-NEXT: csel w10, w10, w8, lt
496- ; CHECK-NO16-NEXT: fcvtzs w14, s2
497- ; CHECK-NO16-NEXT: cmn w10, #8, lsl #12 // =32768
498- ; CHECK-NO16-NEXT: fcvtzs w16, s0
499- ; CHECK-NO16-NEXT: mov s0, v1.s[3]
500- ; CHECK-NO16-NEXT: csel w10, w10, w11, gt
501- ; CHECK-NO16-NEXT: cmp w12, w8
502- ; CHECK-NO16-NEXT: csel w12, w12, w8, lt
503- ; CHECK-NO16-NEXT: fmov s1, w10
504- ; CHECK-NO16-NEXT: cmn w12, #8, lsl #12 // =32768
505- ; CHECK-NO16-NEXT: csel w12, w12, w11, gt
506- ; CHECK-NO16-NEXT: cmp w13, w8
507- ; CHECK-NO16-NEXT: csel w13, w13, w8, lt
508- ; CHECK-NO16-NEXT: mov v1.s[1], w9
509- ; CHECK-NO16-NEXT: fcvtzs w9, s0
510- ; CHECK-NO16-NEXT: cmn w13, #8, lsl #12 // =32768
511- ; CHECK-NO16-NEXT: csel w13, w13, w11, gt
512- ; CHECK-NO16-NEXT: cmp w14, w8
513- ; CHECK-NO16-NEXT: csel w14, w14, w8, lt
514- ; CHECK-NO16-NEXT: cmn w14, #8, lsl #12 // =32768
515- ; CHECK-NO16-NEXT: mov v1.s[2], w12
516- ; CHECK-NO16-NEXT: csel w14, w14, w11, gt
517- ; CHECK-NO16-NEXT: cmp w15, w8
518- ; CHECK-NO16-NEXT: csel w15, w15, w8, lt
519- ; CHECK-NO16-NEXT: cmn w15, #8, lsl #12 // =32768
520- ; CHECK-NO16-NEXT: csel w10, w15, w11, gt
521- ; CHECK-NO16-NEXT: cmp w16, w8
522- ; CHECK-NO16-NEXT: mov v1.s[3], w13
523- ; CHECK-NO16-NEXT: fmov s2, w10
524- ; CHECK-NO16-NEXT: csel w10, w16, w8, lt
525- ; CHECK-NO16-NEXT: cmn w10, #8, lsl #12 // =32768
526- ; CHECK-NO16-NEXT: csel w10, w10, w11, gt
527- ; CHECK-NO16-NEXT: cmp w9, w8
528- ; CHECK-NO16-NEXT: mov v2.s[1], w14
529- ; CHECK-NO16-NEXT: csel w8, w9, w8, lt
530- ; CHECK-NO16-NEXT: cmn w8, #8, lsl #12 // =32768
531- ; CHECK-NO16-NEXT: csel w8, w8, w11, gt
532- ; CHECK-NO16-NEXT: mov v2.s[2], w10
533- ; CHECK-NO16-NEXT: mov v2.s[3], w8
534- ; CHECK-NO16-NEXT: uzp1 v0.8h, v2.8h, v1.8h
476+ ; CHECK-NO16-NEXT: fcvtl v0.4s, v1.4h
477+ ; CHECK-NO16-NEXT: fcvtl2 v1.4s, v1.8h
478+ ; CHECK-NO16-NEXT: fcvtzs v0.4s, v0.4s
479+ ; CHECK-NO16-NEXT: fcvtzs v1.4s, v1.4s
480+ ; CHECK-NO16-NEXT: sqxtn v0.4h, v0.4s
481+ ; CHECK-NO16-NEXT: sqxtn2 v0.8h, v1.4s
535482; CHECK-NO16-NEXT: ret
536483;
537484; CHECK-FP16-LABEL: test_v8f16_sat:
0 commit comments