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 ?...