llvm-project/llvm/test/MC
Renato Golin 608cb5def6 [ARM] Support and tests for transform of LDR rt, = to MOV
This change implements the transformation in processInstruction() for the
LDR rt, =expression to MOV rt, expression when the expression can be evaluated
and can fit into the immediate field of the MOV or a MVN.

Across the ARM and Thumb instruction sets there are several cases to consider,
each with a different range of representatble constants.

In ARM we have:
 * Modified immediate (All ARM architectures)
 * MOVW (v6t2 and above)

In Thumb we have:
 * Modified immediate (v6t2, v7m and v8m.mainline)
 * MOVW (v6t2, v7m, v8.mainline and v8m.baseline)
 * Narrow Thumb MOV that can be used in an IT block (non flag-setting)

If the immediate fits any of the available alternatives then we make the transformation.

Fixes 25722.

Patch by Peter Smith.

llvm-svn: 269354
2016-05-12 21:22:42 +00:00
..
AArch64 MCParser: diagnose missing directional labels more clearly. 2016-04-11 19:50:46 +00:00
AMDGPU [AMDGPU][llvm-mc] Add support for sendmsg(...) syntax. 2016-05-06 17:48:48 +00:00
ARM [ARM] Support and tests for transform of LDR rt, = to MOV 2016-05-12 21:22:42 +00:00
AsmParser [LLVM] Remove unwanted --check-prefix=CHECK from unit tests. NFC. 2016-04-19 23:51:52 +00:00
COFF [MC] Create unique .pdata sections for every .text section 2016-05-02 23:22:18 +00:00
Disassembler Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
ELF [MC/ELF] Make the relaxation test more interesting. 2016-04-24 01:08:35 +00:00
Hexagon [Hexagon] Treat all conditional branches as predicted (not-taken by default) 2016-05-09 18:22:07 +00:00
Lanai [lanai] isBrImm should accept any non-constant immediate. 2016-03-31 17:58:55 +00:00
MachO CodeGen: Use PLT relocations for relative references to unnamed_addr functions. 2016-04-22 20:40:10 +00:00
Markup
Mips [mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset is in range. 2016-05-12 14:01:50 +00:00
PowerPC This reverts commit r265505. 2016-04-28 20:00:42 +00:00
Sparc [Sparc][LEON] Add UMAC and SMAC instruction support for Sparc LEON subtargets 2016-05-09 11:55:15 +00:00
SystemZ [SystemZ] Add support for additional branch extended mnemonics 2016-05-10 20:11:24 +00:00
X86 [AVX512] VPACKUSWB/VPACKSSWB should not be encoded with EVEX.W=1. While there fix the execution domain for VPACKSSDW/VPACKUSDW. 2016-05-01 17:38:32 +00:00