Go to file
Sander de Smalen 9b33309c87 [AArch64][SVE] Asm: Add MOVPRFX instructions.
This patch adds predicated and unpredicated MOVPRFX instructions, which
can be prepended to SVE instructions that are destructive on their first
source operand, to make them a constructive operation, e.g.

  add z1.s, p0/m, z1.s, z2.s        <=> z1 = z1 + z2

can be made constructive:

  movprfx z0, z1
  add z0.s, p0/m, z0.s, z2.s        <=> z0 = z1 + z2

The predicated MOVPRFX instruction can additionally be used to zero
inactive elements, e.g.

  movprfx z0.s, p0/z, z1.s
  add z0.s, p0/m, z0.s, z2.s

Not all instructions can be prefixed with the MOVPRFX instruction
which is why this patch also adds a mechanism to validate prefixed
instructions. The exact rules when a MOVPRFX applies is detailed in
the SVE supplement of the Architectural Reference Manual.

This is patch [1/2] in a series to add MOVPRFX instructions:
- Patch [1/2]: https://reviews.llvm.org/D49592
- Patch [2/2]: https://reviews.llvm.org/D49593

Reviewers: rengolin, SjoerdMeijer, samparker, fhahn, javed.absar

Reviewed By: SjoerdMeijer

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

llvm-svn: 338258
2018-07-30 15:42:46 +00:00
clang [CodeComplete] Fix the crash in code completion on access checking 2018-07-30 15:19:05 +00:00
clang-tools-extra [clangd] Do not remove AST from cache if nothing changed 2018-07-30 15:30:45 +00:00
compiler-rt [XRay][compiler-rt] FDR Mode: Use mmap instead of internal allocator 2018-07-30 05:56:42 +00:00
debuginfo-tests [DebugInfo] LowerDbgDeclare: Add derefs when handling CallInst users 2018-07-26 20:56:53 +00:00
libclc atom: Use volatile pointers for cl_khr_{global,local}_int32_{base,extended}_atomics 2018-06-21 19:27:39 +00:00
libcxx [libc++] Exclude posix_l/strtonum fallback inclusion for newlib > 2.4 2018-07-27 20:02:58 +00:00
libcxxabi [demangler] Fix an oss-fuzz bug from r338138 2018-07-28 04:06:30 +00:00
libunwind [CMake] Include CMakeDependentOption in libunwind 2018-07-24 23:42:51 +00:00
lld [ELF] - Implement SHT_SYMTAB_SHNDX (.symtab_shndxr) section. 2018-07-30 12:39:54 +00:00
lldb Remove friend class declarations from DWARFUnit and DWARFCompileUnit 2018-07-29 19:32:36 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [AArch64][SVE] Asm: Add MOVPRFX instructions. 2018-07-30 15:42:46 +00:00
openmp [OMPT] Fix OMPT callbacks for the taskloop construct and add testcase 2018-07-27 18:13:24 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [test] Remove non-JSPON comments in JSCOP file. NFC. 2018-07-28 01:11:45 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.