From 98b26220ebd17bac45eb0e62d6784c8d7a333eba Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Mon, 5 Nov 2018 09:20:08 +0000 Subject: [PATCH] [NFC][x86][AArch64] extract-bits.ll: add test with 'ashr'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346121 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/AArch64/extract-bits.ll | 32 ++ test/CodeGen/X86/extract-bits.ll | 885 ++++++++++++++++++++++------------- 2 files changed, 581 insertions(+), 336 deletions(-) diff --git a/test/CodeGen/AArch64/extract-bits.ll b/test/CodeGen/AArch64/extract-bits.ll index 21bebc67969..5dbb71939bb 100644 --- a/test/CodeGen/AArch64/extract-bits.ll +++ b/test/CodeGen/AArch64/extract-bits.ll @@ -34,6 +34,22 @@ define i32 @bextr32_a0(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind { ret i32 %masked } +define i32 @bextr32_a0_arithmetic(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind { +; CHECK-LABEL: bextr32_a0_arithmetic: +; CHECK: // %bb.0: +; CHECK-NEXT: orr w9, wzr, #0x1 +; CHECK-NEXT: lsl w9, w9, w2 +; CHECK-NEXT: asr w8, w0, w1 +; CHECK-NEXT: sub w9, w9, #1 // =1 +; CHECK-NEXT: and w0, w9, w8 +; CHECK-NEXT: ret + %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 { ; CHECK-LABEL: bextr32_a1_indexzext: ; CHECK: // %bb.0: @@ -124,6 +140,22 @@ define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ret i64 %masked } +define i64 @bextr64_a0_arithmetic(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { +; CHECK-LABEL: bextr64_a0_arithmetic: +; CHECK: // %bb.0: +; CHECK-NEXT: orr w9, wzr, #0x1 +; CHECK-NEXT: lsl x9, x9, x2 +; CHECK-NEXT: asr x8, x0, x1 +; CHECK-NEXT: sub x9, x9, #1 // =1 +; CHECK-NEXT: and x0, x9, x8 +; CHECK-NEXT: ret + %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 { ; CHECK-LABEL: bextr64_a1_indexzext: ; CHECK: // %bb.0: diff --git a/test/CodeGen/X86/extract-bits.ll b/test/CodeGen/X86/extract-bits.ll index 4cf3077b6d1..cfe6ba571df 100644 --- a/test/CodeGen/X86/extract-bits.ll +++ b/test/CodeGen/X86/extract-bits.ll @@ -97,6 +97,73 @@ define i32 @bextr32_a0(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind { 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: @@ -499,22 +566,22 @@ define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -535,22 +602,22 @@ define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -571,22 +638,22 @@ define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -629,6 +696,152 @@ define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { 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: @@ -642,22 +855,22 @@ define i64 @bextr64_a1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext % ; 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 @@ -678,22 +891,22 @@ define i64 @bextr64_a1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext % ; 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 @@ -714,22 +927,22 @@ define i64 @bextr64_a1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext % ; 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 @@ -791,22 +1004,22 @@ define i64 @bextr64_a2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -828,22 +1041,22 @@ define i64 @bextr64_a2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -865,22 +1078,22 @@ define i64 @bextr64_a2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -940,22 +1153,22 @@ define i64 @bextr64_a3_load_indexzext(i64* %w, i8 zeroext %numskipbits, i8 zeroe ; 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 @@ -977,22 +1190,22 @@ define i64 @bextr64_a3_load_indexzext(i64* %w, i8 zeroext %numskipbits, i8 zeroe ; 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 @@ -1014,22 +1227,22 @@ define i64 @bextr64_a3_load_indexzext(i64* %w, i8 zeroext %numskipbits, i8 zeroe ; 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 @@ -1093,22 +1306,22 @@ define i64 @bextr64_a4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -1129,22 +1342,22 @@ define i64 @bextr64_a4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -1165,22 +1378,22 @@ define i64 @bextr64_a4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -1240,22 +1453,22 @@ define i64 @bextr64_a5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -1290,22 +1503,22 @@ define i64 @bextr64_a5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -1339,22 +1552,22 @@ define i64 @bextr64_a5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -1893,22 +2106,22 @@ define i64 @bextr64_b0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -1930,22 +2143,22 @@ define i64 @bextr64_b0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -1965,21 +2178,21 @@ define i64 @bextr64_b0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -2033,22 +2246,22 @@ define i64 @bextr64_b1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext % ; 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 @@ -2070,22 +2283,22 @@ define i64 @bextr64_b1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext % ; 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 @@ -2105,21 +2318,21 @@ define i64 @bextr64_b1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext % ; 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 @@ -2179,22 +2392,22 @@ define i64 @bextr64_b2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -2217,22 +2430,22 @@ define i64 @bextr64_b2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -2253,21 +2466,21 @@ define i64 @bextr64_b2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -2325,22 +2538,22 @@ define i64 @bextr64_b3_load_indexzext(i64* %w, i8 zeroext %numskipbits, i8 zeroe ; 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 @@ -2363,22 +2576,22 @@ define i64 @bextr64_b3_load_indexzext(i64* %w, i8 zeroext %numskipbits, i8 zeroe ; 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 @@ -2399,21 +2612,21 @@ define i64 @bextr64_b3_load_indexzext(i64* %w, i8 zeroext %numskipbits, i8 zeroe ; 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 @@ -2475,22 +2688,22 @@ define i64 @bextr64_b4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -2512,22 +2725,22 @@ define i64 @bextr64_b4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -2547,21 +2760,21 @@ define i64 @bextr64_b4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -2619,22 +2832,22 @@ define i64 @bextr64_b5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -2669,22 +2882,22 @@ define i64 @bextr64_b5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -2716,21 +2929,21 @@ define i64 @bextr64_b5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -3655,11 +3868,11 @@ define i64 @bextr64_c0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -3667,11 +3880,11 @@ define i64 @bextr64_c0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -3702,11 +3915,11 @@ define i64 @bextr64_c0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -3714,11 +3927,11 @@ define i64 @bextr64_c0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -3748,22 +3961,22 @@ define i64 @bextr64_c0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -3864,11 +4077,11 @@ define i64 @bextr64_c1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -3876,11 +4089,11 @@ define i64 @bextr64_c1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -3911,11 +4124,11 @@ define i64 @bextr64_c1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -3923,11 +4136,11 @@ define i64 @bextr64_c1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -3957,22 +4170,22 @@ define i64 @bextr64_c1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -4077,11 +4290,11 @@ define i64 @bextr64_c2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -4089,11 +4302,11 @@ define i64 @bextr64_c2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -4125,11 +4338,11 @@ define i64 @bextr64_c2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -4137,11 +4350,11 @@ define i64 @bextr64_c2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -4172,22 +4385,22 @@ define i64 @bextr64_c2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -4290,11 +4503,11 @@ define i64 @bextr64_c3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -4302,11 +4515,11 @@ define i64 @bextr64_c3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -4338,11 +4551,11 @@ define i64 @bextr64_c3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -4350,11 +4563,11 @@ define i64 @bextr64_c3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -4385,22 +4598,22 @@ define i64 @bextr64_c3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -4505,11 +4718,11 @@ define i64 @bextr64_c4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -4517,11 +4730,11 @@ define i64 @bextr64_c4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -4552,11 +4765,11 @@ define i64 @bextr64_c4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -4564,11 +4777,11 @@ define i64 @bextr64_c4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -4598,22 +4811,22 @@ define i64 @bextr64_c4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) ; 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 @@ -4714,11 +4927,11 @@ define i64 @bextr64_c5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -4726,11 +4939,11 @@ define i64 @bextr64_c5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -4766,11 +4979,11 @@ define i64 @bextr64_c5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -4778,11 +4991,11 @@ define i64 @bextr64_c5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -4817,22 +5030,22 @@ define i64 @bextr64_c5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -5322,36 +5535,36 @@ define i64 @bextr64_d0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -5370,36 +5583,36 @@ define i64 @bextr64_d0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -5416,32 +5629,32 @@ define i64 @bextr64_d0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind { ; 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 @@ -5493,36 +5706,36 @@ define i64 @bextr64_d1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -5541,36 +5754,36 @@ define i64 @bextr64_d1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -5587,32 +5800,32 @@ define i64 @bextr64_d1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) noun ; 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 @@ -5670,36 +5883,36 @@ define i64 @bextr64_d2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -5719,36 +5932,36 @@ define i64 @bextr64_d2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -5766,32 +5979,32 @@ define i64 @bextr64_d2_load(i64* %w, i64 %numskipbits, i64 %numlowbits) nounwind ; 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 @@ -5846,36 +6059,36 @@ define i64 @bextr64_d3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -5895,36 +6108,36 @@ define i64 @bextr64_d3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -5942,32 +6155,32 @@ define i64 @bextr64_d3_load_indexzext(i64* %w, i8 %numskipbits, i8 %numlowbits) ; 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 @@ -6029,37 +6242,37 @@ define i64 @bextr64_d5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -6090,37 +6303,37 @@ define i64 @bextr64_d5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 @@ -6148,33 +6361,33 @@ define i64 @bextr64_d5_skipextrauses(i64 %val, i64 %numskipbits, i64 %numlowbits ; 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 -- 2.11.0