xref: /llvm-project/llvm/test/CodeGen/X86/stack-clash-small.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_sp
2; RUN: llc < %s | FileCheck %s
3target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
4target triple = "x86_64-unknown-linux-gnu"
5
6define i32 @foo() local_unnamed_addr #0 {
7; CHECK-LABEL: foo:
8; CHECK:       # %bb.0:
9; CHECK-NEXT:    subq $280, %rsp # imm = 0x118
10; CHECK-NEXT:    .cfi_def_cfa_offset 288
11; CHECK-NEXT:    movl $1, 264(%rsp)
12; CHECK-NEXT:    movl -128(%rsp), %eax
13; CHECK-NEXT:    addq $280, %rsp # imm = 0x118
14; CHECK-NEXT:    .cfi_def_cfa_offset 8
15; CHECK-NEXT:    retq
16  %a = alloca i32, i64 100, align 16
17  %b = getelementptr inbounds i32, ptr %a, i64 98
18  store volatile i32 1, ptr %b
19  %c = load volatile i32, ptr %a
20  ret i32 %c
21}
22
23attributes #0 =  {"probe-stack"="inline-asm"}
24