[all-commits] [llvm/llvm-project] 136607: [AArch64] Modeling NZCV read/write for MOPS instru...

tyb0807 via All-commits all-commits at lists.llvm.org
Mon Jan 31 12:52:16 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 13660715e677919d9a89dc6a3a77532593c3c7f6
      https://github.com/llvm/llvm-project/commit/13660715e677919d9a89dc6a3a77532593c3c7f6
  Author: tyb0807 <sontuan.vu at arm.com>
  Date:   2022-01-31 (Mon, 31 Jan 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [AArch64] Modeling NZCV read/write for MOPS instructions

According to the specification, MOPS instructions define/use NZCV flags as
part of their semantics (see discussion in
https://reviews.llvm.org/D116157).

More specifically, the specification of the MOPS extension states that
each memcpy/memset/memmov operation will be performed by a series
of three MOPS instructions P, M and E. The P instruction writes to the
NZCV flags, while the others (M and E) reads from the NZCV flags.

This is part 2/4 of a series of patches split from
https://reviews.llvm.org/D117405 to facilitate reviewing.

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




More information about the All-commits mailing list