Skip to content

Commit 7a347d8

Browse files
committed
add test
1 parent db3674a commit 7a347d8

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

llvm/test/CodeGen/X86/coalesce-commutative-implicit-def.mir

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,24 @@ body: |
3535
%0:gr64_with_sub_8bit = COPY %1:gr64_with_sub_8bit
3636
RET 0, implicit %0
3737
...
38+
# Commuting instruction with 3 ops is handled correctly.
39+
---
40+
name: commuting_3_ops
41+
tracksRegLiveness: true
42+
body: |
43+
bb.0:
44+
liveins: $ymm0, $ymm1
45+
46+
; CHECK-LABEL: name: commuting_3_ops
47+
; CHECK: liveins: $ymm0, $ymm1
48+
; CHECK-NEXT: {{ $}}
49+
; CHECK-NEXT: [[COPY:%[0-9]+]]:vr256 = COPY $ymm1
50+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:vr256 = COPY $ymm0
51+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:vr256 = contract nofpexcept VFMADD213PSYr [[COPY1]], [[COPY]], [[COPY]], implicit $mxcsr
52+
; CHECK-NEXT: RET 0, implicit [[COPY1]]
53+
%0:vr256 = COPY $ymm1
54+
%1:vr256 = COPY $ymm0
55+
%0:vr256 = contract nofpexcept VFMADD231PSYr %0:vr256, %0:vr256, %1:vr256, implicit $mxcsr
56+
%1:vr256 = COPY %0:vr256
57+
RET 0, implicit %1
58+
...

0 commit comments

Comments
 (0)