@@ -466,15 +466,12 @@ define <8 x i16> @freeze_urhadd(<8 x i16> %a0, <8 x i16> %a1) {
466466 ret <8 x i16 > %masked
467467}
468468
469- ; TODO: Unnecessary sext_inreg
470469define <8 x i16 > @freeze_shadd (<8 x i8 > %a0 , <8 x i16 > %a1 ) {
471470; CHECK-LABEL: freeze_shadd:
472471; CHECK: // %bb.0:
473472; CHECK-NEXT: sshll v0.8h, v0.8b, #0
474473; CHECK-NEXT: sshr v1.8h, v1.8h, #8
475474; CHECK-NEXT: shadd v0.8h, v0.8h, v1.8h
476- ; CHECK-NEXT: shl v0.8h, v0.8h, #8
477- ; CHECK-NEXT: sshr v0.8h, v0.8h, #8
478475; CHECK-NEXT: ret
479476 %x0 = sext <8 x i8 > %a0 to <8 x i16 >
480477 %x1 = ashr <8 x i16 > %a1 , splat (i16 8 )
@@ -485,15 +482,12 @@ define <8 x i16> @freeze_shadd(<8 x i8> %a0, <8 x i16> %a1) {
485482 ret <8 x i16 > %sext
486483}
487484
488- ; TODO: Unnecessary sext_inreg
489485define <8 x i16 > @freeze_srhadd (<8 x i8 > %a0 , <8 x i16 > %a1 ) {
490486; CHECK-LABEL: freeze_srhadd:
491487; CHECK: // %bb.0:
492488; CHECK-NEXT: sshll v0.8h, v0.8b, #0
493489; CHECK-NEXT: sshr v1.8h, v1.8h, #8
494490; CHECK-NEXT: srhadd v0.8h, v0.8h, v1.8h
495- ; CHECK-NEXT: shl v0.8h, v0.8h, #8
496- ; CHECK-NEXT: sshr v0.8h, v0.8h, #8
497491; CHECK-NEXT: ret
498492 %x0 = sext <8 x i8 > %a0 to <8 x i16 >
499493 %x1 = ashr <8 x i16 > %a1 , splat (i16 8 )
0 commit comments