@@ -2032,7 +2032,7 @@ define void @smlsl2_v8i16_uzp1(<16 x i8> %0, <8 x i16> %1, ptr %2, ptr %3) {
20322032; CHECK-GI-NEXT: ldr q2, [x1, #16]
20332033; CHECK-GI-NEXT: mov d0, v0.d[1]
20342034; CHECK-GI-NEXT: xtn v2.8b, v2.8h
2035- ; CHECK-GI-NEXT: umlsl v1.8h, v0.8b, v2.8b
2035+ ; CHECK-GI-NEXT: smlsl v1.8h, v0.8b, v2.8b
20362036; CHECK-GI-NEXT: str q1, [x0]
20372037; CHECK-GI-NEXT: ret
20382038 %5 = getelementptr inbounds i32 , ptr %3 , i64 4
@@ -2067,7 +2067,7 @@ define void @umlsl2_v8i16_uzp1(<16 x i8> %0, <8 x i16> %1, ptr %2, ptr %3) {
20672067; CHECK-GI-NEXT: ldr q2, [x1, #16]
20682068; CHECK-GI-NEXT: mov d0, v0.d[1]
20692069; CHECK-GI-NEXT: xtn v2.8b, v2.8h
2070- ; CHECK-GI-NEXT: smlsl v1.8h, v0.8b, v2.8b
2070+ ; CHECK-GI-NEXT: umlsl v1.8h, v0.8b, v2.8b
20712071; CHECK-GI-NEXT: str q1, [x0]
20722072; CHECK-GI-NEXT: ret
20732073 %5 = getelementptr inbounds i32 , ptr %3 , i64 4
@@ -2102,7 +2102,7 @@ define void @smlsl2_v4i32_uzp1(<8 x i16> %0, <4 x i32> %1, ptr %2, ptr %3) {
21022102; CHECK-GI-NEXT: ldr q2, [x1, #16]
21032103; CHECK-GI-NEXT: mov d0, v0.d[1]
21042104; CHECK-GI-NEXT: xtn v2.4h, v2.4s
2105- ; CHECK-GI-NEXT: umlsl v1.4s, v0.4h, v2.4h
2105+ ; CHECK-GI-NEXT: smlsl v1.4s, v0.4h, v2.4h
21062106; CHECK-GI-NEXT: str q1, [x0]
21072107; CHECK-GI-NEXT: ret
21082108 %5 = getelementptr inbounds i32 , ptr %3 , i64 4
@@ -2137,7 +2137,7 @@ define void @umlsl2_v4i32_uzp1(<8 x i16> %0, <4 x i32> %1, ptr %2, ptr %3) {
21372137; CHECK-GI-NEXT: ldr q2, [x1, #16]
21382138; CHECK-GI-NEXT: mov d0, v0.d[1]
21392139; CHECK-GI-NEXT: xtn v2.4h, v2.4s
2140- ; CHECK-GI-NEXT: smlsl v1.4s, v0.4h, v2.4h
2140+ ; CHECK-GI-NEXT: umlsl v1.4s, v0.4h, v2.4h
21412141; CHECK-GI-NEXT: str q1, [x0]
21422142; CHECK-GI-NEXT: ret
21432143 %5 = getelementptr inbounds i32 , ptr %3 , i64 4
@@ -2202,8 +2202,8 @@ define void @smlsl_smlsl2_v8i16_uzp1(<16 x i8> %0, <8 x i16> %1, ptr %2, ptr %3,
22022202; CHECK-GI-NEXT: mov d3, v0.d[1]
22032203; CHECK-GI-NEXT: xtn v2.8b, v2.8h
22042204; CHECK-GI-NEXT: xtn v4.8b, v4.8h
2205- ; CHECK-GI-NEXT: umull v2.8h, v3.8b, v2.8b
2206- ; CHECK-GI-NEXT: umlal v2.8h, v0.8b, v4.8b
2205+ ; CHECK-GI-NEXT: smull v2.8h, v3.8b, v2.8b
2206+ ; CHECK-GI-NEXT: smlal v2.8h, v0.8b, v4.8b
22072207; CHECK-GI-NEXT: sub v0.8h, v1.8h, v2.8h
22082208; CHECK-GI-NEXT: str q0, [x0]
22092209; CHECK-GI-NEXT: ret
@@ -2248,8 +2248,8 @@ define void @umlsl_umlsl2_v8i16_uzp1(<16 x i8> %0, <8 x i16> %1, ptr %2, ptr %3,
22482248; CHECK-GI-NEXT: mov d3, v0.d[1]
22492249; CHECK-GI-NEXT: xtn v2.8b, v2.8h
22502250; CHECK-GI-NEXT: xtn v4.8b, v4.8h
2251- ; CHECK-GI-NEXT: smull v2.8h, v3.8b, v2.8b
2252- ; CHECK-GI-NEXT: smlal v2.8h, v0.8b, v4.8b
2251+ ; CHECK-GI-NEXT: umull v2.8h, v3.8b, v2.8b
2252+ ; CHECK-GI-NEXT: umlal v2.8h, v0.8b, v4.8b
22532253; CHECK-GI-NEXT: sub v0.8h, v1.8h, v2.8h
22542254; CHECK-GI-NEXT: str q0, [x0]
22552255; CHECK-GI-NEXT: ret
@@ -2294,8 +2294,8 @@ define void @smlsl_smlsl2_v4i32_uzp1(<8 x i16> %0, <4 x i32> %1, ptr %2, ptr %3,
22942294; CHECK-GI-NEXT: mov d3, v0.d[1]
22952295; CHECK-GI-NEXT: xtn v2.4h, v2.4s
22962296; CHECK-GI-NEXT: xtn v4.4h, v4.4s
2297- ; CHECK-GI-NEXT: umull v2.4s, v3.4h, v2.4h
2298- ; CHECK-GI-NEXT: umlal v2.4s, v0.4h, v4.4h
2297+ ; CHECK-GI-NEXT: smull v2.4s, v3.4h, v2.4h
2298+ ; CHECK-GI-NEXT: smlal v2.4s, v0.4h, v4.4h
22992299; CHECK-GI-NEXT: sub v0.4s, v1.4s, v2.4s
23002300; CHECK-GI-NEXT: str q0, [x0]
23012301; CHECK-GI-NEXT: ret
@@ -2340,8 +2340,8 @@ define void @umlsl_umlsl2_v4i32_uzp1(<8 x i16> %0, <4 x i32> %1, ptr %2, ptr %3,
23402340; CHECK-GI-NEXT: mov d3, v0.d[1]
23412341; CHECK-GI-NEXT: xtn v2.4h, v2.4s
23422342; CHECK-GI-NEXT: xtn v4.4h, v4.4s
2343- ; CHECK-GI-NEXT: smull v2.4s, v3.4h, v2.4h
2344- ; CHECK-GI-NEXT: smlal v2.4s, v0.4h, v4.4h
2343+ ; CHECK-GI-NEXT: umull v2.4s, v3.4h, v2.4h
2344+ ; CHECK-GI-NEXT: umlal v2.4s, v0.4h, v4.4h
23452345; CHECK-GI-NEXT: sub v0.4s, v1.4s, v2.4s
23462346; CHECK-GI-NEXT: str q0, [x0]
23472347; CHECK-GI-NEXT: ret
@@ -2382,7 +2382,7 @@ define <2 x i32> @do_stuff(<2 x i64> %0, <2 x i64> %1) {
23822382; CHECK-GI: // %bb.0:
23832383; CHECK-GI-NEXT: xtn v0.2s, v0.2d
23842384; CHECK-GI-NEXT: mov d2, v1.d[1]
2385- ; CHECK-GI-NEXT: umull v0.2d, v2.2s, v0.2s
2385+ ; CHECK-GI-NEXT: smull v0.2d, v2.2s, v0.2s
23862386; CHECK-GI-NEXT: xtn v0.2s, v0.2d
23872387; CHECK-GI-NEXT: add v0.2s, v0.2s, v1.2s
23882388; CHECK-GI-NEXT: ret
0 commit comments