llvm-6502/test/MC
Kevin Enderby 1a47d66496 Change the ARM assembler to require a :lower16: or :upper16 on non-constant
expressions for mov instructions instead of silently truncating by default.

For the ARM assembler, we want to avoid misleadingly allowing something
like "mov r0, <symbol>" especially when we turn it into a movw and the
expression <symbol> does not have a :lower16: or :upper16" as part of the
expression.  We don't want the behavior of silently truncating, which can be
unexpected and lead to bugs that are difficult to find since this is an easy
mistake to make.

This does change the previous behavior of llvm but actually matches an
older gnu assembler that would not allow this but print less useful errors
of like “invalid constant (0x927c0) after fixup” and “unsupported relocation on
symbol foo”.  The error for llvm is "immediate expression for mov requires
:lower16: or :upper16" with correct location information on the operand
as shown in the added test cases.

rdar://12342160


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206669 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-18 23:06:39 +00:00
..
AArch64 AArch64/ARM64: produce correct relocation for conditional branches. 2014-04-16 15:27:52 +00:00
ARM Change the ARM assembler to require a :lower16: or :upper16 on non-constant 2014-04-18 23:06:39 +00:00
ARM64 ARM64: [su]xtw use W regs as inputs, not X regs. 2014-04-17 20:47:31 +00:00
AsmParser Revert r206565 (and r206566 which updated tests). 2014-04-18 09:35:51 +00:00
COFF COFF: fix an off by one error 2014-04-16 06:22:53 +00:00
Disassembler [X86] Add disassembler support for the 0x0f 0x7f form of movq %mm, %mm. 2014-04-17 06:33:45 +00:00
ELF Compress debug sections only when beneficial. 2014-04-18 21:52:26 +00:00
MachO
Markup
Mips [mips] Use TwoOperandAliasConstraint for shift instructions. 2014-04-16 16:28:59 +00:00
PowerPC
Sparc
SystemZ
X86