llvm-project/llvm/test/CodeGen
Simon Tatham 8c865cacda [ARM] Add the non-MVE instructions in Arm v8.1-M.
This adds support for the new family of conditional selection /
increment / negation instructions; the low-overhead branch
instructions (e.g. BF, WLS, DLS); the CLRM instruction to zero a whole
list of registers at once; the new VMRS/VMSR and VLDR/VSTR
instructions to get data in and out of 8.1-M system registers,
particularly including the new VPR register used by MVE vector
predication.

To support this, we also add a register name 'zr' (used by the CSEL
family to force one of the inputs to the constant 0), and operand
types for lists of registers that are also allowed to include APSR or
VPR (used by CLRM). The VLDR/VSTR instructions also need a new
addressing mode.

The low-overhead branch instructions exist in their own separate
architecture extension, which we treat as enabled by default, but you
can say -mattr=-lob or equivalent to turn it off.

Reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover

Reviewed By: samparker

Subscribers: miyuki, javed.absar, kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62667

llvm-svn: 363039
2019-06-11 09:29:18 +00:00
..
AArch64 Change semantics of fadd/fmul vector reductions. 2019-06-11 08:22:10 +00:00
AMDGPU [FastISel] Skip creating unnecessary vregs for arguments 2019-06-10 16:53:37 +00:00
ARC
ARM [ARM] Add the non-MVE instructions in Arm v8.1-M. 2019-06-11 09:29:18 +00:00
AVR [AVR] Fix the 'load.ll' test after r362351 2019-06-06 08:06:50 +00:00
BPF [BPF] generate R_BPF_NONE relocation for BTF DataSec variables 2019-05-26 21:26:06 +00:00
Generic Change semantics of fadd/fmul vector reductions. 2019-06-11 08:22:10 +00:00
Hexagon Revert "[SCEV] Use wrap flags in InsertBinop" 2019-06-06 12:35:46 +00:00
Inputs
Lanai [DAGCombine][X86][AArch64][MIPS][LANAI] (C - x) - y -> C - (x + y) fold (PR41952) 2019-06-04 11:06:21 +00:00
MIR AMDGPU: Invert frame index offset interpretation 2019-06-05 22:20:47 +00:00
MSP430 [AsmPrinter] refactor to support %c w/ GlobalAddress' 2019-04-26 18:45:04 +00:00
Mips [FastISel] Skip creating unnecessary vregs for arguments 2019-06-10 16:53:37 +00:00
NVPTX SelectionDAG: accommodate atomic floating stores. 2019-05-10 11:23:04 +00:00
PowerPC [PowerPC][HTM]Fix $zero is not a GPRC register for builtin_ttest 2019-06-10 19:04:14 +00:00
RISCV [RISCV] Support Bit-Preserving FP in F/D Extensions 2019-06-07 12:20:14 +00:00
SPARC [DAGCombiner][X86][AArch64][SPARC][SystemZ] y - (x + C) -> (y - x) - C fold. Try 3 2019-05-30 20:37:18 +00:00
SystemZ [FastISel] Skip creating unnecessary vregs for arguments 2019-06-10 16:53:37 +00:00
Thumb [TargetLowering] Extend bool args to inline-asm according to getBooleanType 2019-05-22 16:16:15 +00:00
Thumb2 [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
WebAssembly [WebAssembly] Limit PIC support to the Emscripten target 2019-06-05 20:01:01 +00:00
WinCFGuard
WinEH
X86 Change semantics of fadd/fmul vector reductions. 2019-06-11 08:22:10 +00:00
XCore [NFC][CodeGen] Add unary FNeg tests to some X86/ and XCore/ tests. 2019-06-10 21:31:59 +00:00