================ @@ -0,0 +1,46 @@ +; RUN: opt -passes=pre-isel-intrinsic-lowering -S < %s | FileCheck --check-prefixes=CHECK,NOPAUTH %s +; RUN: opt -passes=pre-isel-intrinsic-lowering -mattr=+pauth -S < %s | FileCheck --check-prefixes=CHECK,PAUTH %s + +target triple = "aarch64-unknown-linux-gnu" + +; CHECK: @ds1 = external global i8 +@ds1 = external global i8 +; CHECK: @ds2 = external global i8 +@ds2 = external global i8 +; CHECK: @ds3 = hidden alias i8, inttoptr (i64 3573751839 to ptr) +@ds3 = external global i8 + +; CHECK: define ptr @f1 +define ptr @f1(ptr %ptrptr) { + ; CHECK: %ptr = load ptr, ptr %ptrptr, align 8 + ; CHECK: %1 = ptrtoint ptr %ptr to i64 + ; NOPAUTH: %2 = call i64 @__emupac_autda(i64 %1, i64 1) [ "deactivation-symbol"(ptr @ds1) ] + ; PAUTH: %2 = call i64 @llvm.ptrauth.auth(i64 %1, i32 2, i64 1) [ "deactivation-symbol"(ptr @ds1) ] + ; CHECK: %3 = inttoptr i64 %2 to ptr + ; CHECK: ret ptr %3 + %protptrptr = call ptr @llvm.protected.field.ptr(ptr %ptrptr, i64 1, i1 true) [ "deactivation-symbol"(ptr @ds1) ] ---------------- nikic wrote:
Missing tests for use_hw=false? https://github.com/llvm/llvm-project/pull/151647 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits