@@ -388,9 +388,8 @@ body: |
388388 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
389389 ; GCN-NEXT: {{ $}}
390390 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
391- ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc
392- ; GCN-NEXT: S_NOP 0, implicit killed $scc
393- ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
391+ ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
392+ ; GCN-NEXT: S_NOP 0, implicit $scc
394393 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
395394 ; GCN-NEXT: S_BRANCH %bb.1
396395 ; GCN-NEXT: {{ $}}
@@ -416,6 +415,80 @@ body: |
416415 bb.2:
417416 S_ENDPGM 0
418417
418+ ...
419+ ---
420+ name : xor_1_cmp_lg_0_killed_scc
421+ body : |
422+ ; GCN-LABEL: name: xor_1_cmp_lg_0_killed_scc
423+ ; GCN: bb.0:
424+ ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
425+ ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
426+ ; GCN-NEXT: {{ $}}
427+ ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
428+ ; GCN-NEXT: [[S_XOR_B32_:%[0-9]+]]:sreg_32 = S_XOR_B32 1, killed [[COPY]], implicit-def $scc
429+ ; GCN-NEXT: S_NOP 0, implicit $scc
430+ ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
431+ ; GCN-NEXT: S_BRANCH %bb.1
432+ ; GCN-NEXT: {{ $}}
433+ ; GCN-NEXT: bb.1:
434+ ; GCN-NEXT: successors: %bb.2(0x80000000)
435+ ; GCN-NEXT: {{ $}}
436+ ; GCN-NEXT: bb.2:
437+ ; GCN-NEXT: S_ENDPGM 0
438+ bb.0:
439+ successors: %bb.1(0x40000000), %bb.2(0x40000000)
440+ liveins: $sgpr0, $vgpr0_vgpr1
441+
442+ %0:sreg_32 = COPY $sgpr0
443+ %1:sreg_32 = S_XOR_B32 1, killed %0, implicit-def $scc
444+ S_NOP 0, implicit killed $scc
445+ S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc
446+ S_CBRANCH_SCC0 %bb.2, implicit $scc
447+ S_BRANCH %bb.1
448+
449+ bb.1:
450+ successors: %bb.2(0x80000000)
451+
452+ bb.2:
453+ S_ENDPGM 0
454+
455+ ...
456+ ---
457+ name : absdiff_1_cmp_lg_0_killed_scc
458+ body : |
459+ ; GCN-LABEL: name: absdiff_1_cmp_lg_0_killed_scc
460+ ; GCN: bb.0:
461+ ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
462+ ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
463+ ; GCN-NEXT: {{ $}}
464+ ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
465+ ; GCN-NEXT: [[S_ABSDIFF_I32_:%[0-9]+]]:sreg_32 = S_ABSDIFF_I32 1, killed [[COPY]], implicit-def $scc
466+ ; GCN-NEXT: S_NOP 0, implicit $scc
467+ ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
468+ ; GCN-NEXT: S_BRANCH %bb.1
469+ ; GCN-NEXT: {{ $}}
470+ ; GCN-NEXT: bb.1:
471+ ; GCN-NEXT: successors: %bb.2(0x80000000)
472+ ; GCN-NEXT: {{ $}}
473+ ; GCN-NEXT: bb.2:
474+ ; GCN-NEXT: S_ENDPGM 0
475+ bb.0:
476+ successors: %bb.1(0x40000000), %bb.2(0x40000000)
477+ liveins: $sgpr0, $vgpr0_vgpr1
478+
479+ %0:sreg_32 = COPY $sgpr0
480+ %1:sreg_32 = S_ABSDIFF_I32 1, killed %0, implicit-def $scc
481+ S_NOP 0, implicit killed $scc
482+ S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc
483+ S_CBRANCH_SCC0 %bb.2, implicit $scc
484+ S_BRANCH %bb.1
485+
486+ bb.1:
487+ successors: %bb.2(0x80000000)
488+
489+ bb.2:
490+ S_ENDPGM 0
491+
419492 ...
420493
421494---
0 commit comments