| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
parser. The parser will always give us a binary representation of the floating
point number.
llvm-svn: 124318
|
| |
|
|
| |
llvm-svn: 124233
|
| |
|
|
|
|
| |
appropriately so that it prints out the decimal representation.
llvm-svn: 124230
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
requires supporting
the symbolic immediate names used for these instructions, fixing their pretty-printers, and
adding proper encoding information for them.
With this, we can properly pretty-print and encode assembly like:
mrc p15, #0, r3, c13, c0, #3
Fixes <rdar://problem/8857858>.
llvm-svn: 123404
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instruction based on the t_addrmode_s# mode and what it returned. There is some
obvious badness to this. In particular, it's hard to do MC-encoding when the
instruction may change out from underneath you after the t_addrmode_s# variable
is finally resolved.
The solution is to revert a long-ago change that merged the reg/reg and reg/imm
versions. There is the addition of several new addressing modes. They no longer
have extraneous operands associated with them. I.e., if it's reg/reg we don't
have to have a dummy zero immediate tacked on to the SDNode.
There are some obvious cleanups here, which will happen shortly.
llvm-svn: 121747
|
| |
|
|
|
|
| |
gazillion places that need to know about it.
llvm-svn: 121082
|
| |
|
|
|
|
| |
32-bit wide version by adding the .w suffix.
llvm-svn: 120838
|
| |
|
|
|
|
| |
instructions. This simplifies instruction printing and disassembly.
llvm-svn: 120333
|
| |
|
|
|
|
| |
data. Next up, pseudo-izing them.
llvm-svn: 120320
|
| |
|
|
| |
llvm-svn: 120310
|
| |
|
|
|
|
|
|
|
| |
'db', 'ib', 'da') instead of having that mode as a separate field in the
instruction. It's more convenient for the asm parser and much more readable for
humans.
<rdar://problem/8654088>
llvm-svn: 119310
|
| |
|
|
| |
llvm-svn: 119059
|
| |
|
|
|
|
|
| |
- Get the opcode once.
- Add a ParserMatchClass to reglist.
llvm-svn: 118997
|
| |
|
|
|
|
| |
with movi + orr.
llvm-svn: 118945
|
| |
|
|
|
|
|
|
|
|
|
|
| |
vldr.64 d1, [r0, #-32]
The problem was with how the addressing mode 5 encodes the offsets. This change
makes sure that the way offsets are handled in addressing mode 5 is consistent
throughout the MC code. It involves re-refactoring the "getAddrModeImmOpValue"
method into an "Imm12" and "addressing mode 5" version. But not to worry! The
majority of the duplicated code has been unified.
llvm-svn: 118144
|
| |
|
|
| |
llvm-svn: 118141
|
| |
|
|
|
|
| |
printOperand() asm printer helper functions. rdar://8425198
llvm-svn: 118140
|
| |
|
|
| |
llvm-svn: 118139
|
| |
|
|
|
|
|
| |
parts. Represent the operation mode as an optional operand instead.
rdar://8614429
llvm-svn: 118137
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the opcode string in the inst dump, e.g.:
vmov r2, r3, d17 @ encoding: [0x31,0x2b,0x53,0xec]
@ <MCInst #989 VMOVRRD
@ <MCOperand Reg:68>
@ <MCOperand Reg:69>
@ <MCOperand Reg:19>
@ <MCOperand Imm:14>
@ <MCOperand Reg:0>>
The "VMOVRRD" is new.
llvm-svn: 117609
|
| |
|
|
| |
llvm-svn: 117571
|
| |
|
|
|
|
| |
integer values), not with the addrmode2 encoding.
llvm-svn: 117429
|
| |
|
|
|
|
|
|
| |
explicit about the operands. Split out the different variants into separate
instructions. This gives us the ability to, among other things, assign
different scheduling itineraries to the variants. rdar://8477752.
llvm-svn: 117409
|
| |
|
|
| |
llvm-svn: 117291
|
| |
|
|
|
|
|
| |
and handle the operand explicitly. Flesh out encoding information. Add an
explicit disassembler testcase for the instruction.
llvm-svn: 116432
|
| |
|
|
| |
llvm-svn: 115845
|
| |
|
|
|
|
| |
"lane" operand modifier.
llvm-svn: 115843
|
| |
|
|
| |
llvm-svn: 115376
|
|
|
been MC-ized for assembly printing. MSP430 is mostly so, but still has the
asm printer and lowering code in the printer subdir for the moment.
llvm-svn: 115360
|