llvm-6502/test/MC/ARM
Stepan Dyatkovskiy 3fed2f133c Recommitted fix for PR18931, with extended tests set.
Issue subject: Crash using integrated assembler with immediate arithmetic

Fix description:
Expressions like 'cmp r0, #(l1 - l2) >> 3' could not be evaluated on asm parsing stage,
since it is impossible to resolve labels on this stage. In the end of stage we still have
expression (MCExpr).
Then, when we want to encode it, we expect it to be an immediate, but it still an expression.
Patch introduces a Fixup (MCFixup instance), that is processed after main encoding stage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205094 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-29 13:12:40 +00:00
..
AlignedBundling
2010-11-30-reloc-movt.s
2013-03-18-Br-to-label-named-like-reg.s
align_arm_2_thumb.s
align_thumb_2_arm.s
arm_addrmode2.s
arm_addrmode3.s
arm_fixups.s
arm_instructions.s
arm-aliases.s
arm-arithmetic-aliases.s
arm-elf-symver.s
arm-it-block.s
arm-ldrd.s
arm-memory-instructions.s
arm-qualifier-diagnostics.s
arm-shift-encoding.s
arm-thumb-cpus-default.s
arm-thumb-cpus.s
arm-thumb-trustzone.s
arm-trustzone.s
basic-arm-instructions-v8.s
basic-arm-instructions.s
basic-thumb2-instructions-v8.s
basic-thumb2-instructions.s
basic-thumb-instructions.s
bkpt.s
bracket-darwin.s
bracket-exprs.s
cmp-immediate-fixup2.s
cmp-immediate-fixup-error2.s
cmp-immediate-fixup-error.s
cmp-immediate-fixup.s
comment.s
complex-operands.s
crc32-thumb.s
crc32.s
cxx-global-constructor.ll
data-in-code.ll
deprecated-v8.s
diagnostics-noneon.s
diagnostics.s
directive-align.s
directive-arch_extension-crc.s
directive-arch_extension-crypto.s
directive-arch_extension-fp.s
directive-arch_extension-idiv.s
directive-arch_extension-mp.s
directive-arch_extension-sec.s
directive-arch_extension-simd.s
directive-arch-armv2.s
directive-arch-armv2a.s
directive-arch-armv3.s
directive-arch-armv3m.s
directive-arch-armv4.s
directive-arch-armv4t.s
directive-arch-armv5.s
directive-arch-armv5t.s
directive-arch-armv5te.s
directive-arch-armv6-m.s
directive-arch-armv6.s
directive-arch-armv6j.s
directive-arch-armv6t2.s
directive-arch-armv6z.s
directive-arch-armv6zk.s
directive-arch-armv7-a.s
directive-arch-armv7-m.s
directive-arch-armv7-r.s
directive-arch-armv7.s
directive-arch-armv7a.s
directive-arch-armv7m.s
directive-arch-armv7r.s
directive-arch-armv8-a.s
directive-arch-armv8a.s
directive-arch-iwmmxt2.s
directive-arch-iwmmxt.s
directive-cpu.s
directive-eabi_attribute-2.s
directive-eabi_attribute-diagnostics.s
directive-eabi_attribute-overwrite.s
directive-eabi_attribute.s
directive-even.s
directive-fpu-multiple.s
directive-fpu-softvfp.s
directive-fpu.s
directive-literals.s
directive-object_arch-2.s
directive-object_arch-3.s
directive-object_arch-diagnostics.s
directive-object_arch.s
directive-tlsdescseq-diagnostics.s
directive-tlsdescseq.s
directive-word-diagnostics.s
dot-req-case-insensitive.s
dot-req.s
dwarf-cfi-initial-state.s
eh-compact-pr0.s
eh-compact-pr1.s
eh-directive-cantunwind-diagnostics.s
eh-directive-cantunwind.s
eh-directive-fnend-diagnostics.s
eh-directive-fnstart-diagnostics.s
eh-directive-handlerdata.s
eh-directive-integrated-test.s
eh-directive-movsp-diagnostics.s
eh-directive-movsp.s
eh-directive-multiple-offsets.s
eh-directive-pad-diagnostics.s
eh-directive-pad.s
eh-directive-personality-diagnostics.s
eh-directive-personality.s
eh-directive-personalityindex-diagnostics.s
eh-directive-personalityindex.s
eh-directive-save-diagnoatics.s
eh-directive-save.s
eh-directive-section-comdat.s
eh-directive-section-multiple-func.s
eh-directive-section.s
eh-directive-setfp-diagnostics.s
eh-directive-setfp.s
eh-directive-text-section-multiple-func.s
eh-directive-text-section.s
eh-directive-unwind_raw-diagnostics.s
eh-directive-unwind_raw.s
eh-directive-vsave-diagnostics.s
eh-directive-vsave.s
elf-eflags-eabi.s
elf-jump24-fixup.s
elf-movt.s
elf-reloc-01.ll
elf-reloc-02.ll
elf-reloc-03.ll
elf-reloc-condcall.s
elf-thumbfunc-reloc.ll
elf-thumbfunc-reloc.s
elf-thumbfunc.s
fconst.s
fixup-cpu-mode.s
fp-armv8.s
fp-const-errors.s
full_line_comment.s
hilo-16bit-relocations.s
idiv.s
inst-arm-suffixes.s
inst-constant-required.s
inst-directive-emit.s
inst-directive.s
inst-overflow.s
inst-thumb-overflow-2.s
inst-thumb-overflow.s
inst-thumb-suffixes.s
invalid-barrier.s
invalid-crc32.s
invalid-fp-armv8.s
invalid-hint-arm.s
invalid-hint-thumb.s
invalid-idiv.s
invalid-neon-v8.s
invalid-vector-index.s
ldr-pseudo-darwin.s
ldr-pseudo-obj-errors.s
ldr-pseudo-parse-errors.s
ldr-pseudo.s
lit.local.cfg
load-store-acquire-release-v8-thumb.s
load-store-acquire-release-v8.s
ltorg-darwin.s
ltorg.s
mapping-within-section.s
mode-switch.s
mul-v4.s
multi-section-mapping.s
neon-abs-encoding.s
neon-absdiff-encoding.s
neon-add-encoding.s
neon-bitcount-encoding.s
neon-bitwise-encoding.s
neon-cmp-encoding.s
neon-convert-encoding.s
neon-crypto.s
neon-dup-encoding.s
neon-minmax-encoding.s
neon-mov-encoding.s
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
neon-vld-encoding.s
neon-vst-encoding.s
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
neont2-vst-encoding.s
not-armv4.s
obsolete-v8.s
pool.s
pr11877.s
relocated-mapping.s
simple-fp-encoding.s
single-precision-fp.s
symbol-variants-errors.s
symbol-variants.s
target-expressions.s
thumb2-b.w-encodingT4.s
thumb2-branches.s
thumb2-cbn-to-next-inst.s
thumb2-diagnostics.s
thumb2-ldrd.s
thumb2-mclass.s
thumb2-narrow-dp.ll
thumb2-pldw.s
thumb_set-diagnostics.s
thumb_set.s
thumb-diagnostics.s
thumb-far-jump.s
thumb-fp-armv8.s
thumb-hints.s
thumb-invalid-crypto.txt
thumb-neon-crypto.s
thumb-neon-v8.s
thumb-only-conditionals.s
thumb-shift-encoding.s
thumb-st_other.s
thumb-types.s
thumb.s
thumbv7m.s
unwind-stack-diagnostics.s
v8_IT_manual.s
variant-diagnostics.s
vfp4.s
vfp-aliases-diagnostics.s
vfp-aliases.s
vpush-vpop.s