| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 157292
|
| |
|
|
|
|
| |
SignExtend32<22>(Val<<1) also needs to change to SignExtend32<21>(Val) .
llvm-svn: 156213
|
| |
|
|
|
|
|
| |
where the symbolic operand's displacement was incorrectly shifted left by 1.
rdar://11387046
llvm-svn: 156212
|
| |
|
|
|
|
|
|
|
| |
for the assembler and disassembler. Which were not being set/read correctly
for offsets greater than 22 bits in some cases.
Changes to lib/Target/ARM/ARMAsmBackend.cpp from Gideon Myles!
llvm-svn: 156118
|
| |
|
|
| |
llvm-svn: 156077
|
| |
|
|
|
|
| |
Make the operand order of the instruction match that of the asm syntax.
llvm-svn: 155747
|
| |
|
|
|
|
| |
the mask operand in the MCInst.
llvm-svn: 155700
|
| |
|
|
|
|
| |
its vector
llvm-svn: 155439
|
| |
|
|
| |
llvm-svn: 155004
|
| |
|
|
|
|
| |
disassembler. Since the upredicability conditions are complex, C++ code was added to handle them.
llvm-svn: 155001
|
| |
|
|
|
|
|
| |
instructions with writebacks. And add test a case for all opcodes handed by
DecodeVLD2DupInstruction() in ARMDisassembler.cpp .
llvm-svn: 154884
|
| |
|
|
|
|
| |
symbolic operands added when using the C disassembler API.
llvm-svn: 154628
|
| |
|
|
|
|
| |
of a VST instruction.
llvm-svn: 154544
|
| |
|
|
|
|
| |
for all opcodes handed by DecodeVLDInstruction() in ARMDisassembler.cpp .
llvm-svn: 154459
|
| |
|
|
|
|
|
| |
And indirectly, a dependency on most of the core LLVM optimization
libraries.
llvm-svn: 153957
|
| |
|
|
| |
llvm-svn: 153500
|
| |
|
|
|
|
| |
of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM.
llvm-svn: 153252
|
| |
|
|
|
|
| |
LDRSHT instruction on ARM
llvm-svn: 153251
|
| |
|
|
|
|
| |
case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp .
llvm-svn: 153218
|
| |
|
|
|
|
| |
register operand is given now fail with soft fail. Modified the regression tests to reflect this.
llvm-svn: 153089
|
| |
|
|
|
|
| |
specific backends.
llvm-svn: 152537
|
| |
|
|
| |
llvm-svn: 152184
|
| |
|
|
|
|
| |
Register pair, all lanes subscripting.
llvm-svn: 152157
|
| |
|
|
|
|
|
| |
Register pair VLD1/VLD2 all-lanes instructions. Kill off more of the
pseudos as a result.
llvm-svn: 152150
|
| |
|
|
| |
llvm-svn: 152127
|
| |
|
|
|
|
| |
Use the new composite physical registers.
llvm-svn: 152063
|
| |
|
|
|
|
|
|
|
| |
With the new composite physical registers to represent arbitrary pairs
of DPR registers, we don't need the pseudo-registers anymore. Get rid of
a bunch of them that use DPR register pairs and just use the real
instructions directly instead.
llvm-svn: 152045
|
| |
|
|
| |
llvm-svn: 151687
|
| |
|
|
|
|
| |
thumb instruction. The PC adjustment is +4 in Thumb mode and +8 in ARM mode.
llvm-svn: 151530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rdar://10873652
As part of this I updated the llvm-mc disassembler C API to always call the
SymbolLookUp call back even if there is no getOpInfo call back. If there is a
getOpInfo call back that is tried first and then if that gets no information
then the SymbolLookUp is called. I also made the code more robust by
memset(3)'ing to zero the LLVMOpInfo1 struct before then setting
SymbolicOp.Value before for the call to getOpInfo. And also don't use any
values from the LLVMOpInfo1 struct if getOpInfo returns 0. And also don't
use any of the ReferenceType or ReferenceName values from SymbolLookUp if it
returns NULL. rdar://10873563 and rdar://10873683
For the X86 target also fixed bugs so the annotations get printed.
Also fixed a few places in the ARM target that was not producing symbolic
operands for some instructions. rdar://10878166
llvm-svn: 151267
|
| |
|
|
|
|
| |
MSP430, PPC, PTX, Sparc, X86, XCore.
llvm-svn: 150878
|
| |
|
|
| |
llvm-svn: 150304
|
| |
|
|
| |
llvm-svn: 149961
|
| |
|
|
|
|
|
| |
This CL delays reading of function bodies from initial parse until
materialization, allowing overlap of compilation with bitcode download.
llvm-svn: 149918
|
| |
|
|
| |
llvm-svn: 148578
|
| |
|
|
| |
llvm-svn: 146691
|
| |
|
|
|
|
|
| |
In addition to improving the representation, this adds support for assembly
parsing of these instructions.
llvm-svn: 146588
|
| |
|
|
|
|
|
|
| |
Work in progress. Parsing for non-writeback, single spaced register lists
works now. The rest have the representations better factored, but still
need more to be able to parse properly.
llvm-svn: 146579
|
| |
|
|
|
|
|
|
|
|
|
| |
Refactor the instructions into fixed writeback and register-stride
writeback variants to simplify the offset operand (no more optional
register operand using reg0). This is a simpler representation and allows
the assembly parser to more easily handle these instructions.
Add tests for the instruction variants now supported.
llvm-svn: 146278
|
| |
|
|
| |
llvm-svn: 145517
|
| |
|
|
| |
llvm-svn: 145510
|
| |
|
|
| |
llvm-svn: 145450
|
| |
|
|
| |
llvm-svn: 145442
|
| |
|
|
| |
llvm-svn: 144692
|
| |
|
|
|
|
| |
VMOVv4f32.
llvm-svn: 144683
|
| |
|
|
|
|
| |
Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.'
llvm-svn: 144437
|
| |
|
|
| |
llvm-svn: 144384
|
| |
|
|
|
|
| |
alias, not to LDM/STM instructions. Revert r143552.
llvm-svn: 143553
|
| |
|
|
|
|
| |
Alternate encodings are used in that case.
llvm-svn: 143552
|
| |
|
|
| |
llvm-svn: 143507
|