@@ -118,8 +118,8 @@ define i1 @pow2_srl_fail0(i32 %x, i32 %y) {
118
118
; CHECK-LABEL: pow2_srl_fail0:
119
119
; CHECK: # %bb.0:
120
120
; CHECK-NEXT: movl %esi, %ecx
121
- ; CHECK-NEXT: andb $30, %cl
122
121
; CHECK-NEXT: notl %edi
122
+ ; CHECK-NEXT: andb $30, %cl
123
123
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
124
124
; CHECK-NEXT: shll %cl, %edi
125
125
; CHECK-NEXT: testl $1048576, %edi # imm = 0x100000
@@ -136,8 +136,8 @@ define i1 @pow2_srl_fail1(i32 %x, i32 %y) {
136
136
; CHECK-LABEL: pow2_srl_fail1:
137
137
; CHECK: # %bb.0:
138
138
; CHECK-NEXT: movl %esi, %ecx
139
- ; CHECK-NEXT: andb $7, %cl
140
139
; CHECK-NEXT: notl %edi
140
+ ; CHECK-NEXT: andb $7, %cl
141
141
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
142
142
; CHECK-NEXT: shll %cl, %edi
143
143
; CHECK-NEXT: testl $1048577, %edi # imm = 0x100001
@@ -170,12 +170,12 @@ define i1 @pow2_rotl_fail0(i32 %x, i32 %y) {
170
170
; CHECK-LABEL: pow2_rotl_fail0:
171
171
; CHECK: # %bb.0:
172
172
; CHECK-NEXT: movl %esi, %ecx
173
+ ; CHECK-NEXT: notl %edi
173
174
; CHECK-NEXT: movl $1048576, %eax # imm = 0x100000
174
175
; CHECK-NEXT: movl $512, %edx # imm = 0x200
175
176
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
176
177
; CHECK-NEXT: shldl %cl, %eax, %edx
177
- ; CHECK-NEXT: notl %edi
178
- ; CHECK-NEXT: testl %edi, %edx
178
+ ; CHECK-NEXT: testl %edx, %edi
179
179
; CHECK-NEXT: sete %al
180
180
; CHECK-NEXT: retq
181
181
%d = call i32 @llvm.fshl.i32 (i32 512 , i32 1048576 , i32 %y )
@@ -188,11 +188,11 @@ define i1 @pow2_rotl_fail1(i32 %x, i32 %y) {
188
188
; CHECK-LABEL: pow2_rotl_fail1:
189
189
; CHECK: # %bb.0:
190
190
; CHECK-NEXT: movl %esi, %ecx
191
+ ; CHECK-NEXT: notl %edi
191
192
; CHECK-NEXT: movl $511, %eax # imm = 0x1FF
192
193
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
193
194
; CHECK-NEXT: roll %cl, %eax
194
- ; CHECK-NEXT: notl %edi
195
- ; CHECK-NEXT: testl %edi, %eax
195
+ ; CHECK-NEXT: testl %eax, %edi
196
196
; CHECK-NEXT: sete %al
197
197
; CHECK-NEXT: retq
198
198
%d = call i32 @llvm.fshl.i32 (i32 511 , i32 511 , i32 %y )
@@ -221,12 +221,12 @@ define i1 @pow2_rotr_fail0(i32 %x, i32 %y) {
221
221
; CHECK-LABEL: pow2_rotr_fail0:
222
222
; CHECK: # %bb.0:
223
223
; CHECK-NEXT: movl %esi, %ecx
224
+ ; CHECK-NEXT: notl %edi
224
225
; CHECK-NEXT: movl $512, %eax # imm = 0x200
225
226
; CHECK-NEXT: movl $1048576, %edx # imm = 0x100000
226
227
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
227
228
; CHECK-NEXT: shrdl %cl, %eax, %edx
228
- ; CHECK-NEXT: notl %edi
229
- ; CHECK-NEXT: testl %edi, %edx
229
+ ; CHECK-NEXT: testl %edx, %edi
230
230
; CHECK-NEXT: sete %al
231
231
; CHECK-NEXT: retq
232
232
%d = call i32 @llvm.fshr.i32 (i32 512 , i32 1048576 , i32 %y )
@@ -239,11 +239,11 @@ define i1 @pow2_rotr_fail1(i32 %x, i32 %y) {
239
239
; CHECK-LABEL: pow2_rotr_fail1:
240
240
; CHECK: # %bb.0:
241
241
; CHECK-NEXT: movl %esi, %ecx
242
+ ; CHECK-NEXT: notl %edi
242
243
; CHECK-NEXT: movl $511, %eax # imm = 0x1FF
243
244
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
244
245
; CHECK-NEXT: rorl %cl, %eax
245
- ; CHECK-NEXT: notl %edi
246
- ; CHECK-NEXT: testl %edi, %eax
246
+ ; CHECK-NEXT: testl %eax, %edi
247
247
; CHECK-NEXT: sete %al
248
248
; CHECK-NEXT: retq
249
249
%d = call i32 @llvm.fshr.i32 (i32 511 , i32 511 , i32 %y )
@@ -276,14 +276,14 @@ define i1 @pow2_umin_fail0(i32 %x, i32 %y) {
276
276
; CHECK-LABEL: pow2_umin_fail0:
277
277
; CHECK: # %bb.0:
278
278
; CHECK-NEXT: movl %esi, %ecx
279
+ ; CHECK-NEXT: notl %edi
279
280
; CHECK-NEXT: movl $4, %eax
280
281
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
281
282
; CHECK-NEXT: shll %cl, %eax
282
283
; CHECK-NEXT: cmpl $262144, %eax # imm = 0x40000
283
284
; CHECK-NEXT: movl $262144, %ecx # imm = 0x40000
284
285
; CHECK-NEXT: cmovbl %eax, %ecx
285
- ; CHECK-NEXT: notl %edi
286
- ; CHECK-NEXT: testl %edi, %ecx
286
+ ; CHECK-NEXT: testl %ecx, %edi
287
287
; CHECK-NEXT: sete %al
288
288
; CHECK-NEXT: retq
289
289
%yy = shl i32 4 , %y
@@ -297,14 +297,14 @@ define i1 @pow2_umin_fail1(i32 %x, i32 %y) {
297
297
; CHECK-LABEL: pow2_umin_fail1:
298
298
; CHECK: # %bb.0:
299
299
; CHECK-NEXT: movl %esi, %ecx
300
+ ; CHECK-NEXT: notl %edi
300
301
; CHECK-NEXT: movl $1, %eax
301
302
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
302
303
; CHECK-NEXT: shll %cl, %eax
303
304
; CHECK-NEXT: cmpl $12345, %eax # imm = 0x3039
304
305
; CHECK-NEXT: movl $12345, %ecx # imm = 0x3039
305
306
; CHECK-NEXT: cmovbl %eax, %ecx
306
- ; CHECK-NEXT: notl %edi
307
- ; CHECK-NEXT: testl %edi, %ecx
307
+ ; CHECK-NEXT: testl %ecx, %edi
308
308
; CHECK-NEXT: sete %al
309
309
; CHECK-NEXT: retq
310
310
%yy = shl i32 1 , %y
@@ -341,6 +341,7 @@ define i1 @pow2_umax_fail0(i32 %x, i32 %y, i32 %z) {
341
341
; CHECK-LABEL: pow2_umax_fail0:
342
342
; CHECK: # %bb.0:
343
343
; CHECK-NEXT: movl %esi, %ecx
344
+ ; CHECK-NEXT: notl %edi
344
345
; CHECK-NEXT: movl $1, %eax
345
346
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
346
347
; CHECK-NEXT: shll %cl, %eax
@@ -349,8 +350,7 @@ define i1 @pow2_umax_fail0(i32 %x, i32 %y, i32 %z) {
349
350
; CHECK-NEXT: shrl %cl, %esi
350
351
; CHECK-NEXT: cmpl %esi, %eax
351
352
; CHECK-NEXT: cmoval %eax, %esi
352
- ; CHECK-NEXT: notl %edi
353
- ; CHECK-NEXT: testl %edi, %esi
353
+ ; CHECK-NEXT: testl %esi, %edi
354
354
; CHECK-NEXT: sete %al
355
355
; CHECK-NEXT: retq
356
356
%yy = shl i32 1 , %y
@@ -365,6 +365,7 @@ define i1 @pow2_umax_fail1(i32 %x, i32 %y, i32 %z) {
365
365
; CHECK-LABEL: pow2_umax_fail1:
366
366
; CHECK: # %bb.0:
367
367
; CHECK-NEXT: movl %esi, %ecx
368
+ ; CHECK-NEXT: notl %edi
368
369
; CHECK-NEXT: movl $4, %eax
369
370
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
370
371
; CHECK-NEXT: shll %cl, %eax
@@ -373,8 +374,7 @@ define i1 @pow2_umax_fail1(i32 %x, i32 %y, i32 %z) {
373
374
; CHECK-NEXT: shrl %cl, %esi
374
375
; CHECK-NEXT: cmpl %esi, %eax
375
376
; CHECK-NEXT: cmoval %eax, %esi
376
- ; CHECK-NEXT: notl %edi
377
- ; CHECK-NEXT: testl %edi, %esi
377
+ ; CHECK-NEXT: testl %esi, %edi
378
378
; CHECK-NEXT: sete %al
379
379
; CHECK-NEXT: retq
380
380
%yy = shl i32 4 , %y
@@ -409,14 +409,14 @@ define i1 @pow2_smin_fail0(i32 %x, i32 %y) {
409
409
; CHECK-LABEL: pow2_smin_fail0:
410
410
; CHECK: # %bb.0:
411
411
; CHECK-NEXT: movl %esi, %ecx
412
+ ; CHECK-NEXT: notl %edi
412
413
; CHECK-NEXT: movl $4, %eax
413
414
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
414
415
; CHECK-NEXT: shll %cl, %eax
415
416
; CHECK-NEXT: cmpl $262144, %eax # imm = 0x40000
416
417
; CHECK-NEXT: movl $262144, %ecx # imm = 0x40000
417
418
; CHECK-NEXT: cmovll %eax, %ecx
418
- ; CHECK-NEXT: notl %edi
419
- ; CHECK-NEXT: testl %edi, %ecx
419
+ ; CHECK-NEXT: testl %ecx, %edi
420
420
; CHECK-NEXT: sete %al
421
421
; CHECK-NEXT: retq
422
422
%yy = shl i32 4 , %y
@@ -430,14 +430,14 @@ define i1 @pow2_smin_fail1(i32 %x, i32 %y) {
430
430
; CHECK-LABEL: pow2_smin_fail1:
431
431
; CHECK: # %bb.0:
432
432
; CHECK-NEXT: movl %esi, %ecx
433
+ ; CHECK-NEXT: notl %edi
433
434
; CHECK-NEXT: movl $1, %eax
434
435
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
435
436
; CHECK-NEXT: shll %cl, %eax
436
437
; CHECK-NEXT: cmpl $12345, %eax # imm = 0x3039
437
438
; CHECK-NEXT: movl $12345, %ecx # imm = 0x3039
438
439
; CHECK-NEXT: cmovll %eax, %ecx
439
- ; CHECK-NEXT: notl %edi
440
- ; CHECK-NEXT: testl %edi, %ecx
440
+ ; CHECK-NEXT: testl %ecx, %edi
441
441
; CHECK-NEXT: sete %al
442
442
; CHECK-NEXT: retq
443
443
%yy = shl i32 1 , %y
@@ -474,6 +474,7 @@ define i1 @pow2_smax_fail0(i32 %x, i32 %y, i32 %z) {
474
474
; CHECK-LABEL: pow2_smax_fail0:
475
475
; CHECK: # %bb.0:
476
476
; CHECK-NEXT: movl %esi, %ecx
477
+ ; CHECK-NEXT: notl %edi
477
478
; CHECK-NEXT: movl $1, %eax
478
479
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
479
480
; CHECK-NEXT: shll %cl, %eax
@@ -482,8 +483,7 @@ define i1 @pow2_smax_fail0(i32 %x, i32 %y, i32 %z) {
482
483
; CHECK-NEXT: shrl %cl, %esi
483
484
; CHECK-NEXT: cmpl %esi, %eax
484
485
; CHECK-NEXT: cmovgl %eax, %esi
485
- ; CHECK-NEXT: notl %edi
486
- ; CHECK-NEXT: testl %edi, %esi
486
+ ; CHECK-NEXT: testl %esi, %edi
487
487
; CHECK-NEXT: sete %al
488
488
; CHECK-NEXT: retq
489
489
%yy = shl i32 1 , %y
@@ -498,6 +498,7 @@ define i1 @pow2_smax_fail1(i32 %x, i32 %y, i32 %z) {
498
498
; CHECK-LABEL: pow2_smax_fail1:
499
499
; CHECK: # %bb.0:
500
500
; CHECK-NEXT: movl %esi, %ecx
501
+ ; CHECK-NEXT: notl %edi
501
502
; CHECK-NEXT: movl $4, %eax
502
503
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
503
504
; CHECK-NEXT: shll %cl, %eax
@@ -506,8 +507,7 @@ define i1 @pow2_smax_fail1(i32 %x, i32 %y, i32 %z) {
506
507
; CHECK-NEXT: shrl %cl, %esi
507
508
; CHECK-NEXT: cmpl %esi, %eax
508
509
; CHECK-NEXT: cmovgl %eax, %esi
509
- ; CHECK-NEXT: notl %edi
510
- ; CHECK-NEXT: testl %edi, %esi
510
+ ; CHECK-NEXT: testl %esi, %edi
511
511
; CHECK-NEXT: sete %al
512
512
; CHECK-NEXT: retq
513
513
%yy = shl i32 4 , %y
@@ -547,6 +547,7 @@ define i1 @pow2_select_fail0(i1 %c, i32 %x, i32 %y, i32 %z) {
547
547
; CHECK: # %bb.0:
548
548
; CHECK-NEXT: movl %ecx, %eax
549
549
; CHECK-NEXT: movl %edx, %ecx
550
+ ; CHECK-NEXT: notl %esi
550
551
; CHECK-NEXT: movl $1, %edx
551
552
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
552
553
; CHECK-NEXT: shll %cl, %edx
@@ -555,8 +556,7 @@ define i1 @pow2_select_fail0(i1 %c, i32 %x, i32 %y, i32 %z) {
555
556
; CHECK-NEXT: shrl %cl, %r8d
556
557
; CHECK-NEXT: testb $1, %dil
557
558
; CHECK-NEXT: cmovnel %edx, %r8d
558
- ; CHECK-NEXT: notl %esi
559
- ; CHECK-NEXT: testl %esi, %r8d
559
+ ; CHECK-NEXT: testl %r8d, %esi
560
560
; CHECK-NEXT: sete %al
561
561
; CHECK-NEXT: retq
562
562
%yy = shl i32 1 , %y
@@ -572,6 +572,7 @@ define i1 @pow2_select_fail2(i1 %c, i32 %x, i32 %y, i32 %z) {
572
572
; CHECK: # %bb.0:
573
573
; CHECK-NEXT: movl %ecx, %eax
574
574
; CHECK-NEXT: movl %edx, %ecx
575
+ ; CHECK-NEXT: notl %esi
575
576
; CHECK-NEXT: movl $4, %edx
576
577
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
577
578
; CHECK-NEXT: shll %cl, %edx
@@ -580,8 +581,7 @@ define i1 @pow2_select_fail2(i1 %c, i32 %x, i32 %y, i32 %z) {
580
581
; CHECK-NEXT: shrl %cl, %r8d
581
582
; CHECK-NEXT: testb $1, %dil
582
583
; CHECK-NEXT: cmovnel %edx, %r8d
583
- ; CHECK-NEXT: notl %esi
584
- ; CHECK-NEXT: testl %esi, %r8d
584
+ ; CHECK-NEXT: testl %r8d, %esi
585
585
; CHECK-NEXT: sete %al
586
586
; CHECK-NEXT: retq
587
587
%yy = shl i32 4 , %y
@@ -781,14 +781,14 @@ define i1 @pow2_and_fail0(i32 %x, i32 %y) {
781
781
; CHECK-LABEL: pow2_and_fail0:
782
782
; CHECK: # %bb.0:
783
783
; CHECK-NEXT: movl %esi, %ecx
784
+ ; CHECK-NEXT: notl %edi
784
785
; CHECK-NEXT: movl $4, %eax
785
786
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
786
787
; CHECK-NEXT: shll %cl, %eax
787
788
; CHECK-NEXT: movl %eax, %ecx
788
789
; CHECK-NEXT: negl %ecx
789
790
; CHECK-NEXT: andl %eax, %ecx
790
- ; CHECK-NEXT: notl %edi
791
- ; CHECK-NEXT: testl %edi, %ecx
791
+ ; CHECK-NEXT: testl %ecx, %edi
792
792
; CHECK-NEXT: sete %al
793
793
; CHECK-NEXT: retq
794
794
%yy = shl i32 4 , %y
@@ -803,14 +803,14 @@ define i1 @pow2_and_fail1(i32 %x, i32 %y) {
803
803
; CHECK-LABEL: pow2_and_fail1:
804
804
; CHECK: # %bb.0:
805
805
; CHECK-NEXT: movl %esi, %ecx
806
+ ; CHECK-NEXT: notl %edi
806
807
; CHECK-NEXT: movl $1, %eax
807
808
; CHECK-NEXT: movl $1, %edx
808
809
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
809
810
; CHECK-NEXT: shll %cl, %edx
810
811
; CHECK-NEXT: subl %edx, %eax
811
812
; CHECK-NEXT: andl %edx, %eax
812
- ; CHECK-NEXT: notl %edi
813
- ; CHECK-NEXT: testl %edi, %eax
813
+ ; CHECK-NEXT: testl %eax, %edi
814
814
; CHECK-NEXT: sete %al
815
815
; CHECK-NEXT: retq
816
816
%yy = shl i32 1 , %y
@@ -825,12 +825,12 @@ define i1 @pow2_and_fail2(i32 %x, i32 %y, i32 %z) {
825
825
; CHECK-LABEL: pow2_and_fail2:
826
826
; CHECK: # %bb.0:
827
827
; CHECK-NEXT: movl %esi, %ecx
828
+ ; CHECK-NEXT: notl %edi
828
829
; CHECK-NEXT: movl $1, %eax
829
830
; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
830
831
; CHECK-NEXT: shll %cl, %eax
831
832
; CHECK-NEXT: andl %edx, %eax
832
- ; CHECK-NEXT: notl %edi
833
- ; CHECK-NEXT: testl %edi, %eax
833
+ ; CHECK-NEXT: testl %eax, %edi
834
834
; CHECK-NEXT: sete %al
835
835
; CHECK-NEXT: retq
836
836
%yy = shl i32 1 , %y
0 commit comments