[all-commits] [llvm/llvm-project] f516e9: [AArch64] Add new v9.4-A PM pstate system register

Lucas Duarte Prates via All-commits all-commits at lists.llvm.org
Mon Dec 19 07:08:06 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f516e91715642f270d075e097f09a1442f6100f3
      https://github.com/llvm/llvm-project/commit/f516e91715642f270d075e097f09a1442f6100f3
  Author: Lucas Prates <lucas.prates at arm.com>
  Date:   2022-12-19 (Mon, 19 Dec 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/test/MC/AArch64/armv8.1a-pan.s
    M llvm/test/MC/AArch64/armv8.2a-uao.s
    M llvm/test/MC/AArch64/armv8.4a-dit.s
    M llvm/test/MC/AArch64/armv8.5a-ssbs-error.s
    A llvm/test/MC/AArch64/armv9.4a-ebep-error.s
    A llvm/test/MC/AArch64/armv9.4a-ebep.s
    M llvm/test/MC/Disassembler/AArch64/armv8.1a-pan.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
    A llvm/test/MC/Disassembler/AArch64/armv9.4a-ebep.txt

  Log Message:
  -----------
  [AArch64] Add new v9.4-A PM pstate system register

This adds support for the new PM pstate system register introduced by
the v9.4-A Exception-based Event Profiling extension (FEAT_EBEP).

The new PM pstate register takes a 1-bit immediate and requires
different values to be specified for the higher bits of the Crm field.
To enable that, this patch creates an explicit separation between the
pstate system registers that take 4-bit and 1-bit immediate operands,
allowing each entry to specify the value for the 3 high bits of Crm.

This also updates other pstate registers to correctly accept 4-bit
immediates, matching their decoding specification from the Arm ARM.
These include: `PAN`,  `UAO`, `DIT` and `SSBS`.

More information about this extension and the new register can be found
at:
* https://developer.arm.com/documentation/ddi0601/2022-09/AArch64-Registers/PM--PMU-Exception-Mask

Contributors:
* Lucas Prates
* Sam Elliott

Reviewed By: lenary

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




More information about the All-commits mailing list