aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed@bougacha.org>2022-10-24 08:33:30 -0700
committerAhmed Bougacha <ahmed@bougacha.org>2023-06-26 09:43:37 -0700
commitb3272f5ddbfd2b4a3219df223392af7a09571cc1 (patch)
treee704a323bb2e8bca35beed901b6f6c8a7272d468 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
parentfb13d027eae405a7be96fd7da0d72422e48a0719 (diff)
downloadllvm-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