@@ -15,7 +15,7 @@ define i8 @nilpotent(i8 %x) {
15
15
define i2 @idempotent (i2 %x ) {
16
16
; CHECK-LABEL: define i2 @idempotent(
17
17
; CHECK-SAME: i2 [[X:%.*]]) {
18
- ; CHECK-NEXT: ret i2 -1
18
+ ; CHECK-NEXT: ret i2 [[X]]
19
19
;
20
20
%tmp1 = and i2 %x , %x
21
21
%tmp2 = and i2 %tmp1 , %x
@@ -60,8 +60,7 @@ define i3 @foo3x5(i3 %x) {
60
60
; CHECK-SAME: i3 [[X:%.*]]) {
61
61
; CHECK-NEXT: [[TMP3:%.*]] = mul i3 [[X]], [[X]]
62
62
; CHECK-NEXT: [[TMP4:%.*]] = mul i3 [[TMP3]], [[X]]
63
- ; CHECK-NEXT: [[TMP5:%.*]] = mul i3 [[TMP4]], [[TMP3]]
64
- ; CHECK-NEXT: ret i3 [[TMP5]]
63
+ ; CHECK-NEXT: ret i3 [[TMP4]]
65
64
;
66
65
%tmp1 = mul i3 %x , %x
67
66
%tmp2 = mul i3 %tmp1 , %x
@@ -75,8 +74,7 @@ define i3 @foo3x5_nsw(i3 %x) {
75
74
; CHECK-LABEL: define i3 @foo3x5_nsw(
76
75
; CHECK-SAME: i3 [[X:%.*]]) {
77
76
; CHECK-NEXT: [[TMP3:%.*]] = mul i3 [[X]], [[X]]
78
- ; CHECK-NEXT: [[TMP2:%.*]] = mul i3 [[TMP3]], [[X]]
79
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i3 [[TMP2]], [[TMP3]]
77
+ ; CHECK-NEXT: [[TMP4:%.*]] = mul nsw i3 [[TMP3]], [[X]]
80
78
; CHECK-NEXT: ret i3 [[TMP4]]
81
79
;
82
80
%tmp1 = mul i3 %x , %x
@@ -91,8 +89,7 @@ define i3 @foo3x6(i3 %x) {
91
89
; CHECK-LABEL: define i3 @foo3x6(
92
90
; CHECK-SAME: i3 [[X:%.*]]) {
93
91
; CHECK-NEXT: [[TMP1:%.*]] = mul i3 [[X]], [[X]]
94
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i3 [[TMP1]], [[X]]
95
- ; CHECK-NEXT: [[TMP2:%.*]] = mul i3 [[TMP3]], [[TMP3]]
92
+ ; CHECK-NEXT: [[TMP2:%.*]] = mul i3 [[TMP1]], [[TMP1]]
96
93
; CHECK-NEXT: ret i3 [[TMP2]]
97
94
;
98
95
%tmp1 = mul i3 %x , %x
@@ -108,9 +105,7 @@ define i3 @foo3x7(i3 %x) {
108
105
; CHECK-LABEL: define i3 @foo3x7(
109
106
; CHECK-SAME: i3 [[X:%.*]]) {
110
107
; CHECK-NEXT: [[TMP5:%.*]] = mul i3 [[X]], [[X]]
111
- ; CHECK-NEXT: [[TMP7:%.*]] = mul i3 [[TMP5]], [[X]]
112
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i3 [[TMP7]], [[X]]
113
- ; CHECK-NEXT: [[TMP6:%.*]] = mul i3 [[TMP3]], [[TMP7]]
108
+ ; CHECK-NEXT: [[TMP6:%.*]] = mul i3 [[TMP5]], [[X]]
114
109
; CHECK-NEXT: ret i3 [[TMP6]]
115
110
;
116
111
%tmp1 = mul i3 %x , %x
@@ -127,8 +122,7 @@ define i4 @foo4x8(i4 %x) {
127
122
; CHECK-LABEL: define i4 @foo4x8(
128
123
; CHECK-SAME: i4 [[X:%.*]]) {
129
124
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
130
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP1]], [[TMP1]]
131
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP3]], [[TMP3]]
125
+ ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP1]], [[TMP1]]
132
126
; CHECK-NEXT: ret i4 [[TMP4]]
133
127
;
134
128
%tmp1 = mul i4 %x , %x
@@ -146,9 +140,8 @@ define i4 @foo4x9(i4 %x) {
146
140
; CHECK-LABEL: define i4 @foo4x9(
147
141
; CHECK-SAME: i4 [[X:%.*]]) {
148
142
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
149
- ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP1]], [[TMP1]]
150
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP2]], [[X]]
151
- ; CHECK-NEXT: [[TMP8:%.*]] = mul i4 [[TMP3]], [[TMP2]]
143
+ ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP1]], [[X]]
144
+ ; CHECK-NEXT: [[TMP8:%.*]] = mul i4 [[TMP2]], [[TMP1]]
152
145
; CHECK-NEXT: ret i4 [[TMP8]]
153
146
;
154
147
%tmp1 = mul i4 %x , %x
@@ -167,8 +160,7 @@ define i4 @foo4x10(i4 %x) {
167
160
; CHECK-LABEL: define i4 @foo4x10(
168
161
; CHECK-SAME: i4 [[X:%.*]]) {
169
162
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
170
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP1]], [[TMP1]]
171
- ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP4]], [[X]]
163
+ ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP1]], [[X]]
172
164
; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP2]], [[TMP2]]
173
165
; CHECK-NEXT: ret i4 [[TMP3]]
174
166
;
@@ -189,8 +181,7 @@ define i4 @foo4x11(i4 %x) {
189
181
; CHECK-LABEL: define i4 @foo4x11(
190
182
; CHECK-SAME: i4 [[X:%.*]]) {
191
183
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
192
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP1]], [[TMP1]]
193
- ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP4]], [[X]]
184
+ ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP1]], [[X]]
194
185
; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP2]], [[X]]
195
186
; CHECK-NEXT: [[TMP10:%.*]] = mul i4 [[TMP3]], [[TMP2]]
196
187
; CHECK-NEXT: ret i4 [[TMP10]]
@@ -213,9 +204,7 @@ define i4 @foo4x12(i4 %x) {
213
204
; CHECK-LABEL: define i4 @foo4x12(
214
205
; CHECK-SAME: i4 [[X:%.*]]) {
215
206
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
216
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP1]], [[X]]
217
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP4]], [[TMP4]]
218
- ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP3]], [[TMP3]]
207
+ ; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP1]], [[TMP1]]
219
208
; CHECK-NEXT: ret i4 [[TMP2]]
220
209
;
221
210
%tmp1 = mul i4 %x , %x
@@ -238,9 +227,7 @@ define i4 @foo4x13(i4 %x) {
238
227
; CHECK-SAME: i4 [[X:%.*]]) {
239
228
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
240
229
; CHECK-NEXT: [[TMP2:%.*]] = mul i4 [[TMP1]], [[X]]
241
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP2]], [[TMP2]]
242
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP3]], [[X]]
243
- ; CHECK-NEXT: [[TMP12:%.*]] = mul i4 [[TMP4]], [[TMP3]]
230
+ ; CHECK-NEXT: [[TMP12:%.*]] = mul i4 [[TMP2]], [[TMP1]]
244
231
; CHECK-NEXT: ret i4 [[TMP12]]
245
232
;
246
233
%tmp1 = mul i4 %x , %x
@@ -263,9 +250,7 @@ define i4 @foo4x14(i4 %x) {
263
250
; CHECK-LABEL: define i4 @foo4x14(
264
251
; CHECK-SAME: i4 [[X:%.*]]) {
265
252
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
266
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP1]], [[X]]
267
- ; CHECK-NEXT: [[TMP5:%.*]] = mul i4 [[TMP4]], [[TMP4]]
268
- ; CHECK-NEXT: [[TMP6:%.*]] = mul i4 [[TMP5]], [[X]]
253
+ ; CHECK-NEXT: [[TMP6:%.*]] = mul i4 [[TMP1]], [[X]]
269
254
; CHECK-NEXT: [[TMP7:%.*]] = mul i4 [[TMP6]], [[TMP6]]
270
255
; CHECK-NEXT: ret i4 [[TMP7]]
271
256
;
@@ -290,9 +275,7 @@ define i4 @foo4x15(i4 %x) {
290
275
; CHECK-LABEL: define i4 @foo4x15(
291
276
; CHECK-SAME: i4 [[X:%.*]]) {
292
277
; CHECK-NEXT: [[TMP1:%.*]] = mul i4 [[X]], [[X]]
293
- ; CHECK-NEXT: [[TMP4:%.*]] = mul i4 [[TMP1]], [[X]]
294
- ; CHECK-NEXT: [[TMP3:%.*]] = mul i4 [[TMP4]], [[TMP4]]
295
- ; CHECK-NEXT: [[TMP6:%.*]] = mul i4 [[TMP3]], [[X]]
278
+ ; CHECK-NEXT: [[TMP6:%.*]] = mul i4 [[TMP1]], [[X]]
296
279
; CHECK-NEXT: [[TMP5:%.*]] = mul i4 [[TMP6]], [[X]]
297
280
; CHECK-NEXT: [[TMP14:%.*]] = mul i4 [[TMP5]], [[TMP6]]
298
281
; CHECK-NEXT: ret i4 [[TMP14]]
0 commit comments