@@ -13,12 +13,9 @@ body: |
13
13
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0
14
14
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
15
15
; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $sgpr2
16
- ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)
17
- ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY2]](s32)
18
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = disjoint G_OR [[MV]], [[ZEXT]]
19
- ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[OR]](s64)
20
- ; CHECK-NEXT: $sgpr0 = COPY [[UV]](s32)
21
- ; CHECK-NEXT: $sgpr1 = COPY [[UV1]](s32)
16
+ ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY2]], [[COPY]]
17
+ ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)
18
+ ; CHECK-NEXT: $sgpr1 = COPY [[COPY1]](s32)
22
19
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1
23
20
%0:_(s32) = COPY $sgpr0
24
21
%1:_(s32) = COPY $sgpr1
@@ -40,14 +37,10 @@ body: |
40
37
; CHECK-LABEL: name: test_combine_and_s64_himask
41
38
; CHECK: liveins: $sgpr0, $sgpr1, $sgpr2
42
39
; CHECK-NEXT: {{ $}}
43
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0
44
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
45
- ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)
46
- ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -4294967296
47
- ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[MV]], [[C]]
48
- ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[AND]](s64)
49
- ; CHECK-NEXT: $sgpr0 = COPY [[UV]](s32)
50
- ; CHECK-NEXT: $sgpr1 = COPY [[UV1]](s32)
40
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr1
41
+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0
42
+ ; CHECK-NEXT: $sgpr0 = COPY [[C]](s32)
43
+ ; CHECK-NEXT: $sgpr1 = COPY [[COPY]](s32)
51
44
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1
52
45
%0:_(s32) = COPY $sgpr0
53
46
%1:_(s32) = COPY $sgpr1
@@ -68,17 +61,10 @@ body: |
68
61
; CHECK-LABEL: name: test_combined
69
62
; CHECK: liveins: $sgpr0, $sgpr1, $sgpr2
70
63
; CHECK-NEXT: {{ $}}
71
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0
72
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
73
- ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $sgpr2
74
- ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)
75
- ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -4294967296
76
- ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[MV]], [[C]]
77
- ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY2]](s32)
78
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = disjoint G_OR [[AND]], [[ZEXT]]
79
- ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[OR]](s64)
80
- ; CHECK-NEXT: $sgpr0 = COPY [[UV]](s32)
81
- ; CHECK-NEXT: $sgpr1 = COPY [[UV1]](s32)
64
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr1
65
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
66
+ ; CHECK-NEXT: $sgpr0 = COPY [[COPY1]](s32)
67
+ ; CHECK-NEXT: $sgpr1 = COPY [[COPY]](s32)
82
68
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1
83
69
%0:_(s32) = COPY $sgpr0
84
70
%1:_(s32) = COPY $sgpr1
@@ -105,9 +91,10 @@ body: |
105
91
; CHECK-NEXT: {{ $}}
106
92
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $sgpr0_sgpr1
107
93
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
108
- ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY1]](s32)
109
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = disjoint G_OR [[COPY]], [[ZEXT]]
110
- ; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[OR]](s64)
94
+ ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](s64)
95
+ ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY1]], [[UV]]
96
+ ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[OR]](s32), [[UV1]](s32)
97
+ ; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[MV]](s64)
111
98
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1
112
99
%0:_(s64) = COPY $sgpr0_sgpr1
113
100
%1:_(s32) = COPY $sgpr2
@@ -126,9 +113,10 @@ body: |
126
113
; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
127
114
; CHECK-NEXT: {{ $}}
128
115
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $sgpr0_sgpr1
129
- ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -4294967296
130
- ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]
131
- ; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[AND]](s64)
116
+ ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](s64)
117
+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0
118
+ ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[C]](s32), [[UV1]](s32)
119
+ ; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[MV]](s64)
132
120
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1
133
121
%0:_(s64) = COPY $sgpr0_sgpr1
134
122
%1:_(s64) = G_CONSTANT i64 -4294967296
@@ -148,11 +136,9 @@ body: |
148
136
; CHECK-NEXT: {{ $}}
149
137
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1
150
138
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr2
151
- ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -4294967296
152
- ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]
153
- ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY1]](s32)
154
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[AND]], [[ZEXT]]
155
- ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[OR]](s64)
139
+ ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](s64)
140
+ ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY1]](s32), [[UV1]](s32)
141
+ ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[MV]](s64)
156
142
%1:_(s64) = COPY $vgpr0_vgpr1
157
143
%0:_(s32) = COPY $vgpr2
158
144
%2:_(s64) = G_CONSTANT i64 -4294967296
0 commit comments