57 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass=si-optimize-exec-masking-pre-ra %s -o - | FileCheck -check-prefix=GXN %s3# RUN: llc -mtriple=amdgcn -verify-machineinstrs -passes=si-optimize-exec-masking-pre-ra %s -o - | FileCheck -check-prefix=GXN %s4 5# FIXME: This is a miscompile, and the s_or_b64s need to be preserved.6 7---8name: invalid_end_cf_fold_09tracksRegLiveness: true10liveins:11 - { reg: '$vgpr0', virtual-reg: '%0' }12 - { reg: '$sgpr0_sgpr1', virtual-reg: '%1' }13machineFunctionInfo:14 isEntryFunction: true15body: |16 ; GXN-LABEL: name: invalid_end_cf_fold_017 ; GXN: bb.0:18 ; GXN-NEXT: successors: %bb.1(0x80000000)19 ; GXN-NEXT: liveins: $vgpr0, $sgpr0_sgpr120 ; GXN-NEXT: {{ $}}21 ; GXN-NEXT: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr0_sgpr122 ; GXN-NEXT: [[COPY1:%[0-9]+]]:sgpr_64 = COPY $exec23 ; GXN-NEXT: $exec = S_OR_B64 $exec, [[COPY]], implicit-def $scc24 ; GXN-NEXT: [[COPY2:%[0-9]+]]:sgpr_64 = COPY $exec25 ; GXN-NEXT: {{ $}}26 ; GXN-NEXT: bb.1:27 ; GXN-NEXT: successors: %bb.2(0x80000000)28 ; GXN-NEXT: {{ $}}29 ; GXN-NEXT: $exec = S_OR_B64 $exec, [[COPY1]], implicit-def $scc30 ; GXN-NEXT: {{ $}}31 ; GXN-NEXT: bb.2:32 ; GXN-NEXT: $exec = S_OR_B64 $exec, [[COPY2]], implicit-def $scc33 ; GXN-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF34 ; GXN-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF35 ; GXN-NEXT: DS_WRITE_B32 [[DEF]], [[DEF1]], 0, 0, implicit $m0, implicit $exec :: (store (s32), addrspace 3)36 ; GXN-NEXT: S_ENDPGM 037 bb.0:38 liveins: $vgpr0, $sgpr0_sgpr139 40 %0:sgpr_64 = COPY $sgpr0_sgpr141 %1:sgpr_64 = COPY $exec42 $exec = S_OR_B64 $exec, %0, implicit-def $scc43 %2:sgpr_64 = COPY $exec44 45 bb.1:46 $exec = S_OR_B64 $exec, %1, implicit-def $scc47 48 bb.2:49 $exec = S_OR_B64 $exec, %2, implicit-def $scc50 51 %5:vgpr_32 = IMPLICIT_DEF52 %6:vgpr_32 = IMPLICIT_DEF53 DS_WRITE_B32 %5, %6, 0, 0, implicit $m0, implicit $exec :: (store (s32), addrspace 3)54 S_ENDPGM 055 56...57