brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 54f8e3f Raw
51 lines · plain
1; RUN: llc -mtriple aarch64-unknown-windows-msvc -filetype asm -o - %s | FileCheck %s2; RUN: llc -mtriple aarch64-unknown-windows-msvc -filetype obj -o - %s | llvm-readobj -u - | FileCheck %s -check-prefix CHECK-UNWIND3 4declare dso_local void @g(ptr noundef)5define dso_local preserve_mostcc void @f(ptr noundef %p) #0 {6entry:7  %p.addr = alloca ptr, align 88  store ptr %p, ptr %p.addr, align 89  %0 = load ptr, ptr %p.addr, align 810  call void @g(ptr noundef %0)11  ret void12}13 14attributes #0 = { nounwind uwtable(sync) }15 16; CHECK: str x30, [sp, #16]17; CHECK-NEXT: .seh_save_reg x30, 1618; CHECK: str x9, [sp, #24]19; CHECK-NEXT: .seh_save_any_reg x9, 2420; CHECK: stp x10, x11, [sp, #3221; CHECK-NEXT: .seh_save_any_reg_p x10, 3222; CHECK: stp x12, x13, [sp, #48]23; CHECK-NEXT: .seh_save_any_reg_p x12, 4824; CHECK: stp x14, x15, [sp, #64]25; CHECK-NEXT: .seh_save_any_reg_p x14, 6426; CHECK: .seh_endprologue27 28; CHECK: .seh_startepilogue29; CHECK: ldp x14, x15, [sp, #64]30; CHECK-NEXT: .seh_save_any_reg_p x14, 6431; CHECK: ldp x12, x13, [sp, #48]32; CHECK-NEXT: .seh_save_any_reg_p x12, 4833; CHECK: ldp x10, x11, [sp, #3234; CHECK-NEXT: .seh_save_any_reg_p x10, 3235; CHECK: ldr x9, [sp, #24]36; CHECK-NEXT: .seh_save_any_reg x9, 2437; CHECK: ldr x30, [sp, #16]38; CHECK-NEXT: .seh_save_reg x30, 1639 40; CHECK: .seh_endepilogue41 42; CHECK-UNWIND:  Prologue [43; CHECK-UNWIND:    0xe74e04            ; stp x14, x15, [sp, #64]44; CHECK-UNWIND:    0xe74c03            ; stp x12, x13, [sp, #48]45; CHECK-UNWIND:    0xe74a02            ; stp x10, x11, [sp, #32]46; CHECK-UNWIND:    0xe70903            ; str x9, [sp, #24]47; CHECK-UNWIND:    0xd2c2              ; str x30, [sp, #16]48; CHECK-UNWIND:    0x05                ; sub sp, #8049; CHECK-UNWIND:    0xe4                ; end50; CHECK-UNWIND:  ]51