search for: rexprefix

Displaying 4 results from an estimated 4 matches for "rexprefix".

Did you mean: rex_prefix
2014 Dec 24
2
[LLVMdev] X86 disassembler is quite broken on handling REX
...riple=x86_64 .text <stdin>:1:1: warning: invalid instruction encoding 0x41,0x0f,0xeb,0xc3 ^ the last example should also return "por %mm3, %mm0", but it fails to understand the input. the reason stays with this line in X86DisassemblerDecoder.cpp: rm |= bFromREX(insn->rexPrefix) << 3; we can see that we take into account REX.B, but for "por" (0F EB), this should be ignored. there are quite a lot of other instructions taking into account REX like this, while according to the manual, REX should be ignored. i dont see any clean solution for this issue with...
2014 Dec 24
2
[LLVMdev] X86 disassembler is quite broken on handling REX
...t; 0x41,0x0f,0xeb,0xc3 >> ^ >> >> >> the last example should also return "por %mm3, %mm0", but it fails to >> understand the input. >> >> the reason stays with this line in X86DisassemblerDecoder.cpp: >> >> rm |= bFromREX(insn->rexPrefix) << 3; >> >> we can see that we take into account REX.B, but for "por" (0F EB), this >> should be ignored. >> >> there are quite a lot of other instructions taking into account REX like >> this, while according to the manual, REX should be ignored...
2010 Dec 16
1
[LLVMdev] x86 disassembler: if-statement with redundant branch
...0000000 +0200 +++ llvm-2.8/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c 2010-12-16 16:24:28.583323293 +0100 @@ -412,11 +412,6 @@ insn->addressSize = (hasAdSize ? 4 : 8); insn->displacementSize = 4; insn->immediateSize = 4; - } else if (insn->rexPrefix) { - insn->registerSize = (hasOpSize ? 2 : 4); - insn->addressSize = (hasAdSize ? 4 : 8); - insn->displacementSize = (hasOpSize ? 2 : 4); - insn->immediateSize = (hasOpSize ? 2 : 4); } else { insn->registerSize = (hasOpSize ?...
2013 Sep 12
1
[LLVMdev] [patch] remove redundant code in X86DisassemblerDecoder.c
...b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c @@ -550,11 +550,6 @@ static int readPrefixes(struct InternalInstruction* insn) { insn->addressSize = (hasAdSize ? 4 : 8); insn->displacementSize = 4; insn->immediateSize = 4; - } else if (insn->rexPrefix) { - insn->registerSize = (hasOpSize ? 2 : 4); - insn->addressSize = (hasAdSize ? 4 : 8); - insn->displacementSize = (hasOpSize ? 2 : 4); - insn->immediateSize = (hasOpSize ? 2 : 4); } else { insn->registerSize = (hasOpSize ?...