diff options
author | Ahmed Bougacha <ahmed@bougacha.org> | 2022-10-24 08:33:30 -0700 |
---|---|---|
committer | Ahmed Bougacha <ahmed@bougacha.org> | 2023-06-26 09:43:37 -0700 |
commit | b3272f5ddbfd2b4a3219df223392af7a09571cc1 (patch) | |
tree | e704a323bb2e8bca35beed901b6f6c8a7272d468 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | fb13d027eae405a7be96fd7da0d72422e48a0719 (diff) | |
download | llvm-b3272f5ddbfd2b4a3219df223392af7a09571cc1.zip llvm-b3272f5ddbfd2b4a3219df223392af7a09571cc1.tar.gz llvm-b3272f5ddbfd2b4a3219df223392af7a09571cc1.tar.bz2 |
[AArch64][PAC] Select MOVK for ptrauth.blend intrinsic.
Blend combines two discriminator values used by other ptrauth ops.
On AArch64 here, it does that by replacing the high 16 bits of the
LHS with the low 16 bits of the RHS.
Usually the RHS is a constant, which lets us do this efficiently in
a single MOVK. When the RHS isn't constant, we can do a BFI.
In a sense, this is implementing an ABI decision (how to lower the
software construct of "blend"), but if there are interesting variants to
consider, this could be made object-file-format-specific in some way.
Differential Revision: https://reviews.llvm.org/D132384
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions