@@ -59,7 +59,7 @@ define i8 @cnt8(i8 %x) nounwind readnone {
5959;
6060; X64-NDD-LABEL: cnt8:
6161; X64-NDD: # %bb.0:
62- ; X64-NDD-NEXT: shrb $1, %dil, %al
62+ ; X64-NDD-NEXT: shrb %dil, %al
6363; X64-NDD-NEXT: andb $85, %al
6464; X64-NDD-NEXT: subb %al, %dil, %al
6565; X64-NDD-NEXT: andb $51, %al, %cl
@@ -136,7 +136,7 @@ define i16 @cnt16(i16 %x) nounwind readnone {
136136;
137137; X64-NDD-LABEL: cnt16:
138138; X64-NDD: # %bb.0:
139- ; X64-NDD-NEXT: shrl $1, %edi, %eax
139+ ; X64-NDD-NEXT: shrl %edi, %eax
140140; X64-NDD-NEXT: andl $21845, %eax # imm = 0x5555
141141; X64-NDD-NEXT: subl %eax, %edi, %eax
142142; X64-NDD-NEXT: andl $13107, %eax, %ecx # imm = 0x3333
@@ -207,7 +207,7 @@ define i32 @cnt32(i32 %x) nounwind readnone {
207207;
208208; X64-NDD-LABEL: cnt32:
209209; X64-NDD: # %bb.0:
210- ; X64-NDD-NEXT: shrl $1, %edi, %eax
210+ ; X64-NDD-NEXT: shrl %edi, %eax
211211; X64-NDD-NEXT: andl $1431655765, %eax # imm = 0x55555555
212212; X64-NDD-NEXT: subl %eax, %edi, %eax
213213; X64-NDD-NEXT: andl $858993459, %eax, %ecx # imm = 0x33333333
@@ -301,7 +301,7 @@ define i64 @cnt64(i64 %x) nounwind readnone {
301301;
302302; X64-NDD-LABEL: cnt64:
303303; X64-NDD: # %bb.0:
304- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
304+ ; X64-NDD-NEXT: shrq %rdi, %rax
305305; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
306306; X64-NDD-NEXT: andq %rcx, %rax
307307; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -515,7 +515,7 @@ define i128 @cnt128(i128 %x) nounwind readnone {
515515;
516516; X64-NDD-LABEL: cnt128:
517517; X64-NDD: # %bb.0:
518- ; X64-NDD-NEXT: shrq $1, %rsi, %rax
518+ ; X64-NDD-NEXT: shrq %rsi, %rax
519519; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
520520; X64-NDD-NEXT: andq %rcx, %rax
521521; X64-NDD-NEXT: subq %rax, %rsi, %rax
@@ -531,7 +531,7 @@ define i128 @cnt128(i128 %x) nounwind readnone {
531531; X64-NDD-NEXT: movabsq $72340172838076673, %r8 # imm = 0x101010101010101
532532; X64-NDD-NEXT: imulq %r8, %rax
533533; X64-NDD-NEXT: shrq $56, %rax
534- ; X64-NDD-NEXT: shrq $1, %rdi, %r9
534+ ; X64-NDD-NEXT: shrq %rdi, %r9
535535; X64-NDD-NEXT: andq %r9, %rcx
536536; X64-NDD-NEXT: subq %rcx, %rdi, %rcx
537537; X64-NDD-NEXT: andq %rdx, %rcx, %rdi
@@ -709,7 +709,7 @@ define i64 @cnt64_noimplicitfloat(i64 %x) nounwind readnone noimplicitfloat {
709709;
710710; X64-NDD-LABEL: cnt64_noimplicitfloat:
711711; X64-NDD: # %bb.0:
712- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
712+ ; X64-NDD-NEXT: shrq %rdi, %rax
713713; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
714714; X64-NDD-NEXT: andq %rcx, %rax
715715; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -784,7 +784,7 @@ define i32 @cnt32_optsize(i32 %x) nounwind readnone optsize {
784784;
785785; X64-NDD-LABEL: cnt32_optsize:
786786; X64-NDD: # %bb.0:
787- ; X64-NDD-NEXT: shrl $1, %edi, %eax
787+ ; X64-NDD-NEXT: shrl %edi, %eax
788788; X64-NDD-NEXT: andl $1431655765, %eax # imm = 0x55555555
789789; X64-NDD-NEXT: subl %eax, %edi, %eax
790790; X64-NDD-NEXT: movl $858993459, %ecx # imm = 0x33333333
@@ -888,7 +888,7 @@ define i64 @cnt64_optsize(i64 %x) nounwind readnone optsize {
888888;
889889; X64-NDD-LABEL: cnt64_optsize:
890890; X64-NDD: # %bb.0:
891- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
891+ ; X64-NDD-NEXT: shrq %rdi, %rax
892892; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
893893; X64-NDD-NEXT: andq %rcx, %rax
894894; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -1111,7 +1111,7 @@ define i128 @cnt128_optsize(i128 %x) nounwind readnone optsize {
11111111;
11121112; X64-NDD-LABEL: cnt128_optsize:
11131113; X64-NDD: # %bb.0:
1114- ; X64-NDD-NEXT: shrq $1, %rsi, %rax
1114+ ; X64-NDD-NEXT: shrq %rsi, %rax
11151115; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
11161116; X64-NDD-NEXT: andq %rcx, %rax
11171117; X64-NDD-NEXT: subq %rax, %rsi, %rax
@@ -1127,7 +1127,7 @@ define i128 @cnt128_optsize(i128 %x) nounwind readnone optsize {
11271127; X64-NDD-NEXT: movabsq $72340172838076673, %r8 # imm = 0x101010101010101
11281128; X64-NDD-NEXT: imulq %r8, %rax
11291129; X64-NDD-NEXT: shrq $56, %rax
1130- ; X64-NDD-NEXT: shrq $1, %rdi, %r9
1130+ ; X64-NDD-NEXT: shrq %rdi, %r9
11311131; X64-NDD-NEXT: andq %r9, %rcx
11321132; X64-NDD-NEXT: subq %rcx, %rdi, %rcx
11331133; X64-NDD-NEXT: andq %rdx, %rcx, %rdi
@@ -1282,7 +1282,7 @@ define i32 @cnt32_pgso(i32 %x) nounwind readnone !prof !14 {
12821282;
12831283; X64-NDD-LABEL: cnt32_pgso:
12841284; X64-NDD: # %bb.0:
1285- ; X64-NDD-NEXT: shrl $1, %edi, %eax
1285+ ; X64-NDD-NEXT: shrl %edi, %eax
12861286; X64-NDD-NEXT: andl $1431655765, %eax # imm = 0x55555555
12871287; X64-NDD-NEXT: subl %eax, %edi, %eax
12881288; X64-NDD-NEXT: andl $858993459, %eax, %ecx # imm = 0x33333333
@@ -1376,7 +1376,7 @@ define i64 @cnt64_pgso(i64 %x) nounwind readnone !prof !14 {
13761376;
13771377; X64-NDD-LABEL: cnt64_pgso:
13781378; X64-NDD: # %bb.0:
1379- ; X64-NDD-NEXT: shrq $1, %rdi, %rax
1379+ ; X64-NDD-NEXT: shrq %rdi, %rax
13801380; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
13811381; X64-NDD-NEXT: andq %rcx, %rax
13821382; X64-NDD-NEXT: subq %rax, %rdi, %rax
@@ -1592,7 +1592,7 @@ define i128 @cnt128_pgso(i128 %x) nounwind readnone !prof !14 {
15921592;
15931593; X64-NDD-LABEL: cnt128_pgso:
15941594; X64-NDD: # %bb.0:
1595- ; X64-NDD-NEXT: shrq $1, %rsi, %rax
1595+ ; X64-NDD-NEXT: shrq %rsi, %rax
15961596; X64-NDD-NEXT: movabsq $6148914691236517205, %rcx # imm = 0x5555555555555555
15971597; X64-NDD-NEXT: andq %rcx, %rax
15981598; X64-NDD-NEXT: subq %rax, %rsi, %rax
@@ -1608,7 +1608,7 @@ define i128 @cnt128_pgso(i128 %x) nounwind readnone !prof !14 {
16081608; X64-NDD-NEXT: movabsq $72340172838076673, %r8 # imm = 0x101010101010101
16091609; X64-NDD-NEXT: imulq %r8, %rax
16101610; X64-NDD-NEXT: shrq $56, %rax
1611- ; X64-NDD-NEXT: shrq $1, %rdi, %r9
1611+ ; X64-NDD-NEXT: shrq %rdi, %r9
16121612; X64-NDD-NEXT: andq %r9, %rcx
16131613; X64-NDD-NEXT: subq %rcx, %rdi, %rcx
16141614; X64-NDD-NEXT: andq %rdx, %rcx, %rdi
@@ -1764,7 +1764,7 @@ define i32 @popcount_zext_i32(i16 zeroext %x) {
17641764;
17651765; X64-NDD-LABEL: popcount_zext_i32:
17661766; X64-NDD: # %bb.0:
1767- ; X64-NDD-NEXT: shrl $1, %edi, %eax
1767+ ; X64-NDD-NEXT: shrl %edi, %eax
17681768; X64-NDD-NEXT: andl $21845, %eax # imm = 0x5555
17691769; X64-NDD-NEXT: subl %eax, %edi, %eax
17701770; X64-NDD-NEXT: andl $858993459, %eax, %ecx # imm = 0x33333333
@@ -1839,7 +1839,7 @@ define i32 @popcount_i16_zext(i16 zeroext %x) {
18391839;
18401840; X64-NDD-LABEL: popcount_i16_zext:
18411841; X64-NDD: # %bb.0:
1842- ; X64-NDD-NEXT: shrl $1, %edi, %eax
1842+ ; X64-NDD-NEXT: shrl %edi, %eax
18431843; X64-NDD-NEXT: andl $21845, %eax # imm = 0x5555
18441844; X64-NDD-NEXT: subl %eax, %edi, %eax
18451845; X64-NDD-NEXT: andl $13107, %eax, %ecx # imm = 0x3333
0 commit comments