@@ -1291,10 +1291,10 @@ for.end12: ; preds = %vector.body
12911291define void @matrix_mul_signed_and_double (i32 %N , ptr nocapture %C , ptr nocapture readonly %A , i32 %val ) {
12921292; CHECK-SD-LABEL: matrix_mul_signed_and_double:
12931293; CHECK-SD: // %bb.0: // %vector.header
1294- ; CHECK-SD-NEXT: and w8 , w3, #0xffff
1294+ ; CHECK-SD-NEXT: and w9 , w3, #0xffff
12951295; CHECK-SD-NEXT: // kill: def $w0 killed $w0 def $x0
1296- ; CHECK-SD-NEXT: dup v0.4s, w8
12971296; CHECK-SD-NEXT: and x8, x0, #0xfffffff0
1297+ ; CHECK-SD-NEXT: fmov s0, w9
12981298; CHECK-SD-NEXT: .LBB13_1: // %vector.body
12991299; CHECK-SD-NEXT: // =>This Inner Loop Header: Depth=1
13001300; CHECK-SD-NEXT: add x9, x2, w0, uxtw #1
@@ -1307,10 +1307,10 @@ define void @matrix_mul_signed_and_double(i32 %N, ptr nocapture %C, ptr nocaptur
13071307; CHECK-SD-NEXT: sshll v1.4s, v1.4h, #0
13081308; CHECK-SD-NEXT: sshll2 v4.4s, v2.8h, #0
13091309; CHECK-SD-NEXT: sshll v2.4s, v2.4h, #0
1310- ; CHECK-SD-NEXT: mul v3.4s, v0 .4s, v3.4s
1311- ; CHECK-SD-NEXT: mul v1.4s, v0 .4s, v1.4s
1312- ; CHECK-SD-NEXT: mul v4.4s, v0 .4s, v4.4s
1313- ; CHECK-SD-NEXT: mul v2.4s, v0 .4s, v2.4s
1310+ ; CHECK-SD-NEXT: mul v3.4s, v3 .4s, v0.s[0]
1311+ ; CHECK-SD-NEXT: mul v1.4s, v1 .4s, v0.s[0]
1312+ ; CHECK-SD-NEXT: mul v4.4s, v4 .4s, v0.s[0]
1313+ ; CHECK-SD-NEXT: mul v2.4s, v2 .4s, v0.s[0]
13141314; CHECK-SD-NEXT: stp q1, q3, [x9]
13151315; CHECK-SD-NEXT: stp q2, q4, [x9, #32]
13161316; CHECK-SD-NEXT: b.ne .LBB13_1
0 commit comments