qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 16/25] tcg/i386: Handle ctz and clz opcodes


From: Bastian Koppelmann
Subject: Re: [Qemu-devel] [PATCH 16/25] tcg/i386: Handle ctz and clz opcodes
Date: Thu, 17 Nov 2016 17:50:40 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 11/16/2016 08:25 PM, Richard Henderson wrote:
> +
> +    OP_32_64(clz):
> +        if (const_args[2]) {
> +            tcg_debug_assert(have_bmi1);
> +            tcg_debug_assert(args[2] == (rexw ? 64 : 32));
> +            tcg_out_modrm(s, OPC_LZCNT + rexw, args[0], args[1]);
> +        } else {
> +            /* ??? See above.  */
> +            tcg_out_modrm(s, OPC_BSR + rexw, args[0], args[1]);

The Intel ISA manual states that it find the bit index of the most
significant bit, where the least significant bit is index 0. So for the
input 0x2 this should return 1. However this is not the number of
leading zeros.

Cheers,
    Bastian




reply via email to

[Prev in Thread] Current Thread [Next in Thread]