llvm-6502/test/MC/ARM
Saleem Abdulrasool d28c094c80 tools: support decoding ARM EHABI opcodes in readobj
Add support to llvm-readobj to decode the actual opcodes.  The ARM EHABI opcodes
are a variable length instruction set that describe the operations required for
properly unwinding stack frames.

The primary motivation for this change is to ease the creation of tests for the
ARM EHABI object emission as well as the unwinding directive handling in the ARM
IAS.

Thanks to Logan Chien for an extra test case!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199708 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-21 02:33:15 +00:00
..
AlignedBundling [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
2010-11-30-reloc-movt.s Convert another llc -filetype=obj test. 2013-10-28 21:12:15 +00:00
2013-03-18-Br-to-label-named-like-reg.s
align_arm_2_thumb.s ARM integrated assembler generates incorrect nop opcode 2013-11-25 19:11:13 +00:00
align_thumb_2_arm.s ARM integrated assembler generates incorrect nop opcode 2013-11-25 19:11:13 +00:00
arm_addrmode2.s ARM: change implicit immediate forms of {ld,st}r{,b}t to psuedo-instructions 2014-01-12 04:36:01 +00:00
arm_addrmode3.s
arm_fixups.s
arm_instructions.s
arm_word_directive.s
arm-aliases.s
arm-arithmetic-aliases.s
arm-elf-symver.s Fix parsing of .symver directive on ARM 2014-01-15 22:40:02 +00:00
arm-it-block.s
arm-ldrd.s [ARM] Use FileCheck instead of grep for ARM LDRD negative tests. 2013-09-30 17:31:26 +00:00
arm-memory-instructions.s ARM IAS: support GNU extension for ldrd, strd 2014-01-10 04:38:35 +00:00
arm-qualifier-diagnostics.s ARM IAS: fix diagnostics of improper qualification 2014-01-12 05:25:44 +00:00
arm-shift-encoding.s
arm-thumb-cpus-default.s Rework r183728, suppress assert(0) for now. Its behavior depends on assertions on win32 hosts. 2013-06-11 10:01:42 +00:00
arm-thumb-cpus.s Prefix failing commands with not to make clear they are expected to fail. 2013-07-03 16:41:29 +00:00
arm-thumb-trustzone.s Prefix failing commands with not to make clear they are expected to fail. 2013-07-03 16:41:29 +00:00
arm-trustzone.s Prefix failing commands with not to make clear they are expected to fail. 2013-07-03 16:41:29 +00:00
basic-arm-instructions-v8.s Test cleanup for v8 instructions 2013-10-29 14:16:09 +00:00
basic-arm-instructions.s [ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operands for coprocessor instructions, resulting in encodings that clash with FP/NEON instruction encodings 2013-11-08 09:16:31 +00:00
basic-thumb2-instructions-v8.s Test cleanup for v8 instructions 2013-10-29 14:16:09 +00:00
basic-thumb2-instructions.s [ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operands for coprocessor instructions, resulting in encodings that clash with FP/NEON instruction encodings 2013-11-08 09:16:31 +00:00
basic-thumb-instructions.s This fixes the Thumb2 CPS assembly syntax. 2013-08-09 13:52:32 +00:00
bkpt.s ARM: bkpt has an implicit immediate constant 0 2013-12-23 17:23:58 +00:00
bracket-darwin.s
bracket-exprs.s
comment.s Fix parsing of .symver directive on ARM 2014-01-15 22:40:02 +00:00
complex-operands.s ARM IAS: properly handle expression operands 2014-01-08 03:28:14 +00:00
crc32-thumb.s ARM: Add subtarget feature for CRC 2013-10-29 09:47:35 +00:00
crc32.s ARM: Add subtarget feature for CRC 2013-10-29 09:47:35 +00:00
cxx-global-constructor.ll
data-in-code.ll Fix ARM FastISel tests, as a first step to enabling ARM FastISel 2013-05-14 16:26:38 +00:00
deprecated-v8.s [ARM] Warn on deprecated IT blocks in v8 AArch32 assembly. 2013-10-03 09:31:51 +00:00
diagnostics-noneon.s ARM: mark various aliases with their architecture requirements. 2013-10-24 12:22:58 +00:00
diagnostics.s ARM: diagnose invalid system LDM/STM 2013-11-12 21:32:41 +00:00
directive-arch-armv2.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv2a.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv3.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv3m.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv4.s Add MLA alias for ARMv4 support. 2014-01-17 13:53:08 +00:00
directive-arch-armv4t.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv5.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv5t.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv5te.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv6-m.s Must not produce Tag_CPU_arch_profile for pre-ARMv7 cores (e.g. cortex-m0) 2014-01-10 16:42:55 +00:00
directive-arch-armv6.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv6j.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv6t2.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv6z.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv6zk.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv7-a.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv7-m.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv7-r.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv7.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv7a.s Recognize armv7a and friends as aliases for armv7-a etc. for the purpose 2013-12-26 11:50:28 +00:00
directive-arch-armv7m.s Recognize armv7a and friends as aliases for armv7-a etc. for the purpose 2013-12-26 11:50:28 +00:00
directive-arch-armv7r.s Recognize armv7a and friends as aliases for armv7-a etc. for the purpose 2013-12-26 11:50:28 +00:00
directive-arch-armv8-a.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-armv8a.s Recognize armv7a and friends as aliases for armv7-a etc. for the purpose 2013-12-26 11:50:28 +00:00
directive-arch-iwmmxt2.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-arch-iwmmxt.s [arm] Pass -triple to llvm-mc for ARM ELF test cases. 2013-12-11 19:38:10 +00:00
directive-cpu.s [arm] Implement eabi_attribute, cpu, and fpu directives. 2013-10-28 17:51:12 +00:00
directive-eabi_attribute-2.s ARM: update build attributes for ABI r2.09 2014-01-19 08:25:35 +00:00
directive-eabi_attribute-diagnostics.s ARM IAS: improve .eabi_attribute handling 2014-01-07 02:28:42 +00:00
directive-eabi_attribute-overwrite.s ARM ELF: ensure that the tag types are corrected 2014-01-19 08:25:41 +00:00
directive-eabi_attribute.s [arm] Implement eabi_attribute, cpu, and fpu directives. 2013-10-28 17:51:12 +00:00
directive-even.s ARM IAS: support .even directive 2013-12-26 01:52:28 +00:00
directive-fpu-multiple.s [arm] Implement eabi_attribute, cpu, and fpu directives. 2013-10-28 17:51:12 +00:00
directive-fpu-softvfp.s [arm] Add softvfp to supported FPU names. 2014-01-02 15:50:02 +00:00
directive-fpu.s [arm] Implement eabi_attribute, cpu, and fpu directives. 2013-10-28 17:51:12 +00:00
dot-req.s
eh-compact-pr0.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-compact-pr1.s Fix ARM EHABI compact model 1 and 2 without handlerdata. 2013-07-02 12:43:27 +00:00
eh-directive-cantunwind-diagnostics.s MCParser: introduce Note and use it for ARM AsmParser 2014-01-07 02:28:31 +00:00
eh-directive-cantunwind.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-fnend-diagnostics.s Prefix failing commands with not to make clear they are expected to fail. 2013-07-03 16:41:29 +00:00
eh-directive-fnstart-diagnostics.s ARM IAS: refactor unwind context 2014-01-07 02:28:55 +00:00
eh-directive-handlerdata.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-integrated-test.s Fix ARM unwind opcode assembler in several cases. 2013-06-09 12:22:30 +00:00
eh-directive-multiple-offsets.s Fix ARM unwind opcode assembler in several cases. 2013-06-09 12:22:30 +00:00
eh-directive-pad-diagnostics.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
eh-directive-pad.s Fix ARM unwind opcode assembler in several cases. 2013-06-09 12:22:30 +00:00
eh-directive-personality-diagnostics.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
eh-directive-personality.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-personalityindex-diagnostics.s ARM IAS: support .personalityindex 2014-01-21 02:33:02 +00:00
eh-directive-personalityindex.s ARM IAS: support .personalityindex 2014-01-21 02:33:02 +00:00
eh-directive-save-diagnoatics.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
eh-directive-save.s Fix ARM unwind opcode assembler in several cases. 2013-06-09 12:22:30 +00:00
eh-directive-section-comdat.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
eh-directive-section-multiple-func.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-section.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-setfp-diagnostics.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
eh-directive-setfp.s Fix ARM unwind opcode assembler in several cases. 2013-06-09 12:22:30 +00:00
eh-directive-text-section-multiple-func.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-text-section.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
eh-directive-unwind_raw-diagnostics.s ARM IAS: add support for .unwind_raw directive 2014-01-21 02:33:10 +00:00
eh-directive-unwind_raw.s tools: support decoding ARM EHABI opcodes in readobj 2014-01-21 02:33:15 +00:00
eh-directive-vsave-diagnostics.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
eh-directive-vsave.s Implement AsmParser for ARM unwind directives. 2013-05-10 16:17:24 +00:00
elf-eflags-eabi.s
elf-jump24-fixup.s
elf-movt.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
elf-reloc-01.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
elf-reloc-02.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
elf-reloc-03.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
elf-reloc-condcall.s Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
elf-thumbfunc-reloc.ll Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
elf-thumbfunc-reloc.s ARM: diagnose ARM/Thumb assembly switches on CPUs only supporting one. 2013-06-10 23:20:58 +00:00
elf-thumbfunc.s ARM: allow .thumb_func to be separated from symbol definition 2013-10-25 12:49:50 +00:00
fconst.s Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64 2014-01-07 18:19:23 +00:00
fp-armv8.s [ARM] Add support for MVFR2 which is new in ARMv8 2013-11-11 19:56:13 +00:00
fp-const-errors.s Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64 2014-01-07 18:19:23 +00:00
full_line_comment.s
hilo-16bit-relocations.s
idiv.s Add hardware division as a default feature on Cortex-A15. Also add test cases to check this, and change diagnostics for the hwdiv-arm feature to something useful. 2013-10-18 10:18:40 +00:00
inst-arm-suffixes.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-constant-required.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-directive-emit.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-directive.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-overflow.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-thumb-overflow-2.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-thumb-overflow.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
inst-thumb-suffixes.s ARM IAS: support .inst directive 2013-12-19 05:17:58 +00:00
invalid-barrier.s Test cleanup for v8 instructions 2013-10-29 14:16:09 +00:00
invalid-crc32.s 'svn add' the test cases. 2013-09-18 09:46:49 +00:00
invalid-fp-armv8.s Add subtarget feature support for Cortex-A53 2013-10-14 13:16:57 +00:00
invalid-hint-arm.s Make ARM hint ranges consistent, and add tests for these ranges 2013-10-23 10:14:40 +00:00
invalid-hint-thumb.s Make ARM hint ranges consistent, and add tests for these ranges 2013-10-23 10:14:40 +00:00
invalid-idiv.s Add hardware division as a default feature on Cortex-A15. Also add test cases to check this, and change diagnostics for the hwdiv-arm feature to something useful. 2013-10-18 10:18:40 +00:00
invalid-neon-v8.s Add subtarget feature support for Cortex-A53 2013-10-14 13:16:57 +00:00
ldr-pseudo-darwin.s Implement the ldr-pseudo opcode for ARM assembly 2013-12-19 18:12:36 +00:00
ldr-pseudo-obj-errors.s Implement the ldr-pseudo opcode for ARM assembly 2013-12-19 18:12:36 +00:00
ldr-pseudo-parse-errors.s Implement the ldr-pseudo opcode for ARM assembly 2013-12-19 18:12:36 +00:00
ldr-pseudo.s Implement the ldr-pseudo opcode for ARM assembly 2013-12-19 18:12:36 +00:00
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
load-store-acquire-release-v8-thumb.s [ARMv8] 2013-08-28 16:39:20 +00:00
load-store-acquire-release-v8.s [ARMv8] 2013-08-28 16:39:20 +00:00
ltorg-darwin.s Implement the .ltorg directive for ARM assembly 2013-12-19 18:26:07 +00:00
ltorg.s Implement the .ltorg directive for ARM assembly 2013-12-19 18:26:07 +00:00
mapping-within-section.s ARM: diagnose ARM/Thumb assembly switches on CPUs only supporting one. 2013-06-10 23:20:58 +00:00
mode-switch.s
mul-v4.s Add MLA alias for ARMv4 support. 2014-01-17 13:53:08 +00:00
multi-section-mapping.s ARM: diagnose ARM/Thumb assembly switches on CPUs only supporting one. 2013-06-10 23:20:58 +00:00
neon-abs-encoding.s
neon-absdiff-encoding.s
neon-add-encoding.s
neon-bitcount-encoding.s
neon-bitwise-encoding.s
neon-cmp-encoding.s ARM: Add VACLT and VACLE assembly aliases. 2013-04-15 22:42:50 +00:00
neon-convert-encoding.s Fix ARM vcvt encoding when the number of fractional bits is zero. 2013-08-22 13:16:07 +00:00
neon-crypto.s [ARMv8] Add support for the v8 cryptography extensions. 2013-09-19 11:59:01 +00:00
neon-dup-encoding.s
neon-minmax-encoding.s
neon-mov-encoding.s ARM: Add optional datatype suffix to NEON mvn asm syntax. 2013-06-18 21:49:21 +00:00
neon-mul-accum-encoding.s
neon-mul-encoding.s
neon-neg-encoding.s
neon-pairwise-encoding.s
neon-reciprocal-encoding.s
neon-reverse-encoding.s
neon-satshift-encoding.s
neon-shift-encoding.s
neon-shiftaccum-encoding.s
neon-shuffle-encoding.s
neon-sub-encoding.s
neon-table-encoding.s
neon-v8.s [ARMv8] Implement the NEON instructions VRINT{N, X, A, Z, M, P}. 2013-07-19 16:34:16 +00:00
neon-vld-encoding.s
neon-vst-encoding.s Add newlines at end of test files, no functionality change 2013-07-13 22:00:58 +00:00
neon-vswp.s
neont2-abs-encoding.s
neont2-absdiff-encoding.s
neont2-add-encoding.s
neont2-bitcount-encoding.s
neont2-bitwise-encoding.s
neont2-cmp-encoding.s
neont2-convert-encoding.s
neont2-dup-encoding.s
neont2-minmax-encoding.s
neont2-mov-encoding.s
neont2-mul-accum-encoding.s
neont2-mul-encoding.s
neont2-neg-encoding.s
neont2-pairwise-encoding.s
neont2-reciprocal-encoding.s
neont2-reverse-encoding.s
neont2-satshift-encoding.s
neont2-shift-encoding.s
neont2-shiftaccum-encoding.s
neont2-shuffle-encoding.s
neont2-sub-encoding.s
neont2-table-encoding.s
neont2-vld-encoding.s This patch fixes two tests marked as XFAIL among the ARM assembler tests. 2013-05-08 09:41:12 +00:00
neont2-vst-encoding.s This patch fixes two tests marked as XFAIL among the ARM assembler tests. 2013-05-08 09:41:12 +00:00
not-armv4.s ARM: Let the assembler reject v5 instructions in v4 mode. 2014-01-18 19:03:19 +00:00
obsolete-v8.s ARMv8: SWP and SWPB are obsoleted on ARMv8. 2013-08-13 16:40:47 +00:00
pool.s ARM IAS: add support for the .pool directive 2013-12-20 07:21:16 +00:00
pr11877.s
relocated-mapping.s
simple-fp-encoding.s Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64 2014-01-07 18:19:23 +00:00
single-precision-fp.s ARM: tweak test to pass on all platforms 2013-10-25 07:34:56 +00:00
symbol-variants-errors.s Add support for parsing ARM symbol variants on ELF targets 2013-12-04 22:43:20 +00:00
symbol-variants.s ARM: add tlsldo relocation 2014-01-20 11:00:40 +00:00
target-expressions.s ARM IAS: support emitting constant values in target expressions 2014-01-11 23:03:48 +00:00
thumb2-b.w-encodingT4.s Fix assembling of Thumb2 branch instructions. 2013-08-09 10:38:32 +00:00
thumb2-branches.s Fix assembling of Thumb2 branch instructions. 2013-08-09 10:38:32 +00:00
thumb2-cbn-to-next-inst.s Fix a bug with the ARM thumb2 CBNZ and CBNZ instructions that 2014-01-10 00:43:32 +00:00
thumb2-diagnostics.s [ARM] Fix Thumb(-2) diagnostic tests. 2013-09-30 18:50:51 +00:00
thumb2-ldrd.s ARM: Teach assembler to enforce constraint for Thumb2 LDRD (literal/immediate) destination register operands. 2013-09-27 10:30:18 +00:00
thumb2-mclass.s Amending test/MC/ARM/thumb2-mclass.s to match its apparent original purpose (to test the ARMv6M/ARMv7M commonality), and creating a new test case for the differences between ARMv6M and ARMv7M 2014-01-10 16:49:49 +00:00
thumb2-narrow-dp.ll
thumb2-pldw.s This corrects creation of operands for t2PLDW. It also removes the definition of t2PLDWpci, 2013-08-06 16:07:46 +00:00
thumb-diagnostics.s ARM: fix assert on unpredictable POP instruction. 2013-10-24 09:37:18 +00:00
thumb-fp-armv8.s Fix tests for hasFPARMv8 name change (r190692) 2013-09-13 14:37:52 +00:00
thumb-hints.s ARM: permit bare dmb/dsb/isb aliases on Cortex-M0 2013-11-05 21:36:02 +00:00
thumb-invalid-crypto.txt [ARMv8] Add support for the v8 cryptography extensions. 2013-09-19 11:59:01 +00:00
thumb-neon-crypto.s [ARMv8] Add support for the v8 cryptography extensions. 2013-09-19 11:59:01 +00:00
thumb-neon-v8.s [ARMv8] Implement the NEON instructions VRINT{N, X, A, Z, M, P}. 2013-07-19 16:34:16 +00:00
thumb-only-conditionals.s [ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operands for coprocessor instructions, resulting in encodings that clash with FP/NEON instruction encodings 2013-11-08 09:16:31 +00:00
thumb-shift-encoding.s
thumb-st_other.s Move llvm/test/MC/ELF/thumb-st_other.s to test/MC/ARM. 2013-12-05 02:21:44 +00:00
thumb.s ARM: fix thumb1 nop decoding 2013-06-24 09:11:53 +00:00
thumbv7m.s Amending test/MC/ARM/thumb2-mclass.s to match its apparent original purpose (to test the ARMv6M/ARMv7M commonality), and creating a new test case for the differences between ARMv6M and ARMv7M 2014-01-10 16:49:49 +00:00
unwind-stack-diagnostics.s ARM IAS: allow more depth in contextual diagnostics 2014-01-07 02:29:00 +00:00
v8_IT_manual.s [ARM] Handling for coprocessor instructions that are undefined starting from ARMv8 (Thumb encodings) 2013-11-08 16:25:50 +00:00
vfp4.s ARM: Mark double-precision instructions as such 2013-10-24 15:49:39 +00:00
vfp-aliases-diagnostics.s ARM IAS: account for predicated pre-UAL mnemonics 2013-12-30 18:38:01 +00:00
vfp-aliases.s ARM IAS: account for predicated pre-UAL mnemonics 2013-12-30 18:38:01 +00:00
vpush-vpop.s