@@ -474,3 +474,54 @@ body: |
474
474
S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
475
475
}
476
476
...
477
+
478
+ # FIXME: remove S_SET_GPR_IDX_* despite the branch at the end of the block
479
+ ---
480
+ name : simple_cbranch_vccz
481
+ body : |
482
+ ; GCN-LABEL: name: simple_cbranch_vccz
483
+ ; GCN: bb.0:
484
+ ; GCN: successors: %bb.1(0x80000000)
485
+ ; GCN: S_SET_GPR_IDX_ON $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
486
+ ; GCN: $vgpr16 = V_MOV_B32_e32 undef $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
487
+ ; GCN: S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
488
+ ; GCN: S_SET_GPR_IDX_ON killed $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
489
+ ; GCN: $vgpr15 = V_MOV_B32_e32 undef $vgpr0, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
490
+ ; GCN: S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
491
+ ; GCN: S_CBRANCH_VCCZ %bb.1, implicit $vcc
492
+ ; GCN: bb.1:
493
+ bb.0:
494
+ S_SET_GPR_IDX_ON $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
495
+ $vgpr16 = V_MOV_B32_e32 undef $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
496
+ S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
497
+ S_SET_GPR_IDX_ON killed $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
498
+ $vgpr15 = V_MOV_B32_e32 undef $vgpr0, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
499
+ S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
500
+ S_CBRANCH_VCCZ %bb.1, implicit $vcc
501
+ bb.1:
502
+ ...
503
+
504
+ # FIXME: remove S_SET_GPR_IDX_* despite the branch at the end of the block
505
+ ---
506
+ name : simple_cbranch_execz
507
+ body : |
508
+ ; GCN-LABEL: name: simple_cbranch_execz
509
+ ; GCN: bb.0:
510
+ ; GCN: successors:
511
+ ; GCN: S_SET_GPR_IDX_ON $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
512
+ ; GCN: $vgpr16 = V_MOV_B32_e32 undef $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
513
+ ; GCN: S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
514
+ ; GCN: S_SET_GPR_IDX_ON killed $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
515
+ ; GCN: $vgpr15 = V_MOV_B32_e32 undef $vgpr0, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
516
+ ; GCN: S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
517
+ ; GCN: bb.1:
518
+ bb.0:
519
+ S_SET_GPR_IDX_ON $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
520
+ $vgpr16 = V_MOV_B32_e32 undef $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
521
+ S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
522
+ S_SET_GPR_IDX_ON killed $sgpr2, 1, implicit-def $mode, implicit-def $m0, implicit $mode, implicit undef $m0
523
+ $vgpr15 = V_MOV_B32_e32 undef $vgpr0, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $m0
524
+ S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
525
+ S_CBRANCH_EXECZ %bb.1, implicit $exec
526
+ bb.1:
527
+ ...
0 commit comments