| ; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6 | |
| ; RUN: llc -mtriple=amdgpu9.00 -stop-after=finalize-isel %s -o - | FileCheck %s | |
| ;; The clobber partially overlaps the output def, which covers the read. | |
| define <2 x i32> @partial_overlap_output() { | |
| ; CHECK-LABEL: name: partial_overlap_output | |
| ; CHECK: bb.0 (%ir-block.0): | |
| ; CHECK-NEXT: INLINEASM &"", sideeffect attdialect, regdef, implicit-def $vgpr0_vgpr1, clobber, implicit-def dead early-clobber $vgpr1_vgpr2 | |
| ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 | |
| ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub0 | |
| ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub1 | |
| ; CHECK-NEXT: $vgpr0 = COPY [[COPY1]] | |
| ; CHECK-NEXT: $vgpr1 = COPY [[COPY2]] | |
| ; CHECK-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 | |
| %r = call <2 x i32> asm sideeffect "", "={v[0:1]},~{v[1:2]}"() | |
| ret <2 x i32> %r | |
| } |