llvm/test/MC/ARM
Rafael Espindola 5e195a4c8d Remove some really nasty uses of hasRawTextSupport.
When MC was first added, targets could use hasRawTextSupport to keep features
working before they were added to the MC interface.

The design goal of MC is to provide an uniform api for printing assembly and
object files. Short of relaxations and other corner cases, a object file is
just another representation of the assembly.

It was never the intention that targets would keep doing things like

if (hasRawTextSupport())
  Set flags in one way.
else
  Set flags in another way.

When they do that they create two code paths and the object file is no longer
just another representation of the assembly. This also then requires testing
with llc -filetype=obj, which is extremelly brittle.

This patch removes some of these hacks by replacing them with smaller ones.
The ARM flag setting is trivial, so I just moved it to the constructor. For
Mips, the patch adds two temporary hack directives that allow the assembly
to represent the same things as the object file was already able to.

The hope is that the mips developers will replace the hack directives with
the same ones that gas uses and drop the -print-hack-directives flag.

I will also try to implement a target streamer interface, so that we can
move this out of the common code.

In summary, for any new work, two rules of the thumb are
  * Don't use "llc -filetype=obj" in tests.
  * Don't add calls to hasRawTextSupport.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192035 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-05 16:42:21 +00:00
..
AlignedBundling [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
2013-03-18-Br-to-label-named-like-reg.s Fix pr13145 - Naming a function like a register name confuses the asm parser. 2013-03-19 23:44:03 +00:00
arm_addrmode2.s revert the test change 2012-12-11 06:25:18 +00:00
arm_addrmode3.s
arm_fixups.s
arm_instructions.s Add a special ARM trap encoding for NaCl. 2013-01-30 16:30:19 +00:00
arm_word_directive.s
arm-aliases.s
arm-arithmetic-aliases.s ARM: 'add Rd, pc, #imm' is an alias for 'adr Rd, #imm'. 2012-09-25 00:08:13 +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: Teach assembler to enforce constraints for ARM LDRD destination register operands. 2013-09-27 13:28:17 +00:00
arm-shift-encoding.s Fix edge cases of ARM shift operands in arith instructions. 2012-09-22 11:18:19 +00:00
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 [ARM] Introduce the 'sevl' instruction in ARMv8. 2013-10-01 12:39:11 +00:00
basic-arm-instructions.s [ARM] Introduce the 'sevl' instruction in ARMv8. 2013-10-01 12:39:11 +00:00
basic-thumb2-instructions-v8.s [ARM] Introduce the 'sevl' instruction in ARMv8. 2013-10-01 12:39:11 +00:00
basic-thumb2-instructions.s Make "mov" work for all Thumb2 MOV encodings 2013-08-21 13:14:58 +00:00
basic-thumb-instructions.s This fixes the Thumb2 CPS assembly syntax. 2013-08-09 13:52:32 +00:00
bracket-darwin.s
bracket-exprs.s
crc32-thumb.s 'svn add' the test cases. 2013-09-18 09:46:49 +00:00
crc32.s 'svn add' the test cases. 2013-09-18 09:46:49 +00:00
cxx-global-constructor.ll Replace coff-/elf-dump with llvm-readobj 2013-04-12 04:06:46 +00:00
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.s Add AArch32 DCPS{1,2,3} and HLT instructions. 2013-09-05 14:14:19 +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 CEHCK->CHECK typo fix. 2013-07-08 21:47:33 +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 Prefix failing commands with not to make clear they are expected to fail. 2013-07-03 16:41:29 +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-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-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 Replace coff-/elf-dump with llvm-readobj 2013-04-12 04:06:46 +00:00
elf-jump24-fixup.s Convert an improper CodeGen test to a MC test. 2012-11-10 04:30:40 +00:00
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 Replace coff-/elf-dump with llvm-readobj 2013-04-12 04:06:46 +00:00
fp-armv8.s Fix tests for hasFPARMv8 name change (r190692) 2013-09-13 14:37:52 +00:00
full_line_comment.s
hilo-16bit-relocations.s
invalid-crc32.s 'svn add' the test cases. 2013-09-18 09:46:49 +00:00
invalid-fp-armv8.s Fix tests for hasFPARMv8 name change (r190692) 2013-09-13 14:37:52 +00:00
invalid-neon-v8.s [ARMv8] Add support for the v8 cryptography extensions. 2013-09-19 11:59:01 +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
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
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 The ARM NEON vector compare instructions take three arguments. However, the 2013-02-14 23:18:40 +00:00
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 Make ARMAsmPrinter generate the correct alignment specifier syntax in instructions. 2013-02-22 10:01:33 +00:00
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
obsolete-v8.s ARMv8: SWP and SWPB are obsoleted on ARMv8. 2013-08-13 16:40:47 +00:00
pr11877.s
relocated-mapping.s Added Mapping Symbols for ARM ELF 2012-12-07 16:50:23 +00:00
simple-fp-encoding.s This patch adds support for FPINST/FPINST2 as operands to vmsr/vmrs. These are optional registers that may be supported some ARM implementations to aid with resolution of floating point exceptions. The manual pages for vmsr and vmrs do not detail their use. Encodings and other information can be found in ARM Architecture Reference Manual section F, chapter 6, paragraph 3. 2013-06-11 09:39:51 +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-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
thumb2-narrow-dp.ll Teach the assembler to use the narrow thumb encodings of various three-register dp instructions where permissable. 2012-07-09 16:12:24 +00:00
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 Thumb(-2) diagnostic tests. 2013-09-30 18:50:51 +00:00
thumb-fp-armv8.s Fix tests for hasFPARMv8 name change (r190692) 2013-09-13 14:37:52 +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-nop.s ARM: fix thumb1 nop decoding 2013-06-24 09:11:53 +00:00
thumb-only-conditionals.s ARM: fix more cases where predication may or may not be allowed 2013-06-26 16:52:40 +00:00
thumb-shift-encoding.s Fix edge cases of ARM shift operands in arith instructions. 2012-09-22 11:18:19 +00:00
thumb.s ARM: fix thumb1 nop decoding 2013-06-24 09:11:53 +00:00
v8_IT_manual.s [ARM] Warn on deprecated IT blocks in v8 AArch32 assembly. 2013-10-03 09:31:51 +00:00
vfp4.s Support fpv4 for ARM Cortex-M4. 2012-08-02 08:35:55 +00:00
vpush-vpop.s
xscale-attributes.ll Replace coff-/elf-dump with llvm-readobj 2013-04-12 04:06:46 +00:00