@@ -388,29 +388,29 @@ define <5 x i32> @test_signed_v5f64_v5i32(<5 x double> %f) {
388
388
; CHECK-GI-NEXT: fcvtzs v1.2d, v2.2d
389
389
; CHECK-GI-NEXT: ldr q2, [x8, :lo12:.LCPI12_1]
390
390
; CHECK-GI-NEXT: adrp x8, .LCPI12_0
391
+ ; CHECK-GI-NEXT: cmgt v6.2d, v2.2d, v3.2d
391
392
; CHECK-GI-NEXT: cmgt v4.2d, v2.2d, v0.2d
392
393
; CHECK-GI-NEXT: cmgt v5.2d, v2.2d, v1.2d
393
394
; CHECK-GI-NEXT: bif v0.16b, v2.16b, v4.16b
394
395
; 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
404
404
; CHECK-GI-NEXT: mov d3, v0.d[1]
405
405
; CHECK-GI-NEXT: mov d4, v1.d[1]
406
406
; CHECK-GI-NEXT: fmov x0, d0
407
+ ; CHECK-GI-NEXT: fmov x4, d2
407
408
; CHECK-GI-NEXT: fmov x2, d1
408
409
; CHECK-GI-NEXT: // kill: def $w0 killed $w0 killed $x0
409
410
; 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
411
412
; CHECK-GI-NEXT: fmov x1, d3
412
413
; CHECK-GI-NEXT: fmov x3, d4
413
- ; CHECK-GI-NEXT: // kill: def $w4 killed $w4 killed $x4
414
414
; CHECK-GI-NEXT: // kill: def $w1 killed $w1 killed $x1
415
415
; CHECK-GI-NEXT: // kill: def $w3 killed $w3 killed $x3
416
416
; CHECK-GI-NEXT: ret
@@ -5236,6 +5236,7 @@ define <16 x i8> @test_signed_v16f64_v16i8(<16 x double> %f) {
5236
5236
; CHECK-GI-NEXT: adrp x8, .LCPI83_0
5237
5237
; CHECK-GI-NEXT: fcvtzs v6.2d, v6.2d
5238
5238
; CHECK-GI-NEXT: fcvtzs v7.2d, v7.2d
5239
+ ; CHECK-GI-NEXT: ldr q25, [x8, :lo12:.LCPI83_0]
5239
5240
; CHECK-GI-NEXT: cmgt v17.2d, v16.2d, v0.2d
5240
5241
; CHECK-GI-NEXT: cmgt v18.2d, v16.2d, v1.2d
5241
5242
; 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) {
5246
5247
; CHECK-GI-NEXT: cmgt v24.2d, v16.2d, v7.2d
5247
5248
; CHECK-GI-NEXT: bif v0.16b, v16.16b, v17.16b
5248
5249
; CHECK-GI-NEXT: bif v1.16b, v16.16b, v18.16b
5249
- ; CHECK-GI-NEXT: ldr q17, [x8, :lo12:.LCPI83_0]
5250
5250
; CHECK-GI-NEXT: bif v2.16b, v16.16b, v19.16b
5251
5251
; CHECK-GI-NEXT: bif v3.16b, v16.16b, v20.16b
5252
5252
; CHECK-GI-NEXT: bif v4.16b, v16.16b, v21.16b
5253
5253
; CHECK-GI-NEXT: bif v5.16b, v16.16b, v22.16b
5254
5254
; CHECK-GI-NEXT: bif v6.16b, v16.16b, v23.16b
5255
5255
; 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
5272
5272
; CHECK-GI-NEXT: uzp1 v0.4s, v0.4s, v1.4s
5273
5273
; CHECK-GI-NEXT: uzp1 v1.4s, v2.4s, v3.4s
5274
5274
; 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) {
5505
5505
; CHECK-GI-NEXT: adrp x8, .LCPI85_0
5506
5506
; CHECK-GI-NEXT: fcvtzs v6.2d, v6.2d
5507
5507
; CHECK-GI-NEXT: fcvtzs v7.2d, v7.2d
5508
+ ; CHECK-GI-NEXT: ldr q25, [x8, :lo12:.LCPI85_0]
5508
5509
; CHECK-GI-NEXT: cmgt v17.2d, v16.2d, v0.2d
5509
5510
; CHECK-GI-NEXT: cmgt v18.2d, v16.2d, v1.2d
5510
5511
; 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) {
5515
5516
; CHECK-GI-NEXT: cmgt v24.2d, v16.2d, v7.2d
5516
5517
; CHECK-GI-NEXT: bif v0.16b, v16.16b, v17.16b
5517
5518
; CHECK-GI-NEXT: bif v1.16b, v16.16b, v18.16b
5518
- ; CHECK-GI-NEXT: ldr q17, [x8, :lo12:.LCPI85_0]
5519
5519
; CHECK-GI-NEXT: bif v2.16b, v16.16b, v19.16b
5520
5520
; CHECK-GI-NEXT: bif v3.16b, v16.16b, v20.16b
5521
5521
; CHECK-GI-NEXT: bif v4.16b, v16.16b, v21.16b
5522
5522
; CHECK-GI-NEXT: bif v5.16b, v16.16b, v22.16b
5523
5523
; CHECK-GI-NEXT: bif v6.16b, v16.16b, v23.16b
5524
5524
; 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
5541
5541
; CHECK-GI-NEXT: uzp1 v0.4s, v0.4s, v1.4s
5542
5542
; CHECK-GI-NEXT: uzp1 v1.4s, v2.4s, v3.4s
5543
5543
; CHECK-GI-NEXT: uzp1 v2.4s, v4.4s, v5.4s
0 commit comments