ret i32 %masked
}
+define i32 @bextr32_a0_arithmetic(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind {
+; X86-NOBMI-LABEL: bextr32_a0_arithmetic:
+; X86-NOBMI: # %bb.0:
+; X86-NOBMI-NEXT: pushl %esi
+; X86-NOBMI-NEXT: movb {{[0-9]+}}(%esp), %dl
+; X86-NOBMI-NEXT: movb {{[0-9]+}}(%esp), %cl
+; X86-NOBMI-NEXT: movl {{[0-9]+}}(%esp), %esi
+; X86-NOBMI-NEXT: sarl %cl, %esi
+; X86-NOBMI-NEXT: movl $1, %eax
+; X86-NOBMI-NEXT: movl %edx, %ecx
+; X86-NOBMI-NEXT: shll %cl, %eax
+; X86-NOBMI-NEXT: decl %eax
+; X86-NOBMI-NEXT: andl %esi, %eax
+; X86-NOBMI-NEXT: popl %esi
+; X86-NOBMI-NEXT: retl
+;
+; X86-BMI1NOTBM-LABEL: bextr32_a0_arithmetic:
+; X86-BMI1NOTBM: # %bb.0:
+; X86-BMI1NOTBM-NEXT: movb {{[0-9]+}}(%esp), %al
+; X86-BMI1NOTBM-NEXT: movb {{[0-9]+}}(%esp), %cl
+; X86-BMI1NOTBM-NEXT: movl {{[0-9]+}}(%esp), %edx
+; X86-BMI1NOTBM-NEXT: sarl %cl, %edx
+; X86-BMI1NOTBM-NEXT: shll $8, %eax
+; X86-BMI1NOTBM-NEXT: bextrl %eax, %edx, %eax
+; X86-BMI1NOTBM-NEXT: retl
+;
+; X86-BMI1BMI2-LABEL: bextr32_a0_arithmetic:
+; X86-BMI1BMI2: # %bb.0:
+; X86-BMI1BMI2-NEXT: movb {{[0-9]+}}(%esp), %al
+; X86-BMI1BMI2-NEXT: movb {{[0-9]+}}(%esp), %cl
+; X86-BMI1BMI2-NEXT: sarxl %ecx, {{[0-9]+}}(%esp), %ecx
+; X86-BMI1BMI2-NEXT: bzhil %eax, %ecx, %eax
+; X86-BMI1BMI2-NEXT: retl
+;
+; X64-NOBMI-LABEL: bextr32_a0_arithmetic:
+; X64-NOBMI: # %bb.0:
+; X64-NOBMI-NEXT: movl %esi, %ecx
+; X64-NOBMI-NEXT: # kill: def $cl killed $cl killed $ecx
+; X64-NOBMI-NEXT: sarl %cl, %edi
+; X64-NOBMI-NEXT: movl $1, %eax
+; X64-NOBMI-NEXT: movl %edx, %ecx
+; X64-NOBMI-NEXT: shll %cl, %eax
+; X64-NOBMI-NEXT: decl %eax
+; X64-NOBMI-NEXT: andl %edi, %eax
+; X64-NOBMI-NEXT: retq
+;
+; X64-BMI1NOTBM-LABEL: bextr32_a0_arithmetic:
+; X64-BMI1NOTBM: # %bb.0:
+; X64-BMI1NOTBM-NEXT: movl %esi, %ecx
+; X64-BMI1NOTBM-NEXT: # kill: def $cl killed $cl killed $ecx
+; X64-BMI1NOTBM-NEXT: sarl %cl, %edi
+; X64-BMI1NOTBM-NEXT: shll $8, %edx
+; X64-BMI1NOTBM-NEXT: bextrl %edx, %edi, %eax
+; X64-BMI1NOTBM-NEXT: retq
+;
+; X64-BMI1BMI2-LABEL: bextr32_a0_arithmetic:
+; X64-BMI1BMI2: # %bb.0:
+; X64-BMI1BMI2-NEXT: sarxl %esi, %edi, %eax
+; X64-BMI1BMI2-NEXT: bzhil %edx, %eax, %eax
+; X64-BMI1BMI2-NEXT: retq
+ %shifted = ashr i32 %val, %numskipbits
+ %onebit = shl i32 1, %numlowbits
+ %mask = add nsw i32 %onebit, -1
+ %masked = and i32 %mask, %shifted
+ ret i32 %masked
+}
+
define i32 @bextr32_a1_indexzext(i32 %val, i8 zeroext %numskipbits, i8 zeroext %numlowbits) nounwind {
; X86-NOBMI-LABEL: bextr32_a1_indexzext:
; X86-NOBMI: # %bb.0:
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB6_2
+; X86-NOBMI-NEXT: je .LBB7_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB6_2:
+; X86-NOBMI-NEXT: .LBB7_2:
; X86-NOBMI-NEXT: movl $1, %eax
; X86-NOBMI-NEXT: xorl %edx, %edx
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shldl %cl, %eax, %edx
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB6_4
+; X86-NOBMI-NEXT: je .LBB7_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB6_4:
+; X86-NOBMI-NEXT: .LBB7_4:
; X86-NOBMI-NEXT: addl $-1, %eax
; X86-NOBMI-NEXT: adcl $-1, %edx
; X86-NOBMI-NEXT: andl %esi, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB6_2
+; X86-BMI1NOTBM-NEXT: je .LBB7_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB6_2:
+; X86-BMI1NOTBM-NEXT: .LBB7_2:
; X86-BMI1NOTBM-NEXT: movl $1, %eax
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
; X86-BMI1NOTBM-NEXT: movb %ch, %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %eax, %edx
; X86-BMI1NOTBM-NEXT: shll %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %ch
-; X86-BMI1NOTBM-NEXT: je .LBB6_4
+; X86-BMI1NOTBM-NEXT: je .LBB7_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB6_4:
+; X86-BMI1NOTBM-NEXT: .LBB7_4:
; X86-BMI1NOTBM-NEXT: addl $-1, %eax
; X86-BMI1NOTBM-NEXT: adcl $-1, %edx
; X86-BMI1NOTBM-NEXT: andl %esi, %eax
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB6_2
+; X86-BMI1BMI2-NEXT: je .LBB7_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB6_2:
+; X86-BMI1BMI2-NEXT: .LBB7_2:
; X86-BMI1BMI2-NEXT: movl $1, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: movl %ebx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %edx
; X86-BMI1BMI2-NEXT: shlxl %ebx, %eax, %eax
; X86-BMI1BMI2-NEXT: testb $32, %bl
-; X86-BMI1BMI2-NEXT: je .LBB6_4
+; X86-BMI1BMI2-NEXT: je .LBB7_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
; X86-BMI1BMI2-NEXT: xorl %eax, %eax
-; X86-BMI1BMI2-NEXT: .LBB6_4:
+; X86-BMI1BMI2-NEXT: .LBB7_4:
; X86-BMI1BMI2-NEXT: addl $-1, %eax
; X86-BMI1BMI2-NEXT: adcl $-1, %edx
; X86-BMI1BMI2-NEXT: andl %esi, %eax
ret i64 %masked
}
+define i64 @bextr64_a0_arithmetic(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind {
+; X86-NOBMI-LABEL: bextr64_a0_arithmetic:
+; X86-NOBMI: # %bb.0:
+; X86-NOBMI-NEXT: pushl %edi
+; X86-NOBMI-NEXT: pushl %esi
+; X86-NOBMI-NEXT: movb {{[0-9]+}}(%esp), %ch
+; X86-NOBMI-NEXT: movb {{[0-9]+}}(%esp), %cl
+; X86-NOBMI-NEXT: movl {{[0-9]+}}(%esp), %edi
+; X86-NOBMI-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NOBMI-NEXT: movl %eax, %esi
+; X86-NOBMI-NEXT: sarl %cl, %esi
+; X86-NOBMI-NEXT: shrdl %cl, %eax, %edi
+; X86-NOBMI-NEXT: testb $32, %cl
+; X86-NOBMI-NEXT: je .LBB8_2
+; X86-NOBMI-NEXT: # %bb.1:
+; X86-NOBMI-NEXT: sarl $31, %eax
+; X86-NOBMI-NEXT: movl %esi, %edi
+; X86-NOBMI-NEXT: movl %eax, %esi
+; X86-NOBMI-NEXT: .LBB8_2:
+; X86-NOBMI-NEXT: movl $1, %eax
+; X86-NOBMI-NEXT: xorl %edx, %edx
+; X86-NOBMI-NEXT: movb %ch, %cl
+; X86-NOBMI-NEXT: shldl %cl, %eax, %edx
+; X86-NOBMI-NEXT: shll %cl, %eax
+; X86-NOBMI-NEXT: testb $32, %ch
+; X86-NOBMI-NEXT: je .LBB8_4
+; X86-NOBMI-NEXT: # %bb.3:
+; X86-NOBMI-NEXT: movl %eax, %edx
+; X86-NOBMI-NEXT: xorl %eax, %eax
+; X86-NOBMI-NEXT: .LBB8_4:
+; X86-NOBMI-NEXT: addl $-1, %eax
+; X86-NOBMI-NEXT: adcl $-1, %edx
+; X86-NOBMI-NEXT: andl %edi, %eax
+; X86-NOBMI-NEXT: andl %esi, %edx
+; X86-NOBMI-NEXT: popl %esi
+; X86-NOBMI-NEXT: popl %edi
+; X86-NOBMI-NEXT: retl
+;
+; X86-BMI1NOTBM-LABEL: bextr64_a0_arithmetic:
+; X86-BMI1NOTBM: # %bb.0:
+; X86-BMI1NOTBM-NEXT: pushl %edi
+; X86-BMI1NOTBM-NEXT: pushl %esi
+; X86-BMI1NOTBM-NEXT: movb {{[0-9]+}}(%esp), %ch
+; X86-BMI1NOTBM-NEXT: movb {{[0-9]+}}(%esp), %cl
+; X86-BMI1NOTBM-NEXT: movl {{[0-9]+}}(%esp), %edi
+; X86-BMI1NOTBM-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-BMI1NOTBM-NEXT: movl %eax, %esi
+; X86-BMI1NOTBM-NEXT: sarl %cl, %esi
+; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %edi
+; X86-BMI1NOTBM-NEXT: testb $32, %cl
+; X86-BMI1NOTBM-NEXT: je .LBB8_2
+; X86-BMI1NOTBM-NEXT: # %bb.1:
+; X86-BMI1NOTBM-NEXT: sarl $31, %eax
+; X86-BMI1NOTBM-NEXT: movl %esi, %edi
+; X86-BMI1NOTBM-NEXT: movl %eax, %esi
+; X86-BMI1NOTBM-NEXT: .LBB8_2:
+; X86-BMI1NOTBM-NEXT: movl $1, %eax
+; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
+; X86-BMI1NOTBM-NEXT: movb %ch, %cl
+; X86-BMI1NOTBM-NEXT: shldl %cl, %eax, %edx
+; X86-BMI1NOTBM-NEXT: shll %cl, %eax
+; X86-BMI1NOTBM-NEXT: testb $32, %ch
+; X86-BMI1NOTBM-NEXT: je .LBB8_4
+; X86-BMI1NOTBM-NEXT: # %bb.3:
+; X86-BMI1NOTBM-NEXT: movl %eax, %edx
+; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
+; X86-BMI1NOTBM-NEXT: .LBB8_4:
+; X86-BMI1NOTBM-NEXT: addl $-1, %eax
+; X86-BMI1NOTBM-NEXT: adcl $-1, %edx
+; X86-BMI1NOTBM-NEXT: andl %edi, %eax
+; X86-BMI1NOTBM-NEXT: andl %esi, %edx
+; X86-BMI1NOTBM-NEXT: popl %esi
+; X86-BMI1NOTBM-NEXT: popl %edi
+; X86-BMI1NOTBM-NEXT: retl
+;
+; X86-BMI1BMI2-LABEL: bextr64_a0_arithmetic:
+; X86-BMI1BMI2: # %bb.0:
+; X86-BMI1BMI2-NEXT: pushl %ebx
+; X86-BMI1BMI2-NEXT: pushl %edi
+; X86-BMI1BMI2-NEXT: pushl %esi
+; X86-BMI1BMI2-NEXT: movb {{[0-9]+}}(%esp), %bl
+; X86-BMI1BMI2-NEXT: movb {{[0-9]+}}(%esp), %cl
+; X86-BMI1BMI2-NEXT: movl {{[0-9]+}}(%esp), %esi
+; X86-BMI1BMI2-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
+; X86-BMI1BMI2-NEXT: sarxl %ecx, %eax, %edi
+; X86-BMI1BMI2-NEXT: testb $32, %cl
+; X86-BMI1BMI2-NEXT: je .LBB8_2
+; X86-BMI1BMI2-NEXT: # %bb.1:
+; X86-BMI1BMI2-NEXT: sarl $31, %eax
+; X86-BMI1BMI2-NEXT: movl %edi, %esi
+; X86-BMI1BMI2-NEXT: movl %eax, %edi
+; X86-BMI1BMI2-NEXT: .LBB8_2:
+; X86-BMI1BMI2-NEXT: movl $1, %eax
+; X86-BMI1BMI2-NEXT: xorl %edx, %edx
+; X86-BMI1BMI2-NEXT: movl %ebx, %ecx
+; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %edx
+; X86-BMI1BMI2-NEXT: shlxl %ebx, %eax, %eax
+; X86-BMI1BMI2-NEXT: testb $32, %bl
+; X86-BMI1BMI2-NEXT: je .LBB8_4
+; X86-BMI1BMI2-NEXT: # %bb.3:
+; X86-BMI1BMI2-NEXT: movl %eax, %edx
+; X86-BMI1BMI2-NEXT: xorl %eax, %eax
+; X86-BMI1BMI2-NEXT: .LBB8_4:
+; X86-BMI1BMI2-NEXT: addl $-1, %eax
+; X86-BMI1BMI2-NEXT: adcl $-1, %edx
+; X86-BMI1BMI2-NEXT: andl %esi, %eax
+; X86-BMI1BMI2-NEXT: andl %edi, %edx
+; X86-BMI1BMI2-NEXT: popl %esi
+; X86-BMI1BMI2-NEXT: popl %edi
+; X86-BMI1BMI2-NEXT: popl %ebx
+; X86-BMI1BMI2-NEXT: retl
+;
+; X64-NOBMI-LABEL: bextr64_a0_arithmetic:
+; X64-NOBMI: # %bb.0:
+; X64-NOBMI-NEXT: movq %rsi, %rcx
+; X64-NOBMI-NEXT: # kill: def $cl killed $cl killed $rcx
+; X64-NOBMI-NEXT: sarq %cl, %rdi
+; X64-NOBMI-NEXT: movl $1, %eax
+; X64-NOBMI-NEXT: movl %edx, %ecx
+; X64-NOBMI-NEXT: shlq %cl, %rax
+; X64-NOBMI-NEXT: decq %rax
+; X64-NOBMI-NEXT: andq %rdi, %rax
+; X64-NOBMI-NEXT: retq
+;
+; X64-BMI1NOTBM-LABEL: bextr64_a0_arithmetic:
+; X64-BMI1NOTBM: # %bb.0:
+; X64-BMI1NOTBM-NEXT: movq %rsi, %rcx
+; X64-BMI1NOTBM-NEXT: # kill: def $cl killed $cl killed $rcx
+; X64-BMI1NOTBM-NEXT: sarq %cl, %rdi
+; X64-BMI1NOTBM-NEXT: shlq $8, %rdx
+; X64-BMI1NOTBM-NEXT: bextrq %rdx, %rdi, %rax
+; X64-BMI1NOTBM-NEXT: retq
+;
+; X64-BMI1BMI2-LABEL: bextr64_a0_arithmetic:
+; X64-BMI1BMI2: # %bb.0:
+; X64-BMI1BMI2-NEXT: sarxq %rsi, %rdi, %rax
+; X64-BMI1BMI2-NEXT: bzhiq %rdx, %rax, %rax
+; X64-BMI1BMI2-NEXT: retq
+ %shifted = ashr i64 %val, %numskipbits
+ %onebit = shl i64 1, %numlowbits
+ %mask = add nsw i64 %onebit, -1
+ %masked = and i64 %mask, %shifted
+ ret i64 %masked
+}
+
define i64 @bextr64_a1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext %numlowbits) nounwind {
; X86-NOBMI-LABEL: bextr64_a1_indexzext:
; X86-NOBMI: # %bb.0:
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB7_2
+; X86-NOBMI-NEXT: je .LBB9_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB7_2:
+; X86-NOBMI-NEXT: .LBB9_2:
; X86-NOBMI-NEXT: movl $1, %eax
; X86-NOBMI-NEXT: xorl %edx, %edx
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shldl %cl, %eax, %edx
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB7_4
+; X86-NOBMI-NEXT: je .LBB9_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB7_4:
+; X86-NOBMI-NEXT: .LBB9_4:
; X86-NOBMI-NEXT: addl $-1, %eax
; X86-NOBMI-NEXT: adcl $-1, %edx
; X86-NOBMI-NEXT: andl %esi, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB7_2
+; X86-BMI1NOTBM-NEXT: je .LBB9_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB7_2:
+; X86-BMI1NOTBM-NEXT: .LBB9_2:
; X86-BMI1NOTBM-NEXT: movl $1, %eax
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
; X86-BMI1NOTBM-NEXT: movb %ch, %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %eax, %edx
; X86-BMI1NOTBM-NEXT: shll %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %ch
-; X86-BMI1NOTBM-NEXT: je .LBB7_4
+; X86-BMI1NOTBM-NEXT: je .LBB9_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB7_4:
+; X86-BMI1NOTBM-NEXT: .LBB9_4:
; X86-BMI1NOTBM-NEXT: addl $-1, %eax
; X86-BMI1NOTBM-NEXT: adcl $-1, %edx
; X86-BMI1NOTBM-NEXT: andl %esi, %eax
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB7_2
+; X86-BMI1BMI2-NEXT: je .LBB9_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB7_2:
+; X86-BMI1BMI2-NEXT: .LBB9_2:
; X86-BMI1BMI2-NEXT: movl $1, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: movl %ebx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %edx
; X86-BMI1BMI2-NEXT: shlxl %ebx, %eax, %eax
; X86-BMI1BMI2-NEXT: testb $32, %bl
-; X86-BMI1BMI2-NEXT: je .LBB7_4
+; X86-BMI1BMI2-NEXT: je .LBB9_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
; X86-BMI1BMI2-NEXT: xorl %eax, %eax
-; X86-BMI1BMI2-NEXT: .LBB7_4:
+; X86-BMI1BMI2-NEXT: .LBB9_4:
; X86-BMI1BMI2-NEXT: addl $-1, %eax
; X86-BMI1BMI2-NEXT: adcl $-1, %edx
; X86-BMI1BMI2-NEXT: andl %esi, %eax
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB8_2
+; X86-NOBMI-NEXT: je .LBB10_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB8_2:
+; X86-NOBMI-NEXT: .LBB10_2:
; X86-NOBMI-NEXT: movl $1, %eax
; X86-NOBMI-NEXT: xorl %edx, %edx
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shldl %cl, %eax, %edx
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB8_4
+; X86-NOBMI-NEXT: je .LBB10_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB8_4:
+; X86-NOBMI-NEXT: .LBB10_4:
; X86-NOBMI-NEXT: addl $-1, %eax
; X86-NOBMI-NEXT: adcl $-1, %edx
; X86-NOBMI-NEXT: andl %esi, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB8_2
+; X86-BMI1NOTBM-NEXT: je .LBB10_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB8_2:
+; X86-BMI1NOTBM-NEXT: .LBB10_2:
; X86-BMI1NOTBM-NEXT: movl $1, %eax
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
; X86-BMI1NOTBM-NEXT: movb %ch, %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %eax, %edx
; X86-BMI1NOTBM-NEXT: shll %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %ch
-; X86-BMI1NOTBM-NEXT: je .LBB8_4
+; X86-BMI1NOTBM-NEXT: je .LBB10_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB8_4:
+; X86-BMI1NOTBM-NEXT: .LBB10_4:
; X86-BMI1NOTBM-NEXT: addl $-1, %eax
; X86-BMI1NOTBM-NEXT: adcl $-1, %edx
; X86-BMI1NOTBM-NEXT: andl %esi, %eax
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB8_2
+; X86-BMI1BMI2-NEXT: je .LBB10_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB8_2:
+; X86-BMI1BMI2-NEXT: .LBB10_2:
; X86-BMI1BMI2-NEXT: movl $1, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: movl %ebx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %edx
; X86-BMI1BMI2-NEXT: shlxl %ebx, %eax, %eax
; X86-BMI1BMI2-NEXT: testb $32, %bl
-; X86-BMI1BMI2-NEXT: je .LBB8_4
+; X86-BMI1BMI2-NEXT: je .LBB10_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
; X86-BMI1BMI2-NEXT: xorl %eax, %eax
-; X86-BMI1BMI2-NEXT: .LBB8_4:
+; X86-BMI1BMI2-NEXT: .LBB10_4:
; X86-BMI1BMI2-NEXT: addl $-1, %eax
; X86-BMI1BMI2-NEXT: adcl $-1, %edx
; X86-BMI1BMI2-NEXT: andl %esi, %eax
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB9_2
+; X86-NOBMI-NEXT: je .LBB11_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB9_2:
+; X86-NOBMI-NEXT: .LBB11_2:
; X86-NOBMI-NEXT: movl $1, %eax
; X86-NOBMI-NEXT: xorl %edx, %edx
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shldl %cl, %eax, %edx
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB9_4
+; X86-NOBMI-NEXT: je .LBB11_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB9_4:
+; X86-NOBMI-NEXT: .LBB11_4:
; X86-NOBMI-NEXT: addl $-1, %eax
; X86-NOBMI-NEXT: adcl $-1, %edx
; X86-NOBMI-NEXT: andl %esi, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB9_2
+; X86-BMI1NOTBM-NEXT: je .LBB11_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB9_2:
+; X86-BMI1NOTBM-NEXT: .LBB11_2:
; X86-BMI1NOTBM-NEXT: movl $1, %eax
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
; X86-BMI1NOTBM-NEXT: movb %ch, %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %eax, %edx
; X86-BMI1NOTBM-NEXT: shll %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %ch
-; X86-BMI1NOTBM-NEXT: je .LBB9_4
+; X86-BMI1NOTBM-NEXT: je .LBB11_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB9_4:
+; X86-BMI1NOTBM-NEXT: .LBB11_4:
; X86-BMI1NOTBM-NEXT: addl $-1, %eax
; X86-BMI1NOTBM-NEXT: adcl $-1, %edx
; X86-BMI1NOTBM-NEXT: andl %esi, %eax
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB9_2
+; X86-BMI1BMI2-NEXT: je .LBB11_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB9_2:
+; X86-BMI1BMI2-NEXT: .LBB11_2:
; X86-BMI1BMI2-NEXT: movl $1, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: movl %ebx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %edx
; X86-BMI1BMI2-NEXT: shlxl %ebx, %eax, %eax
; X86-BMI1BMI2-NEXT: testb $32, %bl
-; X86-BMI1BMI2-NEXT: je .LBB9_4
+; X86-BMI1BMI2-NEXT: je .LBB11_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
; X86-BMI1BMI2-NEXT: xorl %eax, %eax
-; X86-BMI1BMI2-NEXT: .LBB9_4:
+; X86-BMI1BMI2-NEXT: .LBB11_4:
; X86-BMI1BMI2-NEXT: addl $-1, %eax
; X86-BMI1BMI2-NEXT: adcl $-1, %edx
; X86-BMI1BMI2-NEXT: andl %esi, %eax
; X86-NOBMI-NEXT: shrl %cl, %edx
; X86-NOBMI-NEXT: shrdl %cl, %esi, %eax
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB10_2
+; X86-NOBMI-NEXT: je .LBB12_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edx, %eax
; X86-NOBMI-NEXT: xorl %edx, %edx
-; X86-NOBMI-NEXT: .LBB10_2:
+; X86-NOBMI-NEXT: .LBB12_2:
; X86-NOBMI-NEXT: movl $1, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shldl %cl, %esi, %edi
; X86-NOBMI-NEXT: shll %cl, %esi
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB10_4
+; X86-NOBMI-NEXT: je .LBB12_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %esi, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
-; X86-NOBMI-NEXT: .LBB10_4:
+; X86-NOBMI-NEXT: .LBB12_4:
; X86-NOBMI-NEXT: addl $-1, %esi
; X86-NOBMI-NEXT: adcl $-1, %edi
; X86-NOBMI-NEXT: andl %esi, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %esi, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB10_2
+; X86-BMI1NOTBM-NEXT: je .LBB12_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edx, %eax
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
-; X86-BMI1NOTBM-NEXT: .LBB10_2:
+; X86-BMI1NOTBM-NEXT: .LBB12_2:
; X86-BMI1NOTBM-NEXT: movl $1, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
; X86-BMI1NOTBM-NEXT: movb %ch, %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %esi, %edi
; X86-BMI1NOTBM-NEXT: shll %cl, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %ch
-; X86-BMI1NOTBM-NEXT: je .LBB10_4
+; X86-BMI1NOTBM-NEXT: je .LBB12_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %esi, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
-; X86-BMI1NOTBM-NEXT: .LBB10_4:
+; X86-BMI1NOTBM-NEXT: .LBB12_4:
; X86-BMI1NOTBM-NEXT: addl $-1, %esi
; X86-BMI1NOTBM-NEXT: adcl $-1, %edi
; X86-BMI1NOTBM-NEXT: andl %esi, %eax
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %eax
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB10_2
+; X86-BMI1BMI2-NEXT: je .LBB12_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB10_2:
+; X86-BMI1BMI2-NEXT: .LBB12_2:
; X86-BMI1BMI2-NEXT: movl $1, %edi
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
; X86-BMI1BMI2-NEXT: movl %ebx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %esi
; X86-BMI1BMI2-NEXT: shlxl %ebx, %edi, %ecx
; X86-BMI1BMI2-NEXT: testb $32, %bl
-; X86-BMI1BMI2-NEXT: je .LBB10_4
+; X86-BMI1BMI2-NEXT: je .LBB12_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ecx, %esi
; X86-BMI1BMI2-NEXT: xorl %ecx, %ecx
-; X86-BMI1BMI2-NEXT: .LBB10_4:
+; X86-BMI1BMI2-NEXT: .LBB12_4:
; X86-BMI1BMI2-NEXT: addl $-1, %ecx
; X86-BMI1BMI2-NEXT: adcl $-1, %esi
; X86-BMI1BMI2-NEXT: andl %ecx, %eax
; X86-NOBMI-NEXT: shrl %cl, %ebp
; X86-NOBMI-NEXT: shrdl %cl, %esi, %ebx
; X86-NOBMI-NEXT: testb $32, %al
-; X86-NOBMI-NEXT: je .LBB11_2
+; X86-NOBMI-NEXT: je .LBB13_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %ebp, %ebx
; X86-NOBMI-NEXT: xorl %ebp, %ebp
-; X86-NOBMI-NEXT: .LBB11_2:
+; X86-NOBMI-NEXT: .LBB13_2:
; X86-NOBMI-NEXT: movl $1, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
; X86-NOBMI-NEXT: movl %edx, %ecx
; X86-NOBMI-NEXT: shldl %cl, %esi, %edi
; X86-NOBMI-NEXT: shll %cl, %esi
; X86-NOBMI-NEXT: testb $32, %dl
-; X86-NOBMI-NEXT: je .LBB11_4
+; X86-NOBMI-NEXT: je .LBB13_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %esi, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
-; X86-NOBMI-NEXT: .LBB11_4:
+; X86-NOBMI-NEXT: .LBB13_4:
; X86-NOBMI-NEXT: addl $-1, %esi
; X86-NOBMI-NEXT: adcl $-1, %edi
; X86-NOBMI-NEXT: andl %ebx, %esi
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebp
; X86-BMI1NOTBM-NEXT: shrdl %cl, %esi, %ebx
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB11_2
+; X86-BMI1NOTBM-NEXT: je .LBB13_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %ebp, %ebx
; X86-BMI1NOTBM-NEXT: xorl %ebp, %ebp
-; X86-BMI1NOTBM-NEXT: .LBB11_2:
+; X86-BMI1NOTBM-NEXT: .LBB13_2:
; X86-BMI1NOTBM-NEXT: movl $1, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
; X86-BMI1NOTBM-NEXT: movl %edx, %ecx
; X86-BMI1NOTBM-NEXT: shldl %cl, %esi, %edi
; X86-BMI1NOTBM-NEXT: shll %cl, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %dl
-; X86-BMI1NOTBM-NEXT: je .LBB11_4
+; X86-BMI1NOTBM-NEXT: je .LBB13_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %esi, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
-; X86-BMI1NOTBM-NEXT: .LBB11_4:
+; X86-BMI1NOTBM-NEXT: .LBB13_4:
; X86-BMI1NOTBM-NEXT: addl $-1, %esi
; X86-BMI1NOTBM-NEXT: adcl $-1, %edi
; X86-BMI1NOTBM-NEXT: andl %ebx, %esi
; X86-BMI1BMI2-NEXT: shrdl %cl, %esi, %ebx
; X86-BMI1BMI2-NEXT: shrxl %eax, %esi, %ebp
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB11_2
+; X86-BMI1BMI2-NEXT: je .LBB13_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %ebp, %ebx
; X86-BMI1BMI2-NEXT: xorl %ebp, %ebp
-; X86-BMI1BMI2-NEXT: .LBB11_2:
+; X86-BMI1BMI2-NEXT: .LBB13_2:
; X86-BMI1BMI2-NEXT: movl $1, %edi
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
; X86-BMI1BMI2-NEXT: movl %edx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %esi
; X86-BMI1BMI2-NEXT: shlxl %edx, %edi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %dl
-; X86-BMI1BMI2-NEXT: je .LBB11_4
+; X86-BMI1BMI2-NEXT: je .LBB13_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB11_4:
+; X86-BMI1BMI2-NEXT: .LBB13_4:
; X86-BMI1BMI2-NEXT: addl $-1, %edi
; X86-BMI1BMI2-NEXT: adcl $-1, %esi
; X86-BMI1BMI2-NEXT: andl %ebx, %edi
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB18_2
+; X86-NOBMI-NEXT: je .LBB20_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB18_2:
+; X86-NOBMI-NEXT: .LBB20_2:
; X86-NOBMI-NEXT: movl $-1, %edx
; X86-NOBMI-NEXT: movl $-1, %eax
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: shldl %cl, %edx, %edx
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB18_4
+; X86-NOBMI-NEXT: je .LBB20_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB18_4:
+; X86-NOBMI-NEXT: .LBB20_4:
; X86-NOBMI-NEXT: notl %edx
; X86-NOBMI-NEXT: andl %edi, %edx
; X86-NOBMI-NEXT: notl %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB18_2
+; X86-BMI1NOTBM-NEXT: je .LBB20_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edx, %esi
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
-; X86-BMI1NOTBM-NEXT: .LBB18_2:
+; X86-BMI1NOTBM-NEXT: .LBB20_2:
; X86-BMI1NOTBM-NEXT: movl $-1, %edi
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: movl %eax, %ecx
; X86-BMI1NOTBM-NEXT: shll %cl, %ebx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB18_4
+; X86-BMI1NOTBM-NEXT: je .LBB20_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %edi
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB18_4:
+; X86-BMI1NOTBM-NEXT: .LBB20_4:
; X86-BMI1NOTBM-NEXT: andnl %edx, %edi, %edx
; X86-BMI1NOTBM-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB18_2
+; X86-BMI1BMI2-NEXT: je .LBB20_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB18_2:
+; X86-BMI1BMI2-NEXT: .LBB20_2:
; X86-BMI1BMI2-NEXT: movl $-1, %edi
; X86-BMI1BMI2-NEXT: shlxl %eax, %edi, %ebx
; X86-BMI1BMI2-NEXT: movl %eax, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB18_4
+; X86-BMI1BMI2-NEXT: je .LBB20_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %edi
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB18_4:
+; X86-BMI1BMI2-NEXT: .LBB20_4:
; X86-BMI1BMI2-NEXT: andnl %edx, %edi, %edx
; X86-BMI1BMI2-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1BMI2-NEXT: popl %esi
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB19_2
+; X86-NOBMI-NEXT: je .LBB21_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB19_2:
+; X86-NOBMI-NEXT: .LBB21_2:
; X86-NOBMI-NEXT: movl $-1, %edx
; X86-NOBMI-NEXT: movl $-1, %eax
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: shldl %cl, %edx, %edx
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB19_4
+; X86-NOBMI-NEXT: je .LBB21_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB19_4:
+; X86-NOBMI-NEXT: .LBB21_4:
; X86-NOBMI-NEXT: notl %edx
; X86-NOBMI-NEXT: andl %edi, %edx
; X86-NOBMI-NEXT: notl %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB19_2
+; X86-BMI1NOTBM-NEXT: je .LBB21_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edx, %esi
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
-; X86-BMI1NOTBM-NEXT: .LBB19_2:
+; X86-BMI1NOTBM-NEXT: .LBB21_2:
; X86-BMI1NOTBM-NEXT: movl $-1, %edi
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: movl %eax, %ecx
; X86-BMI1NOTBM-NEXT: shll %cl, %ebx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB19_4
+; X86-BMI1NOTBM-NEXT: je .LBB21_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %edi
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB19_4:
+; X86-BMI1NOTBM-NEXT: .LBB21_4:
; X86-BMI1NOTBM-NEXT: andnl %edx, %edi, %edx
; X86-BMI1NOTBM-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB19_2
+; X86-BMI1BMI2-NEXT: je .LBB21_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB19_2:
+; X86-BMI1BMI2-NEXT: .LBB21_2:
; X86-BMI1BMI2-NEXT: movl $-1, %edi
; X86-BMI1BMI2-NEXT: shlxl %eax, %edi, %ebx
; X86-BMI1BMI2-NEXT: movl %eax, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB19_4
+; X86-BMI1BMI2-NEXT: je .LBB21_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %edi
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB19_4:
+; X86-BMI1BMI2-NEXT: .LBB21_4:
; X86-BMI1BMI2-NEXT: andnl %edx, %edi, %edx
; X86-BMI1BMI2-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1BMI2-NEXT: popl %esi
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB20_2
+; X86-NOBMI-NEXT: je .LBB22_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB20_2:
+; X86-NOBMI-NEXT: .LBB22_2:
; X86-NOBMI-NEXT: movl $-1, %edx
; X86-NOBMI-NEXT: movl $-1, %eax
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: shldl %cl, %edx, %edx
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB20_4
+; X86-NOBMI-NEXT: je .LBB22_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB20_4:
+; X86-NOBMI-NEXT: .LBB22_4:
; X86-NOBMI-NEXT: notl %edx
; X86-NOBMI-NEXT: andl %edi, %edx
; X86-NOBMI-NEXT: notl %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB20_2
+; X86-BMI1NOTBM-NEXT: je .LBB22_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edx, %esi
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
-; X86-BMI1NOTBM-NEXT: .LBB20_2:
+; X86-BMI1NOTBM-NEXT: .LBB22_2:
; X86-BMI1NOTBM-NEXT: movl $-1, %edi
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: movl %eax, %ecx
; X86-BMI1NOTBM-NEXT: shll %cl, %ebx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB20_4
+; X86-BMI1NOTBM-NEXT: je .LBB22_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %edi
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB20_4:
+; X86-BMI1NOTBM-NEXT: .LBB22_4:
; X86-BMI1NOTBM-NEXT: andnl %edx, %edi, %edx
; X86-BMI1NOTBM-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edi, %edx
; X86-BMI1BMI2-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB20_2
+; X86-BMI1BMI2-NEXT: je .LBB22_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB20_2:
+; X86-BMI1BMI2-NEXT: .LBB22_2:
; X86-BMI1BMI2-NEXT: movl $-1, %edi
; X86-BMI1BMI2-NEXT: shlxl %eax, %edi, %ebx
; X86-BMI1BMI2-NEXT: movl %eax, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB20_4
+; X86-BMI1BMI2-NEXT: je .LBB22_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %edi
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB20_4:
+; X86-BMI1BMI2-NEXT: .LBB22_4:
; X86-BMI1BMI2-NEXT: andnl %edx, %edi, %edx
; X86-BMI1BMI2-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1BMI2-NEXT: popl %esi
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB21_2
+; X86-NOBMI-NEXT: je .LBB23_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB21_2:
+; X86-NOBMI-NEXT: .LBB23_2:
; X86-NOBMI-NEXT: movl $-1, %edx
; X86-NOBMI-NEXT: movl $-1, %eax
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shll %cl, %eax
; X86-NOBMI-NEXT: shldl %cl, %edx, %edx
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB21_4
+; X86-NOBMI-NEXT: je .LBB23_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %edx
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB21_4:
+; X86-NOBMI-NEXT: .LBB23_4:
; X86-NOBMI-NEXT: notl %edx
; X86-NOBMI-NEXT: andl %edi, %edx
; X86-NOBMI-NEXT: notl %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %edx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB21_2
+; X86-BMI1NOTBM-NEXT: je .LBB23_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edx, %esi
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
-; X86-BMI1NOTBM-NEXT: .LBB21_2:
+; X86-BMI1NOTBM-NEXT: .LBB23_2:
; X86-BMI1NOTBM-NEXT: movl $-1, %edi
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: movl %eax, %ecx
; X86-BMI1NOTBM-NEXT: shll %cl, %ebx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB21_4
+; X86-BMI1NOTBM-NEXT: je .LBB23_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %edi
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB21_4:
+; X86-BMI1NOTBM-NEXT: .LBB23_4:
; X86-BMI1NOTBM-NEXT: andnl %edx, %edi, %edx
; X86-BMI1NOTBM-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edi, %edx
; X86-BMI1BMI2-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB21_2
+; X86-BMI1BMI2-NEXT: je .LBB23_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB21_2:
+; X86-BMI1BMI2-NEXT: .LBB23_2:
; X86-BMI1BMI2-NEXT: movl $-1, %edi
; X86-BMI1BMI2-NEXT: shlxl %eax, %edi, %ebx
; X86-BMI1BMI2-NEXT: movl %eax, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB21_4
+; X86-BMI1BMI2-NEXT: je .LBB23_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %edi
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB21_4:
+; X86-BMI1BMI2-NEXT: .LBB23_4:
; X86-BMI1BMI2-NEXT: andnl %edx, %edi, %edx
; X86-BMI1BMI2-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1BMI2-NEXT: popl %esi
; X86-NOBMI-NEXT: shrl %cl, %edx
; X86-NOBMI-NEXT: shrdl %cl, %esi, %eax
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB22_2
+; X86-NOBMI-NEXT: je .LBB24_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edx, %eax
; X86-NOBMI-NEXT: xorl %edx, %edx
-; X86-NOBMI-NEXT: .LBB22_2:
+; X86-NOBMI-NEXT: .LBB24_2:
; X86-NOBMI-NEXT: movl $-1, %edi
; X86-NOBMI-NEXT: movl $-1, %esi
; X86-NOBMI-NEXT: movb %ch, %cl
; X86-NOBMI-NEXT: shll %cl, %esi
; X86-NOBMI-NEXT: shldl %cl, %edi, %edi
; X86-NOBMI-NEXT: testb $32, %ch
-; X86-NOBMI-NEXT: je .LBB22_4
+; X86-NOBMI-NEXT: je .LBB24_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %esi, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
-; X86-NOBMI-NEXT: .LBB22_4:
+; X86-NOBMI-NEXT: .LBB24_4:
; X86-NOBMI-NEXT: notl %edi
; X86-NOBMI-NEXT: andl %edi, %edx
; X86-NOBMI-NEXT: notl %esi
; X86-BMI1NOTBM-NEXT: shrl %cl, %edx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB22_2
+; X86-BMI1NOTBM-NEXT: je .LBB24_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edx, %esi
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
-; X86-BMI1NOTBM-NEXT: .LBB22_2:
+; X86-BMI1NOTBM-NEXT: .LBB24_2:
; X86-BMI1NOTBM-NEXT: movl $-1, %edi
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: movl %eax, %ecx
; X86-BMI1NOTBM-NEXT: shll %cl, %ebx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB22_4
+; X86-BMI1NOTBM-NEXT: je .LBB24_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %edi
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB22_4:
+; X86-BMI1NOTBM-NEXT: .LBB24_4:
; X86-BMI1NOTBM-NEXT: andnl %edx, %edi, %edx
; X86-BMI1NOTBM-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB22_2
+; X86-BMI1BMI2-NEXT: je .LBB24_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB22_2:
+; X86-BMI1BMI2-NEXT: .LBB24_2:
; X86-BMI1BMI2-NEXT: movl $-1, %edi
; X86-BMI1BMI2-NEXT: shlxl %eax, %edi, %ebx
; X86-BMI1BMI2-NEXT: movl %eax, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB22_4
+; X86-BMI1BMI2-NEXT: je .LBB24_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %edi
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB22_4:
+; X86-BMI1BMI2-NEXT: .LBB24_4:
; X86-BMI1BMI2-NEXT: andnl %edx, %edi, %edx
; X86-BMI1BMI2-NEXT: andnl %esi, %ebx, %eax
; X86-BMI1BMI2-NEXT: popl %esi
; X86-NOBMI-NEXT: shrl %cl, %ebp
; X86-NOBMI-NEXT: shrdl %cl, %esi, %ebx
; X86-NOBMI-NEXT: testb $32, %al
-; X86-NOBMI-NEXT: je .LBB23_2
+; X86-NOBMI-NEXT: je .LBB25_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %ebp, %ebx
; X86-NOBMI-NEXT: xorl %ebp, %ebp
-; X86-NOBMI-NEXT: .LBB23_2:
+; X86-NOBMI-NEXT: .LBB25_2:
; X86-NOBMI-NEXT: movl $-1, %esi
; X86-NOBMI-NEXT: movl $-1, %edi
; X86-NOBMI-NEXT: movl %edx, %ecx
; X86-NOBMI-NEXT: shll %cl, %edi
; X86-NOBMI-NEXT: shldl %cl, %esi, %esi
; X86-NOBMI-NEXT: testb $32, %dl
-; X86-NOBMI-NEXT: je .LBB23_4
+; X86-NOBMI-NEXT: je .LBB25_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB23_4:
+; X86-NOBMI-NEXT: .LBB25_4:
; X86-NOBMI-NEXT: notl %esi
; X86-NOBMI-NEXT: andl %ebp, %esi
; X86-NOBMI-NEXT: notl %edi
; X86-BMI1NOTBM-NEXT: shrl %cl, %esi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebx, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB23_2
+; X86-BMI1NOTBM-NEXT: je .LBB25_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %esi, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
-; X86-BMI1NOTBM-NEXT: .LBB23_2:
+; X86-BMI1NOTBM-NEXT: .LBB25_2:
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: movl $-1, %ebp
; X86-BMI1NOTBM-NEXT: movl %edx, %ecx
; X86-BMI1NOTBM-NEXT: shll %cl, %ebp
; X86-BMI1NOTBM-NEXT: shldl %cl, %ebx, %ebx
; X86-BMI1NOTBM-NEXT: testb $32, %dl
-; X86-BMI1NOTBM-NEXT: je .LBB23_4
+; X86-BMI1NOTBM-NEXT: je .LBB25_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebp, %ebx
; X86-BMI1NOTBM-NEXT: xorl %ebp, %ebp
-; X86-BMI1NOTBM-NEXT: .LBB23_4:
+; X86-BMI1NOTBM-NEXT: .LBB25_4:
; X86-BMI1NOTBM-NEXT: andnl %esi, %ebx, %esi
; X86-BMI1NOTBM-NEXT: andnl %edi, %ebp, %edi
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: shrdl %cl, %esi, %edi
; X86-BMI1BMI2-NEXT: shrxl %eax, %esi, %esi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB23_2
+; X86-BMI1BMI2-NEXT: je .LBB25_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %esi, %edi
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
-; X86-BMI1BMI2-NEXT: .LBB23_2:
+; X86-BMI1BMI2-NEXT: .LBB25_2:
; X86-BMI1BMI2-NEXT: movl $-1, %ebp
; X86-BMI1BMI2-NEXT: shlxl %edx, %ebp, %ebx
; X86-BMI1BMI2-NEXT: movl %edx, %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %ebp, %ebp
; X86-BMI1BMI2-NEXT: testb $32, %dl
-; X86-BMI1BMI2-NEXT: je .LBB23_4
+; X86-BMI1BMI2-NEXT: je .LBB25_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %ebp
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB23_4:
+; X86-BMI1BMI2-NEXT: .LBB25_4:
; X86-BMI1BMI2-NEXT: andnl %esi, %ebp, %esi
; X86-BMI1BMI2-NEXT: andnl %edi, %ebx, %edi
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB30_2
+; X86-NOBMI-NEXT: je .LBB32_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB30_2:
+; X86-NOBMI-NEXT: .LBB32_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: movl $-1, %ebp
; X86-NOBMI-NEXT: shrl %cl, %ebx
; X86-NOBMI-NEXT: shrdl %cl, %ebp, %ebp
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB30_4
+; X86-NOBMI-NEXT: je .LBB32_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %ebx, %ebp
; X86-NOBMI-NEXT: xorl %ebx, %ebx
-; X86-NOBMI-NEXT: .LBB30_4:
+; X86-NOBMI-NEXT: .LBB32_4:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ebx
; X86-NOBMI-NEXT: pushl %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB30_2
+; X86-BMI1NOTBM-NEXT: je .LBB32_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB30_2:
+; X86-BMI1NOTBM-NEXT: .LBB32_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: movl $-1, %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebp, %ebp
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB30_4
+; X86-BMI1NOTBM-NEXT: je .LBB32_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %ebp
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB30_4:
+; X86-BMI1NOTBM-NEXT: .LBB32_4:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ebx
; X86-BMI1NOTBM-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB30_2
+; X86-BMI1BMI2-NEXT: je .LBB32_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB30_2:
+; X86-BMI1BMI2-NEXT: .LBB32_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: movl $-1, %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %ebx, %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %ebx, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB30_4
+; X86-BMI1BMI2-NEXT: je .LBB32_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebp, %ebx
; X86-BMI1BMI2-NEXT: xorl %ebp, %ebp
-; X86-BMI1BMI2-NEXT: .LBB30_4:
+; X86-BMI1BMI2-NEXT: .LBB32_4:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: pushl %ebx
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB31_2
+; X86-NOBMI-NEXT: je .LBB33_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB31_2:
+; X86-NOBMI-NEXT: .LBB33_2:
; X86-NOBMI-NEXT: movb $64, %cl
; X86-NOBMI-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-NOBMI-NEXT: movl $-1, %ebp
; X86-NOBMI-NEXT: shrl %cl, %ebx
; X86-NOBMI-NEXT: shrdl %cl, %ebp, %ebp
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB31_4
+; X86-NOBMI-NEXT: je .LBB33_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %ebx, %ebp
; X86-NOBMI-NEXT: xorl %ebx, %ebx
-; X86-NOBMI-NEXT: .LBB31_4:
+; X86-NOBMI-NEXT: .LBB33_4:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ebx
; X86-NOBMI-NEXT: pushl %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB31_2
+; X86-BMI1NOTBM-NEXT: je .LBB33_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB31_2:
+; X86-BMI1NOTBM-NEXT: .LBB33_2:
; X86-BMI1NOTBM-NEXT: movb $64, %cl
; X86-BMI1NOTBM-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1NOTBM-NEXT: movl $-1, %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebp, %ebp
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB31_4
+; X86-BMI1NOTBM-NEXT: je .LBB33_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %ebp
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB31_4:
+; X86-BMI1NOTBM-NEXT: .LBB33_4:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ebx
; X86-BMI1NOTBM-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB31_2
+; X86-BMI1BMI2-NEXT: je .LBB33_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB31_2:
+; X86-BMI1BMI2-NEXT: .LBB33_2:
; X86-BMI1BMI2-NEXT: movb $64, %cl
; X86-BMI1BMI2-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1BMI2-NEXT: movl $-1, %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %ebx, %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %ebx, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB31_4
+; X86-BMI1BMI2-NEXT: je .LBB33_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebp, %ebx
; X86-BMI1BMI2-NEXT: xorl %ebp, %ebp
-; X86-BMI1BMI2-NEXT: .LBB31_4:
+; X86-BMI1BMI2-NEXT: .LBB33_4:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: pushl %ebx
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB32_2
+; X86-NOBMI-NEXT: je .LBB34_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB32_2:
+; X86-NOBMI-NEXT: .LBB34_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: movl $-1, %ebp
; X86-NOBMI-NEXT: shrl %cl, %ebx
; X86-NOBMI-NEXT: shrdl %cl, %ebp, %ebp
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB32_4
+; X86-NOBMI-NEXT: je .LBB34_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %ebx, %ebp
; X86-NOBMI-NEXT: xorl %ebx, %ebx
-; X86-NOBMI-NEXT: .LBB32_4:
+; X86-NOBMI-NEXT: .LBB34_4:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ebx
; X86-NOBMI-NEXT: pushl %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB32_2
+; X86-BMI1NOTBM-NEXT: je .LBB34_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB32_2:
+; X86-BMI1NOTBM-NEXT: .LBB34_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: movl $-1, %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebp, %ebp
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB32_4
+; X86-BMI1NOTBM-NEXT: je .LBB34_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %ebp
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB32_4:
+; X86-BMI1NOTBM-NEXT: .LBB34_4:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ebx
; X86-BMI1NOTBM-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB32_2
+; X86-BMI1BMI2-NEXT: je .LBB34_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB32_2:
+; X86-BMI1BMI2-NEXT: .LBB34_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: movl $-1, %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %ebx, %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %ebx, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB32_4
+; X86-BMI1BMI2-NEXT: je .LBB34_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebp, %ebx
; X86-BMI1BMI2-NEXT: xorl %ebp, %ebp
-; X86-BMI1BMI2-NEXT: .LBB32_4:
+; X86-BMI1BMI2-NEXT: .LBB34_4:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: pushl %ebx
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB33_2
+; X86-NOBMI-NEXT: je .LBB35_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB33_2:
+; X86-NOBMI-NEXT: .LBB35_2:
; X86-NOBMI-NEXT: movb $64, %cl
; X86-NOBMI-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-NOBMI-NEXT: movl $-1, %ebp
; X86-NOBMI-NEXT: shrl %cl, %ebx
; X86-NOBMI-NEXT: shrdl %cl, %ebp, %ebp
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB33_4
+; X86-NOBMI-NEXT: je .LBB35_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %ebx, %ebp
; X86-NOBMI-NEXT: xorl %ebx, %ebx
-; X86-NOBMI-NEXT: .LBB33_4:
+; X86-NOBMI-NEXT: .LBB35_4:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ebx
; X86-NOBMI-NEXT: pushl %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB33_2
+; X86-BMI1NOTBM-NEXT: je .LBB35_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB33_2:
+; X86-BMI1NOTBM-NEXT: .LBB35_2:
; X86-BMI1NOTBM-NEXT: movb $64, %cl
; X86-BMI1NOTBM-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1NOTBM-NEXT: movl $-1, %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebp, %ebp
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB33_4
+; X86-BMI1NOTBM-NEXT: je .LBB35_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %ebp
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB33_4:
+; X86-BMI1NOTBM-NEXT: .LBB35_4:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ebx
; X86-BMI1NOTBM-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB33_2
+; X86-BMI1BMI2-NEXT: je .LBB35_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB33_2:
+; X86-BMI1BMI2-NEXT: .LBB35_2:
; X86-BMI1BMI2-NEXT: movb $64, %cl
; X86-BMI1BMI2-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1BMI2-NEXT: movl $-1, %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %ebx, %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %ebx, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB33_4
+; X86-BMI1BMI2-NEXT: je .LBB35_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebp, %ebx
; X86-BMI1BMI2-NEXT: xorl %ebp, %ebp
-; X86-BMI1BMI2-NEXT: .LBB33_4:
+; X86-BMI1BMI2-NEXT: .LBB35_4:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: pushl %ebx
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB34_2
+; X86-NOBMI-NEXT: je .LBB36_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB34_2:
+; X86-NOBMI-NEXT: .LBB36_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: movl $-1, %ebp
; X86-NOBMI-NEXT: shrl %cl, %ebx
; X86-NOBMI-NEXT: shrdl %cl, %ebp, %ebp
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB34_4
+; X86-NOBMI-NEXT: je .LBB36_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %ebx, %ebp
; X86-NOBMI-NEXT: xorl %ebx, %ebx
-; X86-NOBMI-NEXT: .LBB34_4:
+; X86-NOBMI-NEXT: .LBB36_4:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ebx
; X86-NOBMI-NEXT: pushl %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB34_2
+; X86-BMI1NOTBM-NEXT: je .LBB36_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB34_2:
+; X86-BMI1NOTBM-NEXT: .LBB36_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: movl $-1, %ebp
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebp, %ebp
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB34_4
+; X86-BMI1NOTBM-NEXT: je .LBB36_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebx, %ebp
; X86-BMI1NOTBM-NEXT: xorl %ebx, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB34_4:
+; X86-BMI1NOTBM-NEXT: .LBB36_4:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ebx
; X86-BMI1NOTBM-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB34_2
+; X86-BMI1BMI2-NEXT: je .LBB36_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB34_2:
+; X86-BMI1BMI2-NEXT: .LBB36_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: movl $-1, %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %ebx, %ebp
; X86-BMI1BMI2-NEXT: shrdl %cl, %ebx, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB34_4
+; X86-BMI1BMI2-NEXT: je .LBB36_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebp, %ebx
; X86-BMI1BMI2-NEXT: xorl %ebp, %ebp
-; X86-BMI1BMI2-NEXT: .LBB34_4:
+; X86-BMI1BMI2-NEXT: .LBB36_4:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ebp
; X86-BMI1BMI2-NEXT: pushl %ebx
; X86-NOBMI-NEXT: shrl %cl, %edi
; X86-NOBMI-NEXT: shrdl %cl, %eax, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB35_2
+; X86-NOBMI-NEXT: je .LBB37_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: xorl %edi, %edi
-; X86-NOBMI-NEXT: .LBB35_2:
+; X86-NOBMI-NEXT: .LBB37_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: movl $-1, %ebx
; X86-NOBMI-NEXT: shrl %cl, %ebp
; X86-NOBMI-NEXT: shrdl %cl, %ebx, %ebx
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB35_4
+; X86-NOBMI-NEXT: je .LBB37_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %ebp, %ebx
; X86-NOBMI-NEXT: xorl %ebp, %ebp
-; X86-NOBMI-NEXT: .LBB35_4:
+; X86-NOBMI-NEXT: .LBB37_4:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ebp
; X86-NOBMI-NEXT: pushl %ebx
; X86-BMI1NOTBM-NEXT: shrl %cl, %edi
; X86-BMI1NOTBM-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB35_2
+; X86-BMI1NOTBM-NEXT: je .LBB37_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: xorl %edi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB35_2:
+; X86-BMI1NOTBM-NEXT: .LBB37_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: movl $-1, %ebx
; X86-BMI1NOTBM-NEXT: shrl %cl, %ebp
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebx, %ebx
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB35_4
+; X86-BMI1NOTBM-NEXT: je .LBB37_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %ebp, %ebx
; X86-BMI1NOTBM-NEXT: xorl %ebp, %ebp
-; X86-BMI1NOTBM-NEXT: .LBB35_4:
+; X86-BMI1NOTBM-NEXT: .LBB37_4:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ebp
; X86-BMI1NOTBM-NEXT: pushl %ebx
; X86-BMI1BMI2-NEXT: shrdl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shrxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB35_2
+; X86-BMI1BMI2-NEXT: je .LBB37_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: xorl %edi, %edi
-; X86-BMI1BMI2-NEXT: .LBB35_2:
+; X86-BMI1BMI2-NEXT: .LBB37_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: movl $-1, %ebp
; X86-BMI1BMI2-NEXT: shrxl %ecx, %ebp, %ebx
; X86-BMI1BMI2-NEXT: shrdl %cl, %ebp, %ebp
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB35_4
+; X86-BMI1BMI2-NEXT: je .LBB37_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %ebp
; X86-BMI1BMI2-NEXT: xorl %ebx, %ebx
-; X86-BMI1BMI2-NEXT: .LBB35_4:
+; X86-BMI1BMI2-NEXT: .LBB37_4:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ebx
; X86-BMI1BMI2-NEXT: pushl %ebp
; X86-NOBMI-NEXT: shrdl %cl, %edx, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB41_2
+; X86-NOBMI-NEXT: je .LBB43_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %eax, %edi
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB41_2:
+; X86-NOBMI-NEXT: .LBB43_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: shldl %cl, %edi, %eax
; X86-NOBMI-NEXT: shll %cl, %edi
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl %edi, %ebx
-; X86-NOBMI-NEXT: jne .LBB41_4
+; X86-NOBMI-NEXT: jne .LBB43_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %ebx
-; X86-NOBMI-NEXT: .LBB41_4:
+; X86-NOBMI-NEXT: .LBB43_4:
; X86-NOBMI-NEXT: movl %ebx, %eax
; X86-NOBMI-NEXT: shrl %cl, %eax
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl $0, %edx
-; X86-NOBMI-NEXT: jne .LBB41_6
+; X86-NOBMI-NEXT: jne .LBB43_6
; X86-NOBMI-NEXT: # %bb.5:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: movl %eax, %edx
-; X86-NOBMI-NEXT: .LBB41_6:
+; X86-NOBMI-NEXT: .LBB43_6:
; X86-NOBMI-NEXT: shrdl %cl, %ebx, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: jne .LBB41_8
+; X86-NOBMI-NEXT: jne .LBB43_8
; X86-NOBMI-NEXT: # %bb.7:
; X86-NOBMI-NEXT: movl %esi, %eax
-; X86-NOBMI-NEXT: .LBB41_8:
+; X86-NOBMI-NEXT: .LBB43_8:
; X86-NOBMI-NEXT: popl %esi
; X86-NOBMI-NEXT: popl %edi
; X86-NOBMI-NEXT: popl %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edx, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB41_2
+; X86-BMI1NOTBM-NEXT: je .LBB43_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %eax, %edi
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB41_2:
+; X86-BMI1NOTBM-NEXT: .LBB43_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %eax
; X86-BMI1NOTBM-NEXT: shll %cl, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl %edi, %ebx
-; X86-BMI1NOTBM-NEXT: jne .LBB41_4
+; X86-BMI1NOTBM-NEXT: jne .LBB43_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB41_4:
+; X86-BMI1NOTBM-NEXT: .LBB43_4:
; X86-BMI1NOTBM-NEXT: movl %ebx, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl $0, %edx
-; X86-BMI1NOTBM-NEXT: jne .LBB41_6
+; X86-BMI1NOTBM-NEXT: jne .LBB43_6
; X86-BMI1NOTBM-NEXT: # %bb.5:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
-; X86-BMI1NOTBM-NEXT: .LBB41_6:
+; X86-BMI1NOTBM-NEXT: .LBB43_6:
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebx, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: jne .LBB41_8
+; X86-BMI1NOTBM-NEXT: jne .LBB43_8
; X86-BMI1NOTBM-NEXT: # %bb.7:
; X86-BMI1NOTBM-NEXT: movl %esi, %eax
-; X86-BMI1NOTBM-NEXT: .LBB41_8:
+; X86-BMI1NOTBM-NEXT: .LBB43_8:
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1NOTBM-NEXT: popl %edi
; X86-BMI1NOTBM-NEXT: popl %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB41_2
+; X86-BMI1BMI2-NEXT: je .LBB43_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %esi, %eax
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
-; X86-BMI1BMI2-NEXT: .LBB41_2:
+; X86-BMI1BMI2-NEXT: .LBB43_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shlxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB41_4
+; X86-BMI1BMI2-NEXT: je .LBB43_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: movl $0, %edi
-; X86-BMI1BMI2-NEXT: .LBB41_4:
+; X86-BMI1BMI2-NEXT: .LBB43_4:
; X86-BMI1BMI2-NEXT: shrxl %ecx, %esi, %eax
-; X86-BMI1BMI2-NEXT: jne .LBB41_6
+; X86-BMI1BMI2-NEXT: jne .LBB43_6
; X86-BMI1BMI2-NEXT: # %bb.5:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
-; X86-BMI1BMI2-NEXT: .LBB41_6:
+; X86-BMI1BMI2-NEXT: .LBB43_6:
; X86-BMI1BMI2-NEXT: shrdl %cl, %esi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: jne .LBB41_8
+; X86-BMI1BMI2-NEXT: jne .LBB43_8
; X86-BMI1BMI2-NEXT: # %bb.7:
; X86-BMI1BMI2-NEXT: movl %edi, %eax
-; X86-BMI1BMI2-NEXT: .LBB41_8:
+; X86-BMI1BMI2-NEXT: .LBB43_8:
; X86-BMI1BMI2-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: popl %edi
; X86-BMI1BMI2-NEXT: retl
; X86-NOBMI-NEXT: shrdl %cl, %edx, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB42_2
+; X86-NOBMI-NEXT: je .LBB44_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %eax, %edi
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB42_2:
+; X86-NOBMI-NEXT: .LBB44_2:
; X86-NOBMI-NEXT: movb $64, %cl
; X86-NOBMI-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-NOBMI-NEXT: shldl %cl, %edi, %eax
; X86-NOBMI-NEXT: shll %cl, %edi
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl %edi, %ebx
-; X86-NOBMI-NEXT: jne .LBB42_4
+; X86-NOBMI-NEXT: jne .LBB44_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %ebx
-; X86-NOBMI-NEXT: .LBB42_4:
+; X86-NOBMI-NEXT: .LBB44_4:
; X86-NOBMI-NEXT: movl %ebx, %eax
; X86-NOBMI-NEXT: shrl %cl, %eax
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl $0, %edx
-; X86-NOBMI-NEXT: jne .LBB42_6
+; X86-NOBMI-NEXT: jne .LBB44_6
; X86-NOBMI-NEXT: # %bb.5:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: movl %eax, %edx
-; X86-NOBMI-NEXT: .LBB42_6:
+; X86-NOBMI-NEXT: .LBB44_6:
; X86-NOBMI-NEXT: shrdl %cl, %ebx, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: jne .LBB42_8
+; X86-NOBMI-NEXT: jne .LBB44_8
; X86-NOBMI-NEXT: # %bb.7:
; X86-NOBMI-NEXT: movl %esi, %eax
-; X86-NOBMI-NEXT: .LBB42_8:
+; X86-NOBMI-NEXT: .LBB44_8:
; X86-NOBMI-NEXT: popl %esi
; X86-NOBMI-NEXT: popl %edi
; X86-NOBMI-NEXT: popl %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edx, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB42_2
+; X86-BMI1NOTBM-NEXT: je .LBB44_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %eax, %edi
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB42_2:
+; X86-BMI1NOTBM-NEXT: .LBB44_2:
; X86-BMI1NOTBM-NEXT: movb $64, %cl
; X86-BMI1NOTBM-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %eax
; X86-BMI1NOTBM-NEXT: shll %cl, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl %edi, %ebx
-; X86-BMI1NOTBM-NEXT: jne .LBB42_4
+; X86-BMI1NOTBM-NEXT: jne .LBB44_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB42_4:
+; X86-BMI1NOTBM-NEXT: .LBB44_4:
; X86-BMI1NOTBM-NEXT: movl %ebx, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl $0, %edx
-; X86-BMI1NOTBM-NEXT: jne .LBB42_6
+; X86-BMI1NOTBM-NEXT: jne .LBB44_6
; X86-BMI1NOTBM-NEXT: # %bb.5:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
-; X86-BMI1NOTBM-NEXT: .LBB42_6:
+; X86-BMI1NOTBM-NEXT: .LBB44_6:
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebx, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: jne .LBB42_8
+; X86-BMI1NOTBM-NEXT: jne .LBB44_8
; X86-BMI1NOTBM-NEXT: # %bb.7:
; X86-BMI1NOTBM-NEXT: movl %esi, %eax
-; X86-BMI1NOTBM-NEXT: .LBB42_8:
+; X86-BMI1NOTBM-NEXT: .LBB44_8:
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1NOTBM-NEXT: popl %edi
; X86-BMI1NOTBM-NEXT: popl %ebx
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %esi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB42_2
+; X86-BMI1BMI2-NEXT: je .LBB44_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %esi, %eax
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
-; X86-BMI1BMI2-NEXT: .LBB42_2:
+; X86-BMI1BMI2-NEXT: .LBB44_2:
; X86-BMI1BMI2-NEXT: movb $64, %cl
; X86-BMI1BMI2-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shlxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB42_4
+; X86-BMI1BMI2-NEXT: je .LBB44_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: movl $0, %edi
-; X86-BMI1BMI2-NEXT: .LBB42_4:
+; X86-BMI1BMI2-NEXT: .LBB44_4:
; X86-BMI1BMI2-NEXT: shrxl %ecx, %esi, %eax
-; X86-BMI1BMI2-NEXT: jne .LBB42_6
+; X86-BMI1BMI2-NEXT: jne .LBB44_6
; X86-BMI1BMI2-NEXT: # %bb.5:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
-; X86-BMI1BMI2-NEXT: .LBB42_6:
+; X86-BMI1BMI2-NEXT: .LBB44_6:
; X86-BMI1BMI2-NEXT: shrdl %cl, %esi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: jne .LBB42_8
+; X86-BMI1BMI2-NEXT: jne .LBB44_8
; X86-BMI1BMI2-NEXT: # %bb.7:
; X86-BMI1BMI2-NEXT: movl %edi, %eax
-; X86-BMI1BMI2-NEXT: .LBB42_8:
+; X86-BMI1BMI2-NEXT: .LBB44_8:
; X86-BMI1BMI2-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: popl %edi
; X86-BMI1BMI2-NEXT: retl
; X86-NOBMI-NEXT: shrdl %cl, %edx, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB43_2
+; X86-NOBMI-NEXT: je .LBB45_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %eax, %edi
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB43_2:
+; X86-NOBMI-NEXT: .LBB45_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: shldl %cl, %edi, %eax
; X86-NOBMI-NEXT: shll %cl, %edi
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl %edi, %ebx
-; X86-NOBMI-NEXT: jne .LBB43_4
+; X86-NOBMI-NEXT: jne .LBB45_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %ebx
-; X86-NOBMI-NEXT: .LBB43_4:
+; X86-NOBMI-NEXT: .LBB45_4:
; X86-NOBMI-NEXT: movl %ebx, %eax
; X86-NOBMI-NEXT: shrl %cl, %eax
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl $0, %edx
-; X86-NOBMI-NEXT: jne .LBB43_6
+; X86-NOBMI-NEXT: jne .LBB45_6
; X86-NOBMI-NEXT: # %bb.5:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: movl %eax, %edx
-; X86-NOBMI-NEXT: .LBB43_6:
+; X86-NOBMI-NEXT: .LBB45_6:
; X86-NOBMI-NEXT: shrdl %cl, %ebx, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: jne .LBB43_8
+; X86-NOBMI-NEXT: jne .LBB45_8
; X86-NOBMI-NEXT: # %bb.7:
; X86-NOBMI-NEXT: movl %esi, %eax
-; X86-NOBMI-NEXT: .LBB43_8:
+; X86-NOBMI-NEXT: .LBB45_8:
; X86-NOBMI-NEXT: popl %esi
; X86-NOBMI-NEXT: popl %edi
; X86-NOBMI-NEXT: popl %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edx, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB43_2
+; X86-BMI1NOTBM-NEXT: je .LBB45_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %eax, %edi
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB43_2:
+; X86-BMI1NOTBM-NEXT: .LBB45_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %eax
; X86-BMI1NOTBM-NEXT: shll %cl, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl %edi, %ebx
-; X86-BMI1NOTBM-NEXT: jne .LBB43_4
+; X86-BMI1NOTBM-NEXT: jne .LBB45_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB43_4:
+; X86-BMI1NOTBM-NEXT: .LBB45_4:
; X86-BMI1NOTBM-NEXT: movl %ebx, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl $0, %edx
-; X86-BMI1NOTBM-NEXT: jne .LBB43_6
+; X86-BMI1NOTBM-NEXT: jne .LBB45_6
; X86-BMI1NOTBM-NEXT: # %bb.5:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
-; X86-BMI1NOTBM-NEXT: .LBB43_6:
+; X86-BMI1NOTBM-NEXT: .LBB45_6:
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebx, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: jne .LBB43_8
+; X86-BMI1NOTBM-NEXT: jne .LBB45_8
; X86-BMI1NOTBM-NEXT: # %bb.7:
; X86-BMI1NOTBM-NEXT: movl %esi, %eax
-; X86-BMI1NOTBM-NEXT: .LBB43_8:
+; X86-BMI1NOTBM-NEXT: .LBB45_8:
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1NOTBM-NEXT: popl %edi
; X86-BMI1NOTBM-NEXT: popl %ebx
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB43_2
+; X86-BMI1BMI2-NEXT: je .LBB45_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %esi, %eax
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
-; X86-BMI1BMI2-NEXT: .LBB43_2:
+; X86-BMI1BMI2-NEXT: .LBB45_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shlxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB43_4
+; X86-BMI1BMI2-NEXT: je .LBB45_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: movl $0, %edi
-; X86-BMI1BMI2-NEXT: .LBB43_4:
+; X86-BMI1BMI2-NEXT: .LBB45_4:
; X86-BMI1BMI2-NEXT: shrxl %ecx, %esi, %eax
-; X86-BMI1BMI2-NEXT: jne .LBB43_6
+; X86-BMI1BMI2-NEXT: jne .LBB45_6
; X86-BMI1BMI2-NEXT: # %bb.5:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
-; X86-BMI1BMI2-NEXT: .LBB43_6:
+; X86-BMI1BMI2-NEXT: .LBB45_6:
; X86-BMI1BMI2-NEXT: shrdl %cl, %esi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: jne .LBB43_8
+; X86-BMI1BMI2-NEXT: jne .LBB45_8
; X86-BMI1BMI2-NEXT: # %bb.7:
; X86-BMI1BMI2-NEXT: movl %edi, %eax
-; X86-BMI1BMI2-NEXT: .LBB43_8:
+; X86-BMI1BMI2-NEXT: .LBB45_8:
; X86-BMI1BMI2-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: popl %edi
; X86-BMI1BMI2-NEXT: retl
; X86-NOBMI-NEXT: shrdl %cl, %edx, %edi
; X86-NOBMI-NEXT: xorl %esi, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: je .LBB44_2
+; X86-NOBMI-NEXT: je .LBB46_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %eax, %edi
; X86-NOBMI-NEXT: xorl %eax, %eax
-; X86-NOBMI-NEXT: .LBB44_2:
+; X86-NOBMI-NEXT: .LBB46_2:
; X86-NOBMI-NEXT: movb $64, %cl
; X86-NOBMI-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-NOBMI-NEXT: shldl %cl, %edi, %eax
; X86-NOBMI-NEXT: shll %cl, %edi
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl %edi, %ebx
-; X86-NOBMI-NEXT: jne .LBB44_4
+; X86-NOBMI-NEXT: jne .LBB46_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %eax, %ebx
-; X86-NOBMI-NEXT: .LBB44_4:
+; X86-NOBMI-NEXT: .LBB46_4:
; X86-NOBMI-NEXT: movl %ebx, %eax
; X86-NOBMI-NEXT: shrl %cl, %eax
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl $0, %edx
-; X86-NOBMI-NEXT: jne .LBB44_6
+; X86-NOBMI-NEXT: jne .LBB46_6
; X86-NOBMI-NEXT: # %bb.5:
; X86-NOBMI-NEXT: movl %edi, %esi
; X86-NOBMI-NEXT: movl %eax, %edx
-; X86-NOBMI-NEXT: .LBB44_6:
+; X86-NOBMI-NEXT: .LBB46_6:
; X86-NOBMI-NEXT: shrdl %cl, %ebx, %esi
; X86-NOBMI-NEXT: testb $32, %cl
-; X86-NOBMI-NEXT: jne .LBB44_8
+; X86-NOBMI-NEXT: jne .LBB46_8
; X86-NOBMI-NEXT: # %bb.7:
; X86-NOBMI-NEXT: movl %esi, %eax
-; X86-NOBMI-NEXT: .LBB44_8:
+; X86-NOBMI-NEXT: .LBB46_8:
; X86-NOBMI-NEXT: popl %esi
; X86-NOBMI-NEXT: popl %edi
; X86-NOBMI-NEXT: popl %ebx
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edx, %edi
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: je .LBB44_2
+; X86-BMI1NOTBM-NEXT: je .LBB46_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %eax, %edi
; X86-BMI1NOTBM-NEXT: xorl %eax, %eax
-; X86-BMI1NOTBM-NEXT: .LBB44_2:
+; X86-BMI1NOTBM-NEXT: .LBB46_2:
; X86-BMI1NOTBM-NEXT: movb $64, %cl
; X86-BMI1NOTBM-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1NOTBM-NEXT: shldl %cl, %edi, %eax
; X86-BMI1NOTBM-NEXT: shll %cl, %edi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl %edi, %ebx
-; X86-BMI1NOTBM-NEXT: jne .LBB44_4
+; X86-BMI1NOTBM-NEXT: jne .LBB46_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %eax, %ebx
-; X86-BMI1NOTBM-NEXT: .LBB44_4:
+; X86-BMI1NOTBM-NEXT: .LBB46_4:
; X86-BMI1NOTBM-NEXT: movl %ebx, %eax
; X86-BMI1NOTBM-NEXT: shrl %cl, %eax
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl $0, %edx
-; X86-BMI1NOTBM-NEXT: jne .LBB44_6
+; X86-BMI1NOTBM-NEXT: jne .LBB46_6
; X86-BMI1NOTBM-NEXT: # %bb.5:
; X86-BMI1NOTBM-NEXT: movl %edi, %esi
; X86-BMI1NOTBM-NEXT: movl %eax, %edx
-; X86-BMI1NOTBM-NEXT: .LBB44_6:
+; X86-BMI1NOTBM-NEXT: .LBB46_6:
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebx, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
-; X86-BMI1NOTBM-NEXT: jne .LBB44_8
+; X86-BMI1NOTBM-NEXT: jne .LBB46_8
; X86-BMI1NOTBM-NEXT: # %bb.7:
; X86-BMI1NOTBM-NEXT: movl %esi, %eax
-; X86-BMI1NOTBM-NEXT: .LBB44_8:
+; X86-BMI1NOTBM-NEXT: .LBB46_8:
; X86-BMI1NOTBM-NEXT: popl %esi
; X86-BMI1NOTBM-NEXT: popl %edi
; X86-BMI1NOTBM-NEXT: popl %ebx
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %eax
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB44_2
+; X86-BMI1BMI2-NEXT: je .LBB46_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %esi, %eax
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
-; X86-BMI1BMI2-NEXT: .LBB44_2:
+; X86-BMI1BMI2-NEXT: .LBB46_2:
; X86-BMI1BMI2-NEXT: movb $64, %cl
; X86-BMI1BMI2-NEXT: subb {{[0-9]+}}(%esp), %cl
; X86-BMI1BMI2-NEXT: shldl %cl, %eax, %esi
; X86-BMI1BMI2-NEXT: shlxl %ecx, %eax, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB44_4
+; X86-BMI1BMI2-NEXT: je .LBB46_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
; X86-BMI1BMI2-NEXT: movl $0, %edi
-; X86-BMI1BMI2-NEXT: .LBB44_4:
+; X86-BMI1BMI2-NEXT: .LBB46_4:
; X86-BMI1BMI2-NEXT: shrxl %ecx, %esi, %eax
-; X86-BMI1BMI2-NEXT: jne .LBB44_6
+; X86-BMI1BMI2-NEXT: jne .LBB46_6
; X86-BMI1BMI2-NEXT: # %bb.5:
; X86-BMI1BMI2-NEXT: movl %eax, %edx
-; X86-BMI1BMI2-NEXT: .LBB44_6:
+; X86-BMI1BMI2-NEXT: .LBB46_6:
; X86-BMI1BMI2-NEXT: shrdl %cl, %esi, %edi
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: jne .LBB44_8
+; X86-BMI1BMI2-NEXT: jne .LBB46_8
; X86-BMI1BMI2-NEXT: # %bb.7:
; X86-BMI1BMI2-NEXT: movl %edi, %eax
-; X86-BMI1BMI2-NEXT: .LBB44_8:
+; X86-BMI1BMI2-NEXT: .LBB46_8:
; X86-BMI1BMI2-NEXT: popl %esi
; X86-BMI1BMI2-NEXT: popl %edi
; X86-BMI1BMI2-NEXT: retl
; X86-NOBMI-NEXT: shrdl %cl, %edx, %ebx
; X86-NOBMI-NEXT: xorl %edx, %edx
; X86-NOBMI-NEXT: testb $32, %al
-; X86-NOBMI-NEXT: je .LBB45_2
+; X86-NOBMI-NEXT: je .LBB47_2
; X86-NOBMI-NEXT: # %bb.1:
; X86-NOBMI-NEXT: movl %esi, %ebx
; X86-NOBMI-NEXT: xorl %esi, %esi
-; X86-NOBMI-NEXT: .LBB45_2:
+; X86-NOBMI-NEXT: .LBB47_2:
; X86-NOBMI-NEXT: movl $64, %ecx
; X86-NOBMI-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-NOBMI-NEXT: shldl %cl, %ebx, %esi
; X86-NOBMI-NEXT: shll %cl, %ebx
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl %ebx, %ebp
-; X86-NOBMI-NEXT: jne .LBB45_4
+; X86-NOBMI-NEXT: jne .LBB47_4
; X86-NOBMI-NEXT: # %bb.3:
; X86-NOBMI-NEXT: movl %esi, %ebp
-; X86-NOBMI-NEXT: .LBB45_4:
+; X86-NOBMI-NEXT: .LBB47_4:
; X86-NOBMI-NEXT: movl %ebp, %esi
; X86-NOBMI-NEXT: shrl %cl, %esi
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl $0, %edi
-; X86-NOBMI-NEXT: jne .LBB45_6
+; X86-NOBMI-NEXT: jne .LBB47_6
; X86-NOBMI-NEXT: # %bb.5:
; X86-NOBMI-NEXT: movl %ebx, %edx
; X86-NOBMI-NEXT: movl %esi, %edi
-; X86-NOBMI-NEXT: .LBB45_6:
+; X86-NOBMI-NEXT: .LBB47_6:
; X86-NOBMI-NEXT: shrdl %cl, %ebp, %edx
; X86-NOBMI-NEXT: testb $32, %cl
; X86-NOBMI-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X86-NOBMI-NEXT: jne .LBB45_8
+; X86-NOBMI-NEXT: jne .LBB47_8
; X86-NOBMI-NEXT: # %bb.7:
; X86-NOBMI-NEXT: movl %edx, %esi
-; X86-NOBMI-NEXT: .LBB45_8:
+; X86-NOBMI-NEXT: .LBB47_8:
; X86-NOBMI-NEXT: subl $8, %esp
; X86-NOBMI-NEXT: pushl %ecx
; X86-NOBMI-NEXT: pushl %eax
; X86-BMI1NOTBM-NEXT: shrdl %cl, %edx, %ebx
; X86-BMI1NOTBM-NEXT: xorl %edx, %edx
; X86-BMI1NOTBM-NEXT: testb $32, %al
-; X86-BMI1NOTBM-NEXT: je .LBB45_2
+; X86-BMI1NOTBM-NEXT: je .LBB47_2
; X86-BMI1NOTBM-NEXT: # %bb.1:
; X86-BMI1NOTBM-NEXT: movl %esi, %ebx
; X86-BMI1NOTBM-NEXT: xorl %esi, %esi
-; X86-BMI1NOTBM-NEXT: .LBB45_2:
+; X86-BMI1NOTBM-NEXT: .LBB47_2:
; X86-BMI1NOTBM-NEXT: movl $64, %ecx
; X86-BMI1NOTBM-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1NOTBM-NEXT: shldl %cl, %ebx, %esi
; X86-BMI1NOTBM-NEXT: shll %cl, %ebx
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl %ebx, %ebp
-; X86-BMI1NOTBM-NEXT: jne .LBB45_4
+; X86-BMI1NOTBM-NEXT: jne .LBB47_4
; X86-BMI1NOTBM-NEXT: # %bb.3:
; X86-BMI1NOTBM-NEXT: movl %esi, %ebp
-; X86-BMI1NOTBM-NEXT: .LBB45_4:
+; X86-BMI1NOTBM-NEXT: .LBB47_4:
; X86-BMI1NOTBM-NEXT: movl %ebp, %esi
; X86-BMI1NOTBM-NEXT: shrl %cl, %esi
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl $0, %edi
-; X86-BMI1NOTBM-NEXT: jne .LBB45_6
+; X86-BMI1NOTBM-NEXT: jne .LBB47_6
; X86-BMI1NOTBM-NEXT: # %bb.5:
; X86-BMI1NOTBM-NEXT: movl %ebx, %edx
; X86-BMI1NOTBM-NEXT: movl %esi, %edi
-; X86-BMI1NOTBM-NEXT: .LBB45_6:
+; X86-BMI1NOTBM-NEXT: .LBB47_6:
; X86-BMI1NOTBM-NEXT: shrdl %cl, %ebp, %edx
; X86-BMI1NOTBM-NEXT: testb $32, %cl
; X86-BMI1NOTBM-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X86-BMI1NOTBM-NEXT: jne .LBB45_8
+; X86-BMI1NOTBM-NEXT: jne .LBB47_8
; X86-BMI1NOTBM-NEXT: # %bb.7:
; X86-BMI1NOTBM-NEXT: movl %edx, %esi
-; X86-BMI1NOTBM-NEXT: .LBB45_8:
+; X86-BMI1NOTBM-NEXT: .LBB47_8:
; X86-BMI1NOTBM-NEXT: subl $8, %esp
; X86-BMI1NOTBM-NEXT: pushl %ecx
; X86-BMI1NOTBM-NEXT: pushl %eax
; X86-BMI1BMI2-NEXT: shrxl %eax, %edx, %edx
; X86-BMI1BMI2-NEXT: xorl %esi, %esi
; X86-BMI1BMI2-NEXT: testb $32, %al
-; X86-BMI1BMI2-NEXT: je .LBB45_2
+; X86-BMI1BMI2-NEXT: je .LBB47_2
; X86-BMI1BMI2-NEXT: # %bb.1:
; X86-BMI1BMI2-NEXT: movl %edx, %edi
; X86-BMI1BMI2-NEXT: xorl %edx, %edx
-; X86-BMI1BMI2-NEXT: .LBB45_2:
+; X86-BMI1BMI2-NEXT: .LBB47_2:
; X86-BMI1BMI2-NEXT: movl $64, %ecx
; X86-BMI1BMI2-NEXT: subl {{[0-9]+}}(%esp), %ecx
; X86-BMI1BMI2-NEXT: shldl %cl, %edi, %edx
; X86-BMI1BMI2-NEXT: shlxl %ecx, %edi, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
-; X86-BMI1BMI2-NEXT: je .LBB45_4
+; X86-BMI1BMI2-NEXT: je .LBB47_4
; X86-BMI1BMI2-NEXT: # %bb.3:
; X86-BMI1BMI2-NEXT: movl %ebx, %edx
; X86-BMI1BMI2-NEXT: movl $0, %ebx
-; X86-BMI1BMI2-NEXT: .LBB45_4:
+; X86-BMI1BMI2-NEXT: .LBB47_4:
; X86-BMI1BMI2-NEXT: shrxl %ecx, %edx, %edi
-; X86-BMI1BMI2-NEXT: jne .LBB45_6
+; X86-BMI1BMI2-NEXT: jne .LBB47_6
; X86-BMI1BMI2-NEXT: # %bb.5:
; X86-BMI1BMI2-NEXT: movl %edi, %esi
-; X86-BMI1BMI2-NEXT: .LBB45_6:
+; X86-BMI1BMI2-NEXT: .LBB47_6:
; X86-BMI1BMI2-NEXT: shrdl %cl, %edx, %ebx
; X86-BMI1BMI2-NEXT: testb $32, %cl
; X86-BMI1BMI2-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X86-BMI1BMI2-NEXT: jne .LBB45_8
+; X86-BMI1BMI2-NEXT: jne .LBB47_8
; X86-BMI1BMI2-NEXT: # %bb.7:
; X86-BMI1BMI2-NEXT: movl %ebx, %edi
-; X86-BMI1BMI2-NEXT: .LBB45_8:
+; X86-BMI1BMI2-NEXT: .LBB47_8:
; X86-BMI1BMI2-NEXT: subl $8, %esp
; X86-BMI1BMI2-NEXT: pushl %ecx
; X86-BMI1BMI2-NEXT: pushl %eax