llvm-project/llvm/test/MC
Cullen Rhodes 3a349d2269 [AArch64][SME] Introduce feature for streaming mode
The Scalable Matrix Extension (SME) introduces a new execution mode
called Streaming SVE mode. In streaming mode a substantial subset of the
SVE and SVE2 instruction set is available, along with new outer product,
load, store, extract and insert instructions that operate on the new
architectural register state for the matrix.

To support streaming mode this patch introduces a new subtarget feature
+streaming-sve. If enabled, the subset of SVE(2) instructions are
available. The existing behaviour for SVE(2) remains unchanged, the
subset of instructions that are legal in streaming mode are enabled if
either +sve[2] or +streaming-sve is specified. Instructions that are
illegal in streaming mode remain predicated on +sve[2].

The SME target feature has been updated to imply +streaming-sve rather
than +sve.

The following changes are made to the SVE(2) tests:
  * For instructions that are legal in streaming mode:
    - added RUN line to verify +streaming-sve enables the instruction.
    - updated diagnostic to 'instruction requires: streaming-sve or sve'.
  * For instructions that are illegal in streaming-mode:
    - added RUN line to verify +streaming-sve does not enable the
      instruction.

SVE(2) instructions that are legal in streaming mode have:

  if !HaveSVE[2]() && !HaveSME() then UNDEFINED;

at the top of the pseudocode in the XML.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06/SVE-Instructions

Reviewed By: sdesmalen, david-arm

Differential Revision: https://reviews.llvm.org/D106272
2021-07-30 07:30:45 +00:00
..
AArch64 [AArch64][SME] Introduce feature for streaming mode 2021-07-30 07:30:45 +00:00
AMDGPU [amdgpu] Add 64-bit PC support when expanding unconditional branches. 2021-07-26 14:50:30 -04:00
ARM [clang] Use i64 for the !srcloc metadata on asm IR nodes. 2021-07-22 10:24:52 +01:00
AVR [AVR] Add register aliases XL, YH, etc 2021-03-03 15:36:05 +01:00
AsmParser [MCParser][z/OS] Mark a few tests as unsupported for the z/OS Target 2021-07-05 11:06:52 -04:00
BPF
COFF [AArch64][X86] Allow 64-bit label differences lower to IMAGE_REL_*_REL32 2021-06-21 14:32:25 -07:00
CSKY [CSKY 6/n] Add support branch and symbol series instruction 2021-04-20 15:36:49 +08:00
Disassembler [ARC] Add norm/normh instructions with disassembly tests 2021-07-29 17:54:52 -07:00
ELF [test] Avoid llvm-readelf/llvm-readobj one-dash long options and deprecated aliases (e.g. --file-headers) 2021-07-15 10:26:21 -07:00
Hexagon Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
Lanai
M68k [M68k][test][NFC] Scrubing some tests 2021-05-05 17:48:28 -07:00
MSP430 [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
MachO [test] Avoid llvm-readelf/llvm-readobj one-dash long options and deprecated aliases (e.g. --file-headers) 2021-07-15 10:26:21 -07:00
Mips [MC] Remove unneeded "in '.xxx' directive" from diagnostics 2021-05-04 13:30:29 -07:00
PowerPC [PowerPC]Add addex instruction definition and MC tests 2021-07-26 14:55:38 -05:00
RISCV [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
Sparc [SPARC] recognize the "rd %pc, reg" special form 2021-05-23 22:52:59 +02:00
SystemZ [SystemZ] Add support for new cpu architecture - arch14 2021-07-26 16:57:28 +02:00
VE [VE] Add missing BCR format 2020-10-29 23:30:49 +09:00
WebAssembly [WebAssembly] Generate R_WASM_FUNCTION_OFFSET relocs in debuginfo sections 2021-07-19 14:02:33 -07:00
X86 [X86] Fix handling of maskmovdqu in X32 2021-07-15 22:56:08 +01:00
XCOFF [AIX] Add dummy XCOFF MCAsmParserExtension 2021-07-02 16:12:21 +00:00