[llvm-branch-commits] [llvm] AArch64: Relax x16/x17 constraint on AUT in certain cases. (PR #132857)
Anatoly Trosinenko via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jun 11 10:58:43 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
----------------
atrosinenko wrote:
It is worth testing the case of `AUTAddrDisc->isKill()` being false, so that address discriminator is actually copied to a scratch register first and then passed to `movk`.
https://github.com/llvm/llvm-project/pull/132857
More information about the llvm-branch-commits
mailing list