[llvm] [AArch64][PAC] Expand blend(reg, imm) operation in aarch64-pauth pass (PR #74729)

Kristof Beyls via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 1 02:40:55 PST 2024


================
@@ -359,6 +366,32 @@ bool AArch64PointerAuth::checkAuthenticatedLR(
   return true;
 }
 
+void AArch64PointerAuth::emitBlend(MachineBasicBlock::iterator MBBI,
+                                   Register Result, Register AddrDisc,
+                                   unsigned IntDisc) const {
+  MachineBasicBlock &MBB = *MBBI->getParent();
+  DebugLoc DL = MBBI->getDebugLoc();
+
+  if (Result != AddrDisc)
+    BuildMI(MBB, MBBI, DL, TII->get(AArch64::ORRXrs), Result)
----------------
kbeyls wrote:

Looking at the one obvious regression test for the blend intrinsic, in "ptrauth-intrinsic-blend.ll", I seems to me that the case `Result != AddrDisc` isn't covered there, so the then part here isn't covered by a test case.
If my impression is correct, maybe it would make sense to add a test to that file to cover this case?

https://github.com/llvm/llvm-project/pull/74729


More information about the llvm-commits mailing list