1; Test target-specific stack cookie location. 2; RUN: llc -mtriple=aarch64-linux-android < %s -o - | FileCheck --check-prefix=ANDROID-AARCH64 %s 3; RUN: llc -mtriple=aarch64-fuchsia < %s -o - | FileCheck --check-prefix=FUCHSIA-AARCH64 %s 4 5define void @_Z1fv() sspreq { 6entry: 7 %x = alloca i32, align 4 8 %0 = bitcast i32* %x to i8* 9 call void @_Z7CapturePi(i32* nonnull %x) 10 ret void 11} 12 13declare void @_Z7CapturePi(i32*) 14 15; ANDROID-AARCH64: mrs [[A:.*]], TPIDR_EL0 16; ANDROID-AARCH64: ldr [[B:.*]], {{\[}}[[A]], #40] 17; ANDROID-AARCH64: str [[B]], [sp, 18; ANDROID-AARCH64: ldr [[C:.*]], {{\[}}[[A]], #40] 19; ANDROID-AARCH64: ldr [[D:.*]], [sp, 20; ANDROID-AARCH64: cmp [[C]], [[D]] 21 22; FUCHSIA-AARCH64: mrs [[A:.*]], TPIDR_EL0 23; FUCHSIA-AARCH64: ldur [[B:.*]], {{\[}}[[A]], #-16] 24; FUCHSIA-AARCH64: str [[B]], [sp, 25; FUCHSIA-AARCH64: ldur [[C:.*]], {{\[}}[[A]], #-16] 26; FUCHSIA-AARCH64: ldr [[D:.*]], [sp, 27; FUCHSIA-AARCH64: cmp [[C]], [[D]] 28