blob: dfb9acc6bd67ac6688cca54a3f6a50ff837e4c62 [file] [edit]
; 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
}