llvm-6502/test/MC/AArch64
Tim Northover e072ed71c8 ARM64: separate load/store operands to simplify assembler
This changes ARM64 to use separate operands for each component of an
address, and look for separate '[', '$Rn, ..., ']' tokens when
parsing.

This allows us to do away with quite a bit of special C++ code to
handle monolithic "addressing modes" in the MC components. The more
incremental matching of the assembler operands also allows for better
diagnostics when LLVM is presented with invalid input.

Most of the complexity here is with the register-offset instructions,
which were extremely dodgy beforehand: even when the instruction used
wM, LLVM's model had xM as an operand. We papered over this
discrepancy before, but that approach doesn't work now so I split them
into separate X and W variants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209425 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-22 11:56:09 +00:00
..
adrp-relocation.s AArch64/ARM64: enable some MC tests on ARM64 2014-04-24 12:12:01 +00:00
basic-a64-diagnostics.s ARM64: separate load/store operands to simplify assembler 2014-05-22 11:56:09 +00:00
basic-a64-instructions.s TableGen: convert InstAlias's Emit bit to an int. 2014-05-20 09:17:16 +00:00
basic-pic.s AArch64/ARM64: enable some MC tests on ARM64 2014-04-24 12:12:01 +00:00
elf-extern.s AArch64/ARM64: enable some MC tests on ARM64 2014-04-24 12:12:01 +00:00
elf-globaladdress.ll AArch64/ARM64: enable some MC tests on ARM64 2014-04-24 12:12:01 +00:00
elf-objdump.s AArch64/ARM64: enable remaining MC elf tests. 2014-04-24 12:56:41 +00:00
elf-reloc-addend.s AArch64/ARM64: allow negative addends, at least on ELF. 2014-04-24 12:56:38 +00:00
elf-reloc-addsubimm.s AArch64/ARM64: enable some MC tests on ARM64 2014-04-24 12:12:01 +00:00
elf-reloc-ldrlit.s AArch64/ARM64: disentangle the "B.CC" and "LDR lit" operands 2014-04-24 12:12:10 +00:00
elf-reloc-ldstunsimm.s AArch64/ARM64: enable remaining MC elf tests. 2014-04-24 12:56:41 +00:00
elf-reloc-movw.s AArch64/ARM64: add support for :abs_gN_s: MOVZ modifiers 2014-04-24 12:56:27 +00:00
elf-reloc-pcreladdressing.s AArch64/ARM64: support relocated ADR instruction 2014-04-24 12:56:30 +00:00
elf-reloc-tstb.s ARM64: support relocated "TBZ/TBNZ" instructions. 2014-04-24 12:56:34 +00:00
elf-reloc-uncondbrimm.s AArch64/ARM64: enable remaining MC elf tests. 2014-04-24 12:56:41 +00:00
gicv3-regs-diagnostics.s AArch64/ARM64: add specific diagnostic for MRS/MSR and enable tests. 2014-04-30 16:13:20 +00:00
gicv3-regs.s AArch64/ARM64: add specific diagnostic for MRS/MSR and enable tests. 2014-04-30 16:13:20 +00:00
inline-asm-modifiers.s AArch64/ARM64: add two more MC tests to ARM64 set. 2014-05-06 12:50:58 +00:00
jump-table.s AArch64/ARM64: add ARM64 runs to more MC tests. 2014-04-24 15:04:26 +00:00
lit.local.cfg AArch64/ARM64: enable some MC tests on ARM64 2014-04-24 12:12:01 +00:00
mapping-across-sections.s AArch64/ARM64: add ARM64 runs to more MC tests. 2014-04-24 15:04:26 +00:00
mapping-within-section.s AArch64/ARM64: add ARM64 runs to more MC tests. 2014-04-24 15:04:26 +00:00
neon-2velem.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-3vdiff.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-aba-abd.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-across.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-add-pairwise.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-add-sub-instructions.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-bitwise-instructions.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-compare-instructions.s AArch64/ARM64: accept and print floating-point immediate 0 as "#0.0" 2014-04-30 16:13:07 +00:00
neon-crypto.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-diagnostics.s ARM64: separate load/store operands to simplify assembler 2014-05-22 11:56:09 +00:00
neon-extract.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-facge-facgt.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-frsqrt-frecp.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-halving-add-sub.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-max-min-pairwise.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-max-min.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-mla-mls-instructions.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-mov.s TableGen/ARM64: print aliases even if they have syntax variants. 2014-05-15 11:16:32 +00:00
neon-mul-div-instructions.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-perm.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-rounding-halving-add.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-rounding-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-saturating-add-sub.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-saturating-rounding-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-saturating-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-abs.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-add-sub.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-by-elem-mla.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-by-elem-mul.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-by-elem-saturating-mla.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-by-elem-saturating-mul.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-compare.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-cvt.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-dup.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-extract-narrow.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-fp-compare.s AArch64/ARM64: accept and print floating-point immediate 0 as "#0.0" 2014-04-30 16:13:07 +00:00
neon-scalar-mul.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-neg.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-recip.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-reduce-pairwise.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-rounding-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-saturating-add-sub.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-saturating-rounding-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-saturating-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-shift-imm.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-scalar-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-shift-left-long.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-simd-copy.s ARM64: print correct aliases for NEON mov & mvn instructions 2014-05-15 12:11:02 +00:00
neon-simd-ldst-multi-elem.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-simd-ldst-one-elem.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-simd-misc.s ARM64: print correct aliases for NEON mov & mvn instructions 2014-05-15 12:11:02 +00:00
neon-simd-post-ldst-multi-elem.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-simd-shift.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-sxtl.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-tbl.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
neon-uxtl.s AArch64/ARM64: run AArch64 NEON MC tests through ARM64 too. 2014-04-24 15:04:20 +00:00
noneon-diagnostics.s AArch64/ARM64: enable MC-level diagnostic tests for NEON insts. 2014-05-06 12:50:55 +00:00
optional-hash.s AArch64/ARM64: add two more MC tests to ARM64 set. 2014-05-06 12:50:58 +00:00
tls-relocs.s ELFObjectWriter: deduplicate suffices in strtab 2014-04-30 16:25:02 +00:00
trace-regs-diagnostics.s AArch64/ARM64: add specific diagnostic for MRS/MSR and enable tests. 2014-04-30 16:13:20 +00:00
trace-regs.s AArch64/ARM64: add specific diagnostic for MRS/MSR and enable tests. 2014-04-30 16:13:20 +00:00