@@ -59,7 +59,7 @@ define i8 @cnt8(i8 %x) nounwind readnone {
59
59
;
60
60
; X64-NDD-LABEL: cnt8:
61
61
; X64-NDD: # %bb.0:
62
- ; X64-NDD-NEXT: shrb $1, %dil, %al
62
+ ; X64-NDD-NEXT: shrb %dil, %al
63
63
; X64-NDD-NEXT: andb $85, %al
64
64
; X64-NDD-NEXT: subb %al, %dil, %al
65
65
; X64-NDD-NEXT: andb $51, %al, %cl
@@ -136,7 +136,7 @@ define i16 @cnt16(i16 %x) nounwind readnone {
136
136
;
137
137
; X64-NDD-LABEL: cnt16:
138
138
; X64-NDD: # %bb.0:
139
- ; X64-NDD-NEXT: shrl $1, %edi, %eax
139
+ ; X64-NDD-NEXT: shrl %edi, %eax
140
140
; X64-NDD-NEXT: andl $21845, %eax # imm = 0x5555
141
141
; X64-NDD-NEXT: subl %eax, %edi, %eax
142
142
; X64-NDD-NEXT: andl $13107, %eax, %ecx # imm = 0x3333
@@ -207,7 +207,7 @@ define i32 @cnt32(i32 %x) nounwind readnone {
207
207
;
208
208
; X64-NDD-LABEL: cnt32:
209
209
; X64-NDD: # %bb.0:
210
- ; X64-NDD-NEXT: shrl $1, %edi, %eax
210
+ ; X64-NDD-NEXT: shrl %edi, %eax
211
211
; X64-NDD-NEXT: andl $1431655765, %eax # imm = 0x55555555
212
212
; X64-NDD-NEXT: subl %eax, %edi, %eax
213
213
; X64-NDD-NEXT: andl $858993459, %eax, %ecx # imm = 0x33333333
@@ -301,7 +301,7 @@ define i64 @cnt64(i64 %x) nounwind readnone {
301
301
;
302
302
; X64-NDD-LABEL: cnt64:
303
303
; X64-NDD: # %bb.0:
304
- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
304
+ ; X64-NDD-NEXT: shrq %rdi, %rax
305
305
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
306
306
; X64-NDD-NEXT: andq %rcx, %rax
307
307
; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -515,7 +515,7 @@ define i128 @cnt128(i128 %x) nounwind readnone {
515
515
;
516
516
; X64-NDD-LABEL: cnt128:
517
517
; X64-NDD: # %bb.0:
518
- ; X64-NDD-NEXT: shrq $1, %rsi, %rax
518
+ ; X64-NDD-NEXT: shrq %rsi, %rax
519
519
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
520
520
; X64-NDD-NEXT: andq %rcx, %rax
521
521
; X64-NDD-NEXT: subq %rax, %rsi, %rax
@@ -531,7 +531,7 @@ define i128 @cnt128(i128 %x) nounwind readnone {
531
531
; X64-NDD-NEXT: movabsq $72340172838076673, %r8 # imm = 0x101010101010101
532
532
; X64-NDD-NEXT: imulq %r8, %rax
533
533
; X64-NDD-NEXT: shrq $56, %rax
534
- ; X64-NDD-NEXT: shrq $1, %rdi, %r9
534
+ ; X64-NDD-NEXT: shrq %rdi, %r9
535
535
; X64-NDD-NEXT: andq %r9, %rcx
536
536
; X64-NDD-NEXT: subq %rcx, %rdi, %rcx
537
537
; X64-NDD-NEXT: andq %rdx, %rcx, %rdi
@@ -709,7 +709,7 @@ define i64 @cnt64_noimplicitfloat(i64 %x) nounwind readnone noimplicitfloat {
709
709
;
710
710
; X64-NDD-LABEL: cnt64_noimplicitfloat:
711
711
; X64-NDD: # %bb.0:
712
- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
712
+ ; X64-NDD-NEXT: shrq %rdi, %rax
713
713
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
714
714
; X64-NDD-NEXT: andq %rcx, %rax
715
715
; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -784,7 +784,7 @@ define i32 @cnt32_optsize(i32 %x) nounwind readnone optsize {
784
784
;
785
785
; X64-NDD-LABEL: cnt32_optsize:
786
786
; X64-NDD: # %bb.0:
787
- ; X64-NDD-NEXT: shrl $1, %edi, %eax
787
+ ; X64-NDD-NEXT: shrl %edi, %eax
788
788
; X64-NDD-NEXT: andl $1431655765, %eax # imm = 0x55555555
789
789
; X64-NDD-NEXT: subl %eax, %edi, %eax
790
790
; X64-NDD-NEXT: movl $858993459, %ecx # imm = 0x33333333
@@ -888,7 +888,7 @@ define i64 @cnt64_optsize(i64 %x) nounwind readnone optsize {
888
888
;
889
889
; X64-NDD-LABEL: cnt64_optsize:
890
890
; X64-NDD: # %bb.0:
891
- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
891
+ ; X64-NDD-NEXT: shrq %rdi, %rax
892
892
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
893
893
; X64-NDD-NEXT: andq %rcx, %rax
894
894
; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -1111,7 +1111,7 @@ define i128 @cnt128_optsize(i128 %x) nounwind readnone optsize {
1111
1111
;
1112
1112
; X64-NDD-LABEL: cnt128_optsize:
1113
1113
; X64-NDD: # %bb.0:
1114
- ; X64-NDD-NEXT: shrq $1, %rsi, %rax
1114
+ ; X64-NDD-NEXT: shrq %rsi, %rax
1115
1115
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
1116
1116
; X64-NDD-NEXT: andq %rcx, %rax
1117
1117
; X64-NDD-NEXT: subq %rax, %rsi, %rax
@@ -1127,7 +1127,7 @@ define i128 @cnt128_optsize(i128 %x) nounwind readnone optsize {
1127
1127
; X64-NDD-NEXT: movabsq $72340172838076673, %r8 # imm = 0x101010101010101
1128
1128
; X64-NDD-NEXT: imulq %r8, %rax
1129
1129
; X64-NDD-NEXT: shrq $56, %rax
1130
- ; X64-NDD-NEXT: shrq $1, %rdi, %r9
1130
+ ; X64-NDD-NEXT: shrq %rdi, %r9
1131
1131
; X64-NDD-NEXT: andq %r9, %rcx
1132
1132
; X64-NDD-NEXT: subq %rcx, %rdi, %rcx
1133
1133
; X64-NDD-NEXT: andq %rdx, %rcx, %rdi
@@ -1282,7 +1282,7 @@ define i32 @cnt32_pgso(i32 %x) nounwind readnone !prof !14 {
1282
1282
;
1283
1283
; X64-NDD-LABEL: cnt32_pgso:
1284
1284
; X64-NDD: # %bb.0:
1285
- ; X64-NDD-NEXT: shrl $1, %edi, %eax
1285
+ ; X64-NDD-NEXT: shrl %edi, %eax
1286
1286
; X64-NDD-NEXT: andl $1431655765, %eax # imm = 0x55555555
1287
1287
; X64-NDD-NEXT: subl %eax, %edi, %eax
1288
1288
; X64-NDD-NEXT: andl $858993459, %eax, %ecx # imm = 0x33333333
@@ -1376,7 +1376,7 @@ define i64 @cnt64_pgso(i64 %x) nounwind readnone !prof !14 {
1376
1376
;
1377
1377
; X64-NDD-LABEL: cnt64_pgso:
1378
1378
; X64-NDD: # %bb.0:
1379
- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
1379
+ ; X64-NDD-NEXT: shrq %rdi, %rax
1380
1380
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
1381
1381
; X64-NDD-NEXT: andq %rcx, %rax
1382
1382
; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -1592,7 +1592,7 @@ define i128 @cnt128_pgso(i128 %x) nounwind readnone !prof !14 {
1592
1592
;
1593
1593
; X64-NDD-LABEL: cnt128_pgso:
1594
1594
; X64-NDD: # %bb.0:
1595
- ; X64-NDD-NEXT: shrq $1, %rsi, %rax
1595
+ ; X64-NDD-NEXT: shrq %rsi, %rax
1596
1596
; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
1597
1597
; X64-NDD-NEXT: andq %rcx, %rax
1598
1598
; X64-NDD-NEXT: subq %rax, %rsi, %rax
@@ -1608,7 +1608,7 @@ define i128 @cnt128_pgso(i128 %x) nounwind readnone !prof !14 {
1608
1608
; X64-NDD-NEXT: movabsq $72340172838076673, %r8 # imm = 0x101010101010101
1609
1609
; X64-NDD-NEXT: imulq %r8, %rax
1610
1610
; X64-NDD-NEXT: shrq $56, %rax
1611
- ; X64-NDD-NEXT: shrq $1, %rdi, %r9
1611
+ ; X64-NDD-NEXT: shrq %rdi, %r9
1612
1612
; X64-NDD-NEXT: andq %r9, %rcx
1613
1613
; X64-NDD-NEXT: subq %rcx, %rdi, %rcx
1614
1614
; X64-NDD-NEXT: andq %rdx, %rcx, %rdi
@@ -1764,7 +1764,7 @@ define i32 @popcount_zext_i32(i16 zeroext %x) {
1764
1764
;
1765
1765
; X64-NDD-LABEL: popcount_zext_i32:
1766
1766
; X64-NDD: # %bb.0:
1767
- ; X64-NDD-NEXT: shrl $1, %edi, %eax
1767
+ ; X64-NDD-NEXT: shrl %edi, %eax
1768
1768
; X64-NDD-NEXT: andl $21845, %eax # imm = 0x5555
1769
1769
; X64-NDD-NEXT: subl %eax, %edi, %eax
1770
1770
; X64-NDD-NEXT: andl $858993459, %eax, %ecx # imm = 0x33333333
@@ -1839,7 +1839,7 @@ define i32 @popcount_i16_zext(i16 zeroext %x) {
1839
1839
;
1840
1840
; X64-NDD-LABEL: popcount_i16_zext:
1841
1841
; X64-NDD: # %bb.0:
1842
- ; X64-NDD-NEXT: shrl $1, %edi, %eax
1842
+ ; X64-NDD-NEXT: shrl %edi, %eax
1843
1843
; X64-NDD-NEXT: andl $21845, %eax # imm = 0x5555
1844
1844
; X64-NDD-NEXT: subl %eax, %edi, %eax
1845
1845
; X64-NDD-NEXT: andl $13107, %eax, %ecx # imm = 0x3333
0 commit comments