@@ -388,29 +388,29 @@ define <5 x i32> @test_signed_v5f64_v5i32(<5 x double> %f) {
388388; CHECK-GI-NEXT: fcvtzs v1.2d, v2.2d
389389; CHECK-GI-NEXT: ldr q2, [x8, :lo12:.LCPI12_1]
390390; CHECK-GI-NEXT: adrp x8, .LCPI12_0
391+ ; CHECK-GI-NEXT: cmgt v6.2d, v2.2d, v3.2d
391392; CHECK-GI-NEXT: cmgt v4.2d, v2.2d, v0.2d
392393; CHECK-GI-NEXT: cmgt v5.2d, v2.2d, v1.2d
393394; CHECK-GI-NEXT: bif v0.16b, v2.16b, v4.16b
394395; CHECK-GI-NEXT: bif v1.16b, v2.16b, v5.16b
395- ; CHECK-GI-NEXT: cmgt v4.2d, v2.2d, v3.2d
396- ; CHECK-GI-NEXT: ldr q5, [x8, :lo12:.LCPI12_0]
397- ; CHECK-GI-NEXT: bit v2.16b, v3.16b, v4.16b
398- ; CHECK-GI-NEXT: cmgt v3.2d, v0.2d, v5.2d
399- ; CHECK-GI-NEXT: cmgt v4.2d, v1.2d, v5.2d
400- ; CHECK-GI-NEXT: bif v0.16b, v5.16b, v3.16b
401- ; CHECK-GI-NEXT: bif v1.16b, v5.16b, v4.16b
402- ; CHECK-GI-NEXT: cmgt v3.2d, v2.2d, v5.2d
403- ; CHECK-GI-NEXT: bif v2.16b, v5.16b, v3.16b
396+ ; CHECK-GI-NEXT: ldr q4, [x8, :lo12:.LCPI12_0]
397+ ; CHECK-GI-NEXT: bit v2.16b, v3.16b, v6.16b
398+ ; CHECK-GI-NEXT: cmgt v3.2d, v0.2d, v4.2d
399+ ; CHECK-GI-NEXT: cmgt v5.2d, v1.2d, v4.2d
400+ ; CHECK-GI-NEXT: cmgt v6.2d, v2.2d, v4.2d
401+ ; CHECK-GI-NEXT: bif v0.16b, v4.16b, v3.16b
402+ ; CHECK-GI-NEXT: bif v1.16b, v4.16b, v5.16b
403+ ; CHECK-GI-NEXT: bif v2.16b, v4.16b, v6.16b
404404; CHECK-GI-NEXT: mov d3, v0.d[1]
405405; CHECK-GI-NEXT: mov d4, v1.d[1]
406406; CHECK-GI-NEXT: fmov x0, d0
407+ ; CHECK-GI-NEXT: fmov x4, d2
407408; CHECK-GI-NEXT: fmov x2, d1
408409; CHECK-GI-NEXT: // kill: def $w0 killed $w0 killed $x0
409410; CHECK-GI-NEXT: // kill: def $w2 killed $w2 killed $x2
410- ; CHECK-GI-NEXT: fmov x4, d2
411+ ; CHECK-GI-NEXT: // kill: def $w4 killed $w4 killed $x4
411412; CHECK-GI-NEXT: fmov x1, d3
412413; CHECK-GI-NEXT: fmov x3, d4
413- ; CHECK-GI-NEXT: // kill: def $w4 killed $w4 killed $x4
414414; CHECK-GI-NEXT: // kill: def $w1 killed $w1 killed $x1
415415; CHECK-GI-NEXT: // kill: def $w3 killed $w3 killed $x3
416416; CHECK-GI-NEXT: ret
@@ -5236,6 +5236,7 @@ define <16 x i8> @test_signed_v16f64_v16i8(<16 x double> %f) {
52365236; CHECK-GI-NEXT: adrp x8, .LCPI83_0
52375237; CHECK-GI-NEXT: fcvtzs v6.2d, v6.2d
52385238; CHECK-GI-NEXT: fcvtzs v7.2d, v7.2d
5239+ ; CHECK-GI-NEXT: ldr q25, [x8, :lo12:.LCPI83_0]
52395240; CHECK-GI-NEXT: cmgt v17.2d, v16.2d, v0.2d
52405241; CHECK-GI-NEXT: cmgt v18.2d, v16.2d, v1.2d
52415242; CHECK-GI-NEXT: cmgt v19.2d, v16.2d, v2.2d
@@ -5246,29 +5247,28 @@ define <16 x i8> @test_signed_v16f64_v16i8(<16 x double> %f) {
52465247; CHECK-GI-NEXT: cmgt v24.2d, v16.2d, v7.2d
52475248; CHECK-GI-NEXT: bif v0.16b, v16.16b, v17.16b
52485249; CHECK-GI-NEXT: bif v1.16b, v16.16b, v18.16b
5249- ; CHECK-GI-NEXT: ldr q17, [x8, :lo12:.LCPI83_0]
52505250; CHECK-GI-NEXT: bif v2.16b, v16.16b, v19.16b
52515251; CHECK-GI-NEXT: bif v3.16b, v16.16b, v20.16b
52525252; CHECK-GI-NEXT: bif v4.16b, v16.16b, v21.16b
52535253; CHECK-GI-NEXT: bif v5.16b, v16.16b, v22.16b
52545254; CHECK-GI-NEXT: bif v6.16b, v16.16b, v23.16b
52555255; CHECK-GI-NEXT: bif v7.16b, v16.16b, v24.16b
5256- ; CHECK-GI-NEXT: cmgt v16.2d, v0.2d, v17 .2d
5257- ; CHECK-GI-NEXT: cmgt v18 .2d, v1.2d, v17 .2d
5258- ; CHECK-GI-NEXT: cmgt v19 .2d, v2.2d, v17 .2d
5259- ; CHECK-GI-NEXT: cmgt v20 .2d, v3.2d, v17 .2d
5260- ; CHECK-GI-NEXT: cmgt v21 .2d, v4.2d, v17 .2d
5261- ; CHECK-GI-NEXT: cmgt v22 .2d, v5.2d, v17 .2d
5262- ; CHECK-GI-NEXT: cmgt v23 .2d, v6.2d, v17 .2d
5263- ; CHECK-GI-NEXT: cmgt v24 .2d, v7.2d, v17 .2d
5264- ; CHECK-GI-NEXT: bif v0.16b, v17 .16b, v16.16b
5265- ; CHECK-GI-NEXT: bif v1.16b, v17 .16b, v18 .16b
5266- ; CHECK-GI-NEXT: bif v2.16b, v17 .16b, v19 .16b
5267- ; CHECK-GI-NEXT: bif v3.16b, v17 .16b, v20 .16b
5268- ; CHECK-GI-NEXT: bif v4.16b, v17 .16b, v21 .16b
5269- ; CHECK-GI-NEXT: bif v5.16b, v17 .16b, v22 .16b
5270- ; CHECK-GI-NEXT: bif v6.16b, v17 .16b, v23 .16b
5271- ; CHECK-GI-NEXT: bif v7.16b, v17 .16b, v24 .16b
5256+ ; CHECK-GI-NEXT: cmgt v16.2d, v0.2d, v25 .2d
5257+ ; CHECK-GI-NEXT: cmgt v17 .2d, v1.2d, v25 .2d
5258+ ; CHECK-GI-NEXT: cmgt v18 .2d, v2.2d, v25 .2d
5259+ ; CHECK-GI-NEXT: cmgt v19 .2d, v3.2d, v25 .2d
5260+ ; CHECK-GI-NEXT: cmgt v20 .2d, v4.2d, v25 .2d
5261+ ; CHECK-GI-NEXT: cmgt v21 .2d, v5.2d, v25 .2d
5262+ ; CHECK-GI-NEXT: cmgt v22 .2d, v6.2d, v25 .2d
5263+ ; CHECK-GI-NEXT: cmgt v23 .2d, v7.2d, v25 .2d
5264+ ; CHECK-GI-NEXT: bif v0.16b, v25 .16b, v16.16b
5265+ ; CHECK-GI-NEXT: bif v1.16b, v25 .16b, v17 .16b
5266+ ; CHECK-GI-NEXT: bif v2.16b, v25 .16b, v18 .16b
5267+ ; CHECK-GI-NEXT: bif v3.16b, v25 .16b, v19 .16b
5268+ ; CHECK-GI-NEXT: bif v4.16b, v25 .16b, v20 .16b
5269+ ; CHECK-GI-NEXT: bif v5.16b, v25 .16b, v21 .16b
5270+ ; CHECK-GI-NEXT: bif v6.16b, v25 .16b, v22 .16b
5271+ ; CHECK-GI-NEXT: bif v7.16b, v25 .16b, v23 .16b
52725272; CHECK-GI-NEXT: uzp1 v0.4s, v0.4s, v1.4s
52735273; CHECK-GI-NEXT: uzp1 v1.4s, v2.4s, v3.4s
52745274; CHECK-GI-NEXT: uzp1 v2.4s, v4.4s, v5.4s
@@ -5505,6 +5505,7 @@ define <16 x i16> @test_signed_v16f64_v16i16(<16 x double> %f) {
55055505; CHECK-GI-NEXT: adrp x8, .LCPI85_0
55065506; CHECK-GI-NEXT: fcvtzs v6.2d, v6.2d
55075507; CHECK-GI-NEXT: fcvtzs v7.2d, v7.2d
5508+ ; CHECK-GI-NEXT: ldr q25, [x8, :lo12:.LCPI85_0]
55085509; CHECK-GI-NEXT: cmgt v17.2d, v16.2d, v0.2d
55095510; CHECK-GI-NEXT: cmgt v18.2d, v16.2d, v1.2d
55105511; CHECK-GI-NEXT: cmgt v19.2d, v16.2d, v2.2d
@@ -5515,29 +5516,28 @@ define <16 x i16> @test_signed_v16f64_v16i16(<16 x double> %f) {
55155516; CHECK-GI-NEXT: cmgt v24.2d, v16.2d, v7.2d
55165517; CHECK-GI-NEXT: bif v0.16b, v16.16b, v17.16b
55175518; CHECK-GI-NEXT: bif v1.16b, v16.16b, v18.16b
5518- ; CHECK-GI-NEXT: ldr q17, [x8, :lo12:.LCPI85_0]
55195519; CHECK-GI-NEXT: bif v2.16b, v16.16b, v19.16b
55205520; CHECK-GI-NEXT: bif v3.16b, v16.16b, v20.16b
55215521; CHECK-GI-NEXT: bif v4.16b, v16.16b, v21.16b
55225522; CHECK-GI-NEXT: bif v5.16b, v16.16b, v22.16b
55235523; CHECK-GI-NEXT: bif v6.16b, v16.16b, v23.16b
55245524; CHECK-GI-NEXT: bif v7.16b, v16.16b, v24.16b
5525- ; CHECK-GI-NEXT: cmgt v16.2d, v0.2d, v17 .2d
5526- ; CHECK-GI-NEXT: cmgt v18 .2d, v1.2d, v17 .2d
5527- ; CHECK-GI-NEXT: cmgt v19 .2d, v2.2d, v17 .2d
5528- ; CHECK-GI-NEXT: cmgt v20 .2d, v3.2d, v17 .2d
5529- ; CHECK-GI-NEXT: cmgt v21 .2d, v4.2d, v17 .2d
5530- ; CHECK-GI-NEXT: cmgt v22 .2d, v5.2d, v17 .2d
5531- ; CHECK-GI-NEXT: cmgt v23 .2d, v6.2d, v17 .2d
5532- ; CHECK-GI-NEXT: cmgt v24 .2d, v7.2d, v17 .2d
5533- ; CHECK-GI-NEXT: bif v0.16b, v17 .16b, v16.16b
5534- ; CHECK-GI-NEXT: bif v1.16b, v17 .16b, v18 .16b
5535- ; CHECK-GI-NEXT: bif v2.16b, v17 .16b, v19 .16b
5536- ; CHECK-GI-NEXT: bif v3.16b, v17 .16b, v20 .16b
5537- ; CHECK-GI-NEXT: bif v4.16b, v17 .16b, v21 .16b
5538- ; CHECK-GI-NEXT: bif v5.16b, v17 .16b, v22 .16b
5539- ; CHECK-GI-NEXT: bif v6.16b, v17 .16b, v23 .16b
5540- ; CHECK-GI-NEXT: bif v7.16b, v17 .16b, v24 .16b
5525+ ; CHECK-GI-NEXT: cmgt v16.2d, v0.2d, v25 .2d
5526+ ; CHECK-GI-NEXT: cmgt v17 .2d, v1.2d, v25 .2d
5527+ ; CHECK-GI-NEXT: cmgt v18 .2d, v2.2d, v25 .2d
5528+ ; CHECK-GI-NEXT: cmgt v19 .2d, v3.2d, v25 .2d
5529+ ; CHECK-GI-NEXT: cmgt v20 .2d, v4.2d, v25 .2d
5530+ ; CHECK-GI-NEXT: cmgt v21 .2d, v5.2d, v25 .2d
5531+ ; CHECK-GI-NEXT: cmgt v22 .2d, v6.2d, v25 .2d
5532+ ; CHECK-GI-NEXT: cmgt v23 .2d, v7.2d, v25 .2d
5533+ ; CHECK-GI-NEXT: bif v0.16b, v25 .16b, v16.16b
5534+ ; CHECK-GI-NEXT: bif v1.16b, v25 .16b, v17 .16b
5535+ ; CHECK-GI-NEXT: bif v2.16b, v25 .16b, v18 .16b
5536+ ; CHECK-GI-NEXT: bif v3.16b, v25 .16b, v19 .16b
5537+ ; CHECK-GI-NEXT: bif v4.16b, v25 .16b, v20 .16b
5538+ ; CHECK-GI-NEXT: bif v5.16b, v25 .16b, v21 .16b
5539+ ; CHECK-GI-NEXT: bif v6.16b, v25 .16b, v22 .16b
5540+ ; CHECK-GI-NEXT: bif v7.16b, v25 .16b, v23 .16b
55415541; CHECK-GI-NEXT: uzp1 v0.4s, v0.4s, v1.4s
55425542; CHECK-GI-NEXT: uzp1 v1.4s, v2.4s, v3.4s
55435543; CHECK-GI-NEXT: uzp1 v2.4s, v4.4s, v5.4s
0 commit comments