[llvm-branch-commits] [llvm] AArch64: Relax x16/x17 constraint on AUT in certain cases. (PR #132857)

Peter Collingbourne via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Jul 8 21:36:57 PDT 2025


================
@@ -33,36 +33,45 @@ target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
 
 define i64 @test_auth_blend(i64 %arg, i64 %arg1) {
 ; UNCHECKED-LABEL: test_auth_blend:
-; UNCHECKED:       %bb.0:
-; UNCHECKED-NEXT:    mov x16, x0
-; UNCHECKED-NEXT:    mov x17, x1
-; UNCHECKED-NEXT:    movk x17, #65535, lsl #48
-; UNCHECKED-NEXT:    autda x16, x17
-; UNCHECKED-NEXT:    mov x0, x16
-; UNCHECKED-NEXT:    ret
+; UNCHECKED:          %bb.0:
+; UNCHECKED-DARWIN-NEXT: mov x16, x0
+; UNCHECKED-DARWIN-NEXT: mov x17, x1
+; UNCHECKED-DARWIN-NEXT: movk x17, #65535, lsl #48
+; UNCHECKED-DARWIN-NEXT: autda x16, x17
+; UNCHECKED-DARWIN-NEXT: mov x0, x16
+; UNCHECKED-ELF-NEXT:    movk x1, #65535, lsl #48
+; UNCHECKED-ELF-NEXT:    autda x0, x1
+; UNCHECKED-NEXT:        ret
----------------
pcc wrote:

This is already being tested, if I patch that code to pass true I see `test/CodeGen/AArch64/ptrauth-call.ll` fail with incorrect code being generated for `test_tailcall_omit_mov_x16_x16` and `test_call_omit_extra_moves`.

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


More information about the llvm-branch-commits mailing list