| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
refactorings (r119821).
We now tag them as IndexModePost.
llvm-svn: 128189
|
|
|
|
|
|
|
|
|
|
| |
instructions
were incomplete. The assert stmt needs to be updated and the operand index incrment is wrong.
Fix the bad logic and add some sanity checking to detect bad instruction encoding;
and add a test case.
llvm-svn: 128186
|
|
|
|
|
|
| |
A8.6.292 VCMPE
llvm-svn: 128120
|
|
|
|
|
|
|
|
|
|
| |
refactorings (r119821).
We now tag them as IndexModePost.
This fixed http://llvm.org/bugs/show_bug.cgi?id=9530.
llvm-svn: 128113
|
|
|
|
| |
llvm-svn: 128106
|
|
|
|
|
|
|
|
|
|
|
| |
VFP Load/Store Multiple Instructions used to embed the IA/DB addressing mode within the
MC instruction; that has been changed so that now, for example, VSTMDDB_UPD and VSTMDIA_UPD
are two instructions. Update the ARMDisassemblerCore.cpp's DisassembleVFPLdStMulFrm()
to reflect the change.
Also add a test case.
llvm-svn: 128103
|
|
|
|
|
|
|
|
| |
The relevant instruction table entries were changed sometime ago to no longer take
<Rt2> as an operand. Modify ARMDisassemblerCore.cpp to accomodate the change and
add a test case.
llvm-svn: 127935
|
|
|
|
|
|
| |
Remove the offending logic and update the test cases.
llvm-svn: 127843
|
|
|
|
|
|
|
|
|
|
|
| |
o A8.6.195 STR (register) -- Encoding T1
o A8.6.193 STR (immediate, Thumb) -- Encoding T1
It has been changed so that now they use different addressing modes
and thus different MC representation (Operand Infos). Modify the
disassembler to reflect the change, and add relevant tests.
llvm-svn: 127833
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. The ARM Darwin *r9 call instructions were pseudo-ized recently.
Modify the ARMDisassemblerCore.cpp file to accomodate the change.
2. The disassembler was unnecessarily adding 8 to the sign-extended imm24:
imm32 = SignExtend(imm24:'00', 32); // A8.6.23 BL, BLX (immediate)
// Encoding A1
It has no business doing such. Removed the offending logic.
Add test cases to arm-tests.txt.
llvm-svn: 127707
|
|
|
|
|
|
|
|
|
|
| |
because an extra
register operand was erroneously added. Remove an incorrect assert which triggers the bug.
rdar://problem/9131529
llvm-svn: 127642
|
|
|
|
|
|
|
|
|
| |
The insufficient encoding information of the combined instruction confuses the decoder wrt
UQADD16. Add extra logic to recover from that.
Fixed an assert reported by Sean Callanan
llvm-svn: 127354
|
|
|
|
| |
llvm-svn: 126931
|
|
|
|
|
|
| |
Patch by Jyun-Yan You, with some minor adjustments and a testcase from me.
llvm-svn: 126915
|
|
|
|
|
|
| |
Patch by Ted Kremenek!
llvm-svn: 126895
|
|
|
|
|
|
| |
needed two predicate operands before the imm operand.
llvm-svn: 126662
|
|
|
|
|
|
| |
testcases for the disassembler to make sure it still works for "msr".
llvm-svn: 125948
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add custom operand matching for imod and iflags.
- Rename SplitMnemonicAndCC to SplitMnemonic since it splits more than CC
from mnemonic.
- While adding ".w" as an operand, don't change "Head" to avoid passing the
wrong mnemonic to ParseOperand.
- Add asm parser tests.
- Add disassembler tests just to make sure it can catch all cps versions.
llvm-svn: 125489
|
|
|
|
|
|
| |
(which worked around it). This should get us back to the old, correct behavior, though it will make the integrated assembler unhappy for the time being.
llvm-svn: 125127
|
|
|
|
|
|
| |
Patch by Jyun-Yan You.
llvm-svn: 124492
|
|
|
|
|
|
| |
and friends.
llvm-svn: 123407
|
|
|
|
|
|
| |
gazillion places that need to know about it.
llvm-svn: 121082
|
|
|
|
|
|
| |
32-bit wide version by adding the .w suffix.
llvm-svn: 120838
|
|
|
|
|
|
| |
Additionally, update these to unified syntax.
llvm-svn: 120589
|
|
llvm-svn: 119050
|