[all-commits] [llvm/llvm-project] 746c22: [AArch64][llvm] Tighten SYSP; don't disassemble in...

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Sun Jun 28 18:51:24 PDT 2026


  Branch: refs/heads/users/jthackray/tighten_sysp_encoding
  Home:   https://github.com/llvm/llvm-project
  Commit: 746c2216c70598740ad4f6620a3431ad6814eb87
      https://github.com/llvm/llvm-project/commit/746c2216c70598740ad4f6620a3431ad6814eb87
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
    M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
    A llvm/test/MC/AArch64/armv9-sysp-invalid.s
    M llvm/test/MC/AArch64/armv9a-sysp.s

  Log Message:
  -----------
  [AArch64][llvm] Tighten SYSP; don't disassemble invalid encodings

Tighten SYSP aliases, so that invalid encodings are disassembled
to `<unknown>`. This is because:

```
  Cn is a 4-bit unsigned immediate, in the range 8 to 9
  Cm is a 4-bit unsigned immediate, in the range 0 to 7
  op1 is a 3-bit unsigned immediate, in the range 0 to 6
  op2 is a 3-bit unsigned immediate, in the range 0 to 7
```

Ensure we check this when disassembling, and also constrain
tablegen for compile-time errors of invalid encodings.

Also adjust the testcases in `armv9-sysp-diagnostics.s` and
`llvm/test/MC/AArch64/armv9a-sysp.s` as they were invalid,
and added a few invalid (outside of range) SYSP-alikes to
test that `<unknown>` is printed


  Commit: 50bf24c02606b878eef6a685474f1a2099e6f2d9
      https://github.com/llvm/llvm-project/commit/50bf24c02606b878eef6a685474f1a2099e6f2d9
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

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

  Log Message:
  -----------
  fixup! Address Marian's PR comments: use imm0_6 predicate


  Commit: 5a9adb2b2c27c3f125d8402915bfd7dabb1ee362
      https://github.com/llvm/llvm-project/commit/5a9adb2b2c27c3f125d8402915bfd7dabb1ee362
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/test/MC/AArch64/armv9-sysp-diagnostics.s

  Log Message:
  -----------
  fixup! Templatise bounds checking and improve tests


  Commit: 319350c436b40aa1c36e411bbaa80a65ca27d7c0
      https://github.com/llvm/llvm-project/commit/319350c436b40aa1c36e411bbaa80a65ca27d7c0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.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/MCTargetDesc/AArch64InstPrinter.h
    M llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
    R llvm/test/MC/AArch64/armv9-sysp-invalid.s
    M llvm/test/MC/AArch64/armv9a-sysp.s

  Log Message:
  -----------
  fixup! Remove SYSPxt_XZR and update code to reflect this


  Commit: 6ab1118855fb7ad5a5d862e9aaacd75f7ee3aedb
      https://github.com/llvm/llvm-project/commit/6ab1118855fb7ad5a5d862e9aaacd75f7ee3aedb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/test/MC/AArch64/armv9a-sysp.s

  Log Message:
  -----------
  fixup! Add no-alias tests


  Commit: ea24c5c080ae733533395b785896e4e844cb274f
      https://github.com/llvm/llvm-project/commit/ea24c5c080ae733533395b785896e4e844cb274f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
    M llvm/test/MC/AArch64/armv9-sysp-diagnostics.s

  Log Message:
  -----------
  fixup! Address PR comments


  Commit: f2a122582b58c55507bffddeab59a3affa8987a0
      https://github.com/llvm/llvm-project/commit/f2a122582b58c55507bffddeab59a3affa8987a0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

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

  Log Message:
  -----------
  fixup! Fixes after rebasing following Marian's change


  Commit: 72252399fd8659181d621987a0f691fd452fda54
      https://github.com/llvm/llvm-project/commit/72252399fd8659181d621987a0f691fd452fda54
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/armv9-sysp-diagnostics.s

  Log Message:
  -----------
  fixup! Improve error parsing


  Commit: 4356faeb7b90e7e12b1b7c57aa1690ffc6524adb
      https://github.com/llvm/llvm-project/commit/4356faeb7b90e7e12b1b7c57aa1690ffc6524adb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.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/MCTargetDesc/AArch64InstPrinter.h
    M llvm/test/MC/AArch64/armv9a-sysp.s

  Log Message:
  -----------
  fixup! Implement Marian's suggestion to implement as XSeqPairsClass + [XZR, XZR]


  Commit: d6c88c0463b6d29e2e3e250ee6b129e17f6a3bf5
      https://github.com/llvm/llvm-project/commit/d6c88c0463b6d29e2e3e250ee6b129e17f6a3bf5
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp

  Log Message:
  -----------
  fixup! Address PR comment about shortened `sysp` with xzr/xzr


  Commit: 211cbaf5d1132ab2beb6fc382765614fa698172a
      https://github.com/llvm/llvm-project/commit/211cbaf5d1132ab2beb6fc382765614fa698172a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

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

  Log Message:
  -----------
  fixup! Remove superfluous code


  Commit: ed3cf416914353ecd7024c434acf7ca45d9d82ac
      https://github.com/llvm/llvm-project/commit/ed3cf416914353ecd7024c434acf7ca45d9d82ac
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/armv9a-tlbip.s

  Log Message:
  -----------
  fixup! Address Carol's PR comments


  Commit: 1c6cf4b5f5e3acf03c519049f2f57cad2854f294
      https://github.com/llvm/llvm-project/commit/1c6cf4b5f5e3acf03c519049f2f57cad2854f294
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
    M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
    M llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
    M llvm/test/MC/AArch64/armv9a-sysp.s

  Log Message:
  -----------
  fixup! Update diff because SYSP definition has changed


  Commit: 751a37a61a05bc5832c68a9f59a3326e1347e8c5
      https://github.com/llvm/llvm-project/commit/751a37a61a05bc5832c68a9f59a3326e1347e8c5
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.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/MCTargetDesc/AArch64InstPrinter.h

  Log Message:
  -----------
  fixup! More optimisations spotted by Marian after the specs changed


  Commit: 6bac065baedc151d67e8b0601d62180d08eae212
      https://github.com/llvm/llvm-project/commit/6bac065baedc151d67e8b0601d62180d08eae212
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-29 (Mon, 29 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.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

  Log Message:
  -----------
  fixup! Address Marian's comments


Compare: https://github.com/llvm/llvm-project/compare/a8a3b96b4851...6bac065baedc

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list