https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118250

--- Comment #2 from Andi Kleen <andi-gcc at firstfloor dot org> ---
With 

--param=switch-lower-slow-alg-max-cases=1

(so using greedy) trunk includes "38" in the first bit cluster, but the LLVM
code is still better. I've seen the dynamic programing algorithm miss clusters
like this before.


        movl    (%rdi), %eax
        cmpl    $38, %eax
        jg      .L2
        cmpl    $1, %eax
        jle     .L4
        movabsq $274949472260, %rdx
        btq     %rax, %rdx
        setc    %al
        ret
        .p2align 4,,10
        .p2align 3
.L2:
        cmpl    $95, %eax
        sete    %al
        ret
        .p2align 4,,10
        .p2align 3
.L4:
        xorl    %eax, %eax
        ret

Reply via email to