@@ -657,23 +657,14 @@ entry:
657657}
658658
659659define  i16  @test_vqrdmlahh_lane_s16 (i16  %a , i16  %b , <4  x i16 > %c ) {
660- ; CHECK-SD-LABEL: test_vqrdmlahh_lane_s16: 
661- ; CHECK-SD:       // %bb.0: // %entry 
662- ; CHECK-SD-NEXT:    fmov s1, w0 
663- ; CHECK-SD-NEXT:    fmov s2, w1 
664- ; CHECK-SD-NEXT:    // kill: def $d0 killed $d0 def $q0 
665- ; CHECK-SD-NEXT:    sqrdmlah v1.4h, v2.4h, v0.h[3] 
666- ; CHECK-SD-NEXT:    umov w0, v1.h[0] 
667- ; CHECK-SD-NEXT:    ret 
668- ; 
669- ; CHECK-GI-LABEL: test_vqrdmlahh_lane_s16: 
670- ; CHECK-GI:       // %bb.0: // %entry 
671- ; CHECK-GI-NEXT:    rev64 v0.4h, v0.4h 
672- ; CHECK-GI-NEXT:    fmov s1, w0 
673- ; CHECK-GI-NEXT:    fmov s2, w1 
674- ; CHECK-GI-NEXT:    sqrdmlah v1.4h, v2.4h, v0.4h 
675- ; CHECK-GI-NEXT:    umov w0, v1.h[0] 
676- ; CHECK-GI-NEXT:    ret 
660+ ; CHECK-LABEL: test_vqrdmlahh_lane_s16: 
661+ ; CHECK:       // %bb.0: // %entry 
662+ ; CHECK-NEXT:    fmov s1, w0 
663+ ; CHECK-NEXT:    fmov s2, w1 
664+ ; CHECK-NEXT:    // kill: def $d0 killed $d0 def $q0 
665+ ; CHECK-NEXT:    sqrdmlah v1.4h, v2.4h, v0.h[3] 
666+ ; CHECK-NEXT:    umov w0, v1.h[0] 
667+ ; CHECK-NEXT:    ret 
677668entry:
678669  %0  = insertelement  <4  x i16 > undef , i16  %a , i64  0 
679670  %1  = insertelement  <4  x i16 > undef , i16  %b , i64  0 
@@ -719,7 +710,7 @@ define i16 @test_vqrdmlahh_laneq_s16(i16 %a, i16 %b, <8 x i16> %c) {
719710; 
720711; CHECK-GI-LABEL: test_vqrdmlahh_laneq_s16: 
721712; CHECK-GI:       // %bb.0: // %entry 
722- ; CHECK-GI-NEXT:    ext  v0.16b , v0.16b, v0.16b, #14  
713+ ; CHECK-GI-NEXT:    dup  v0.8h , v0.h[7]  
723714; CHECK-GI-NEXT:    fmov s1, w0 
724715; CHECK-GI-NEXT:    fmov s2, w1 
725716; CHECK-GI-NEXT:    sqrdmlah v1.4h, v2.4h, v0.4h 
@@ -837,23 +828,14 @@ entry:
837828}
838829
839830define  i16  @test_vqrdmlshh_lane_s16 (i16  %a , i16  %b , <4  x i16 > %c ) {
840- ; CHECK-SD-LABEL: test_vqrdmlshh_lane_s16: 
841- ; CHECK-SD:       // %bb.0: // %entry 
842- ; CHECK-SD-NEXT:    fmov s1, w0 
843- ; CHECK-SD-NEXT:    fmov s2, w1 
844- ; CHECK-SD-NEXT:    // kill: def $d0 killed $d0 def $q0 
845- ; CHECK-SD-NEXT:    sqrdmlsh v1.4h, v2.4h, v0.h[3] 
846- ; CHECK-SD-NEXT:    umov w0, v1.h[0] 
847- ; CHECK-SD-NEXT:    ret 
848- ; 
849- ; CHECK-GI-LABEL: test_vqrdmlshh_lane_s16: 
850- ; CHECK-GI:       // %bb.0: // %entry 
851- ; CHECK-GI-NEXT:    rev64 v0.4h, v0.4h 
852- ; CHECK-GI-NEXT:    fmov s1, w0 
853- ; CHECK-GI-NEXT:    fmov s2, w1 
854- ; CHECK-GI-NEXT:    sqrdmlsh v1.4h, v2.4h, v0.4h 
855- ; CHECK-GI-NEXT:    umov w0, v1.h[0] 
856- ; CHECK-GI-NEXT:    ret 
831+ ; CHECK-LABEL: test_vqrdmlshh_lane_s16: 
832+ ; CHECK:       // %bb.0: // %entry 
833+ ; CHECK-NEXT:    fmov s1, w0 
834+ ; CHECK-NEXT:    fmov s2, w1 
835+ ; CHECK-NEXT:    // kill: def $d0 killed $d0 def $q0 
836+ ; CHECK-NEXT:    sqrdmlsh v1.4h, v2.4h, v0.h[3] 
837+ ; CHECK-NEXT:    umov w0, v1.h[0] 
838+ ; CHECK-NEXT:    ret 
857839entry:
858840  %0  = insertelement  <4  x i16 > undef , i16  %a , i64  0 
859841  %1  = insertelement  <4  x i16 > undef , i16  %b , i64  0 
@@ -899,7 +881,7 @@ define i16 @test_vqrdmlshh_laneq_s16(i16 %a, i16 %b, <8 x i16> %c) {
899881; 
900882; CHECK-GI-LABEL: test_vqrdmlshh_laneq_s16: 
901883; CHECK-GI:       // %bb.0: // %entry 
902- ; CHECK-GI-NEXT:    ext  v0.16b , v0.16b, v0.16b, #14  
884+ ; CHECK-GI-NEXT:    dup  v0.8h , v0.h[7]  
903885; CHECK-GI-NEXT:    fmov s1, w0 
904886; CHECK-GI-NEXT:    fmov s2, w1 
905887; CHECK-GI-NEXT:    sqrdmlsh v1.4h, v2.4h, v0.4h 
0 commit comments