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

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Fri Apr 17 09:14:03 PDT 2026


  Branch: refs/heads/users/jthackray/tighten_sysp_encoding
  Home:   https://github.com/llvm/llvm-project
  Commit: a8a1bc4321e822f559d8252f3d1f558f0952a46b
      https://github.com/llvm/llvm-project/commit/a8a1bc4321e822f559d8252f3d1f558f0952a46b
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: 73f6f1fc3e2cc09b572d14ec45c47cb83affbd9d
      https://github.com/llvm/llvm-project/commit/73f6f1fc3e2cc09b572d14ec45c47cb83affbd9d
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: 58512bb078bb12ef80b34631000929a229c4bea7
      https://github.com/llvm/llvm-project/commit/58512bb078bb12ef80b34631000929a229c4bea7
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: 9b1deefd9ef7cc532689a808432ebf2fa31117c4
      https://github.com/llvm/llvm-project/commit/9b1deefd9ef7cc532689a808432ebf2fa31117c4
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: d532646eb433bc991c52d885c3e89087bd60db8b
      https://github.com/llvm/llvm-project/commit/d532646eb433bc991c52d885c3e89087bd60db8b
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: b9cbc9e29cb5b3e0f5540993ec7cf54e8b57fe1a
      https://github.com/llvm/llvm-project/commit/b9cbc9e29cb5b3e0f5540993ec7cf54e8b57fe1a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: 7bd71b462cdb7910fab8b7a4555e74d3a886e080
      https://github.com/llvm/llvm-project/commit/7bd71b462cdb7910fab8b7a4555e74d3a886e080
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

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

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


  Commit: 8539d3a1ed2c19de144268334235fdb1dbb53fea
      https://github.com/llvm/llvm-project/commit/8539d3a1ed2c19de144268334235fdb1dbb53fea
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: 0e914fdf3974c2c84be2000564a66806480ec201
      https://github.com/llvm/llvm-project/commit/0e914fdf3974c2c84be2000564a66806480ec201
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 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: f1a872f1daae534222e9b68c67729d554fc87a44
      https://github.com/llvm/llvm-project/commit/f1a872f1daae534222e9b68c67729d554fc87a44
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

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

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


Compare: https://github.com/llvm/llvm-project/compare/5e829582795b...f1a872f1daae

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