| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CPU definition is redundant. The Cortex-A9 is defined as
supporting multiprocessing extensions. Remove its definition and
update appropriate tests.
LLVM defines both a cortex-a9 CPU and a cortex-a9-mp CPU. The only
difference between the two CPU definitions in ARM.td is that
cortex-a9-mp contains the feature FeatureMP for multiprocessing
extensions.
This is redundant since the Cortex-A9 is defined as having
multiprocessing extensions in the TRMs. armcc also defines the
Cortex-A9 as having multiprocessing extensions by default.
Change-Id: Ifcadaa6c322be0a33d9d2a39cfdd7da1d75981a7
llvm-svn: 221166
|
|
|
|
|
|
|
|
| |
More details in this thread: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130128/163783.html
Patch by JF Bastien
llvm-svn: 173943
|
|
|
|
|
|
| |
offset addressing. The assembler and instruction printer were not properly handeling the #-0 immediate.
llvm-svn: 156608
|
|
|
|
|
|
| |
AIF bits are set.
llvm-svn: 141190
|
|
|
|
| |
llvm-svn: 136472
|
|
|
|
| |
llvm-svn: 136358
|
|
|
|
| |
llvm-svn: 136105
|
|
|
|
| |
llvm-svn: 135718
|
|
|
|
|
|
|
| |
Add two-operand instruction aliases. Add parsing and encoding tests for
variants of the instruction.
llvm-svn: 135713
|
|
|
|
|
|
|
| |
Add two-operand instruction aliases. Add parsing and encoding tests for
variants of the instruction.
llvm-svn: 135712
|
|
|
|
| |
llvm-svn: 135709
|
|
|
|
| |
llvm-svn: 135602
|
|
|
|
| |
llvm-svn: 135600
|
|
|
|
|
|
|
|
| |
The system register spec should be case insensitive. The preferred form for
output with mask values of 4, 8, and 12 references APSR rather than CPSR.
Update and tidy up tests accordingly.
llvm-svn: 135532
|
|
|
|
|
|
|
| |
Teach the parser to recognize the APSR and SPSR system register names. Add
and update tests accordingly.
llvm-svn: 135527
|
|
|
|
| |
llvm-svn: 135517
|
|
|
|
| |
llvm-svn: 135196
|
|
|
|
| |
llvm-svn: 135192
|
|
|
|
|
|
|
| |
The immediate operands are restricted to 0-7. Enforce that when parsing
assembly.
llvm-svn: 135189
|
|
|
|
| |
llvm-svn: 135185
|
|
|
|
|
|
|
| |
ldm/stm are the cannonical spellings for ldmia/stmia, so use them as such.
Update the parsing/encoding tests accordingly.
llvm-svn: 135168
|
|
|
|
| |
llvm-svn: 135158
|
|
|
|
|
|
|
| |
The ISB instruction takes an optional operand, just like DMB/DSB. Typically
only 'sy' is meaningful.
llvm-svn: 135156
|
|
|
|
| |
llvm-svn: 135117
|
|
|
|
|
|
|
|
| |
Flesh out the options supported for the instruction. Shuffle tests a bit and
add entries for the rest of the options. Add an alias to handle the default
operand of "sy".
llvm-svn: 135109
|
|
|
|
| |
llvm-svn: 135095
|
|
|
|
| |
llvm-svn: 133936
|
|
|
|
|
|
|
| |
must be encoded decremented by one. Only add encoding tests for ssat16
because ssat can't be parsed yet.
llvm-svn: 132324
|
|
|
|
|
|
| |
Enable the parsing of the operand "cpsr_all" for the ARM msr instruction
llvm-svn: 132026
|
|
|
|
| |
llvm-svn: 128236
|
|
|
|
|
|
| |
basic instructions like ADD. More work left to be done to support other instances of shifter ops in the ISA.
llvm-svn: 127917
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 125055
|
|
|
|
| |
llvm-svn: 124288
|
|
|
|
|
|
|
| |
qadd and qdadd uses "rd, rm, rn", the same applies to the 'sub' variants. This
is described in ARM manuals and matches the encoding used by the gnu assembler.
llvm-svn: 123975
|
|
|
|
| |
llvm-svn: 123937
|
|
|
|
| |
llvm-svn: 123936
|
|
|
|
|
|
|
|
|
|
| |
same operands can be present
in cdp/cdp2 instructions. Also increase the hack with cdp/cdp2 instructions.
- Fix the encoding of cdp/cdp2 instructions for ARM (no thumb and thumb2 yet) and add testcases for t
hem.
llvm-svn: 123927
|
|
|
|
|
|
| |
for mcr and mrc
llvm-svn: 123837
|
|
|
|
| |
llvm-svn: 123778
|
|
|
|
| |
llvm-svn: 123776
|
|
|
|
|
|
| |
thumb mode.
llvm-svn: 123772
|
|
|
|
|
|
| |
instruction
llvm-svn: 123770
|
|
|
|
|
|
|
|
|
|
| |
carry setting flag from the mnemonic.
Note that this currently involves me disabling a number of working cases in
arm_instructions.s, this is a hopefully short term evil which will be rapidly
fixed (and greatly surpassed), assuming my current approach flies.
llvm-svn: 123238
|
|
|
|
|
|
|
| |
update the condition codes. These come from my test generator and are just
the ones that MC currently assembles correctly.
llvm-svn: 121830
|
|
|
|
|
|
|
|
|
| |
the condition codes. Where the ones that do have an 's' suffix and the ones
that don't don't have the suffix. The trick is if MatchInstructionImpl() fails
we try again after adding a CCOut operand with the correct value and removing
the 's' if present. Four simple test cases added for now, lots more to come.
llvm-svn: 121401
|
|
|
|
| |
llvm-svn: 119938
|
|
|
|
| |
llvm-svn: 119761
|
|
|
|
| |
llvm-svn: 119315
|