[LLVMdev] registerSize on X86 confused?

Jun Koi
Tue, 01 Apr 2014 23:43:23 -0000

On Mon, Mar 31, 2014 at 11:48 PM, Jun Koi <junkoi2004 at gmail.com> wrote:

> Hi,
>
> In file X86DisassemblerDecoder.c, we have function readPrefixes() with
> below code:
>
> .....
>   } else if (insn->mode == MODE_32BIT) {
>     insn->registerSize       = (hasOpSize ? 2 : 4);
>     insn->addressSize        = (hasAdSize ? 2 : 4);
>     insn->displacementSize   = (hasAdSize ? 2 : 4);
>     insn->immediateSize      = (hasOpSize ? 2 : 4);
>   }
> ....
>
> This is confused to me: so we have registerSize to be either 2 or 4 bytes.
> But we might have instruction like:
>
>      adc    al, 0x89
>
> This case we should have registerSize = 1 for AL. So is this a bug, or I
> am misunderstanding the meaning of this "registerSize" ??
>
>
any help please?

thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20140402/aaa1de51/attachment.html>