[all-commits] [llvm/llvm-project] c20991: [AArch64][llvm] Some instructions should be `HINT`...
Jonathan Thackray via All-commits
all-commits at lists.llvm.org
Tue Apr 28 11:46:40 PDT 2026
Branch: refs/heads/users/jthackray/rewrite_stshh
Home: https://github.com/llvm/llvm-project
Commit: c209918853ac1438e997039faed8f0d4cee770b4
https://github.com/llvm/llvm-project/commit/c209918853ac1438e997039faed8f0d4cee770b4
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-04-28 (Tue, 28 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Log Message:
-----------
[AArch64][llvm] Some instructions should be `HINT` aliases (NFC)
Implement the following instructions as a `HINT` alias instead of a
dedicated instruction in separate classes:
* `stshh`
* `stcph`
* `shuh`
* `tsb`
Updated all their helper methods too, and updated the `stshh` pseudo
expansion for the intrinsic to emit `HINT #0x30 | policy`.
Code in AArch64AsmPrinter::emitInstruction identified an initial BTI using a
broad bitmask on the HINT immediate, which also matched shuh/stcph (50..52)
This could move the patchable entry label after a non-BTI instruction.
Replaced it with an exact BTI check using the BTI HINT range (32..63) and
AArch64BTIHint::lookupBTIByEncoding(Imm ^ 32).
A following change will remove duplicated code and simplify.
No test changes.
Commit: 7451f52cfb720c0f3a9ca4d32226b9d7b13c8209
https://github.com/llvm/llvm-project/commit/7451f52cfb720c0f3a9ca4d32226b9d7b13c8209
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-04-28 (Tue, 28 Apr 2026)
Changed paths:
M llvm/test/MC/AArch64/armv8.2a-statistical-profiling.s
M llvm/test/MC/AArch64/armv8.4a-trace.s
M llvm/test/MC/AArch64/armv9.5a-pauthlr.s
M llvm/test/MC/AArch64/armv9.6a-pcdphint.s
M llvm/test/MC/AArch64/armv9.7a-memsys.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
M llvm/test/MC/AArch64/ras-extension.s
M llvm/test/MC/AArch64/speculation-barriers.s
Log Message:
-----------
fixup! Add testcases for all missing HINTs
Compare: https://github.com/llvm/llvm-project/compare/424140a876e7...7451f52cfb72
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