| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: llc -mtriple=arm64e-apple-darwin %s -o - \ |
| ; RUN: -aarch64-enable-collect-loh=0 | FileCheck %s |
| |
| ; RUN: llc -mtriple=arm64e-apple-darwin %s -o - \ |
| ; RUN: -global-isel -global-isel-abort=1 -verify-machineinstrs \ |
| ; RUN: -aarch64-enable-collect-loh=0 | FileCheck %s |
| |
| @var = thread_local global i8 0 |
| |
| define i8 @get_var() #0 { |
| ; CHECK-LABEL: get_var: |
| ; CHECK: ; %bb.0: |
| ; CHECK-NEXT: stp x29, x30, [sp, #-16]! ; 16-byte Folded Spill |
| ; CHECK-NEXT: adrp x0, _var@TLVPPAGE |
| ; CHECK-NEXT: ldr x0, [x0, _var@TLVPPAGEOFF] |
| ; CHECK-NEXT: ldr x8, [x0] |
| ; CHECK-NEXT: blraaz x8 |
| ; CHECK-NEXT: ldrb w0, [x0] |
| ; CHECK-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload |
| ; CHECK-NEXT: ret |
| |
| %val = load i8, ptr @var, align 1 |
| ret i8 %val |
| } |
| |
| attributes #0 = { nounwind "ptrauth-calls" } |