@@ -1246,33 +1246,33 @@ define void @zext_v16i4_to_v16i32_in_loop(ptr %src, ptr %dst) {
12461246; CHECK-NEXT: add x8, x8, #16
12471247; CHECK-NEXT: cmp x8, #128
12481248; CHECK-NEXT: ubfx x12, x9, #48, #4
1249- ; CHECK-NEXT: ubfx x10, x9, #52, #4
1250- ; CHECK-NEXT: ubfx x14 , x9, #32, #4
1249+ ; CHECK-NEXT: lsr x10, x9, #52
1250+ ; CHECK-NEXT: ubfx x13 , x9, #32, #4
12511251; CHECK-NEXT: ubfx w15, w9, #16, #4
1252- ; CHECK-NEXT: ubfx x11, x9, #36, #4
1253- ; CHECK-NEXT: ubfx w13 , w9, #20, #4
1252+ ; CHECK-NEXT: lsr x11, x9, #36
1253+ ; CHECK-NEXT: lsr w14 , w9, #20
12541254; CHECK-NEXT: fmov s1, w12
1255- ; CHECK-NEXT: fmov s2, w14
1256- ; CHECK-NEXT: ubfx w12, w9, #4 , #4
1255+ ; CHECK-NEXT: fmov s2, w13
1256+ ; CHECK-NEXT: lsr w12, w9, #4
12571257; CHECK-NEXT: fmov s3, w15
12581258; CHECK-NEXT: mov.h v1[1], w10
12591259; CHECK-NEXT: and w10, w9, #0xf
12601260; CHECK-NEXT: mov.h v2[1], w11
12611261; CHECK-NEXT: fmov s4, w10
1262- ; CHECK-NEXT: ubfx x11, x9, #56, #4
1263- ; CHECK-NEXT: mov.h v3[1], w13
1264- ; CHECK-NEXT: ubfx x10, x9, #40, #4
1262+ ; CHECK-NEXT: lsr x11, x9, #56
1263+ ; CHECK-NEXT: mov.h v3[1], w14
1264+ ; CHECK-NEXT: lsr x10, x9, #40
12651265; CHECK-NEXT: mov.h v4[1], w12
1266- ; CHECK-NEXT: ubfx w12, w9, #24, #4
1266+ ; CHECK-NEXT: lsr w12, w9, #24
12671267; CHECK-NEXT: mov.h v1[2], w11
1268- ; CHECK-NEXT: ubfx w11, w9, #8, #4
1268+ ; CHECK-NEXT: lsr w11, w9, #8
12691269; CHECK-NEXT: mov.h v2[2], w10
12701270; CHECK-NEXT: lsr x10, x9, #60
12711271; CHECK-NEXT: mov.h v3[2], w12
1272- ; CHECK-NEXT: ubfx x12, x9, #44, #4
1272+ ; CHECK-NEXT: lsr x12, x9, #44
12731273; CHECK-NEXT: mov.h v4[2], w11
12741274; CHECK-NEXT: lsr w11, w9, #28
1275- ; CHECK-NEXT: ubfx w9, w9, #12, #4
1275+ ; CHECK-NEXT: lsr w9, w9, #12
12761276; CHECK-NEXT: mov.h v1[3], w10
12771277; CHECK-NEXT: mov.h v2[3], w12
12781278; CHECK-NEXT: mov.h v3[3], w11
@@ -1300,38 +1300,37 @@ define void @zext_v16i4_to_v16i32_in_loop(ptr %src, ptr %dst) {
13001300; CHECK-BE-NEXT: ldr x9, [x0, x8]
13011301; CHECK-BE-NEXT: add x8, x8, #16
13021302; CHECK-BE-NEXT: cmp x8, #128
1303- ; CHECK-BE-NEXT: ubfx w12 , w9, #12, #4
1303+ ; CHECK-BE-NEXT: ubfx w11 , w9, #12, #4
13041304; CHECK-BE-NEXT: lsr w14, w9, #28
1305- ; CHECK-BE-NEXT: ubfx w10, w9, #8, #4
1305+ ; CHECK-BE-NEXT: lsr w10, w9, #8
13061306; CHECK-BE-NEXT: ubfx x15, x9, #44, #4
1307- ; CHECK-BE-NEXT: ubfx w11 , w9, #24, #4
1308- ; CHECK-BE-NEXT: ubfx x13, x9, #40, #4
1309- ; CHECK-BE-NEXT: fmov s1, w12
1310- ; CHECK-BE-NEXT: lsr x12 , x9, #60
1307+ ; CHECK-BE-NEXT: lsr w12 , w9, #24
1308+ ; CHECK-BE-NEXT: lsr x13, x9, #40
1309+ ; CHECK-BE-NEXT: fmov s1, w11
1310+ ; CHECK-BE-NEXT: lsr x11 , x9, #60
13111311; CHECK-BE-NEXT: fmov s2, w14
13121312; CHECK-BE-NEXT: fmov s3, w15
1313- ; CHECK-BE-NEXT: fmov s4, w12
1314- ; CHECK-BE-NEXT: ubfx w12 , w9, #20, #4
1313+ ; CHECK-BE-NEXT: fmov s4, w11
1314+ ; CHECK-BE-NEXT: lsr w11 , w9, #20
13151315; CHECK-BE-NEXT: mov v1.h[1], w10
1316- ; CHECK-BE-NEXT: ubfx x10, x9, #56, #4
1317- ; CHECK-BE-NEXT: mov v2.h[1], w11
1318- ; CHECK-BE-NEXT: ubfx w11 , w9, #4 , #4
1316+ ; CHECK-BE-NEXT: lsr x10, x9, #56
1317+ ; CHECK-BE-NEXT: mov v2.h[1], w12
1318+ ; CHECK-BE-NEXT: lsr w12 , w9, #4
13191319; CHECK-BE-NEXT: mov v3.h[1], w13
13201320; CHECK-BE-NEXT: mov v4.h[1], w10
1321- ; CHECK-BE-NEXT: ubfx x10, x9, #36, #4
1322- ; CHECK-BE-NEXT: mov v1.h[2], w11
1323- ; CHECK-BE-NEXT: ubfx x11 , x9, #52, #4
1324- ; CHECK-BE-NEXT: mov v2.h[2], w12
1321+ ; CHECK-BE-NEXT: lsr x10, x9, #36
1322+ ; CHECK-BE-NEXT: mov v1.h[2], w12
1323+ ; CHECK-BE-NEXT: lsr x12 , x9, #52
1324+ ; CHECK-BE-NEXT: mov v2.h[2], w11
13251325; CHECK-BE-NEXT: mov v3.h[2], w10
1326- ; CHECK-BE-NEXT: and w10, w9, #0xf
1327- ; CHECK-BE-NEXT: ubfx w12, w9, #16, #4
1328- ; CHECK-BE-NEXT: mov v4.h[2], w11
1329- ; CHECK-BE-NEXT: ubfx x11, x9, #32, #4
1330- ; CHECK-BE-NEXT: ubfx x9, x9, #48, #4
1331- ; CHECK-BE-NEXT: mov v1.h[3], w10
1332- ; CHECK-BE-NEXT: mov v2.h[3], w12
1333- ; CHECK-BE-NEXT: add x10, x1, #32
1326+ ; CHECK-BE-NEXT: lsr w10, w9, #16
1327+ ; CHECK-BE-NEXT: lsr x11, x9, #32
1328+ ; CHECK-BE-NEXT: mov v4.h[2], w12
1329+ ; CHECK-BE-NEXT: mov v1.h[3], w9
1330+ ; CHECK-BE-NEXT: lsr x9, x9, #48
1331+ ; CHECK-BE-NEXT: mov v2.h[3], w10
13341332; CHECK-BE-NEXT: mov v3.h[3], w11
1333+ ; CHECK-BE-NEXT: add x10, x1, #32
13351334; CHECK-BE-NEXT: mov v4.h[3], w9
13361335; CHECK-BE-NEXT: add x9, x1, #48
13371336; CHECK-BE-NEXT: ushll v1.4s, v1.4h, #0
0 commit comments