xref: /llvm-project/llvm/test/CodeGen/X86/huge-stack.ll (revision 768598bcc3528ff5c4cd2c8a9b74d023614e1a9e)
1054d7b12SSimon Pilgrim; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_sp --version 4
2054d7b12SSimon Pilgrim; RUN: llc -O0 -mtriple=x86_64 -verify-machineinstrs < %s | FileCheck %s --check-prefix=CHECK
3054d7b12SSimon Pilgrim%large = type [4294967295 x i8]
4054d7b12SSimon Pilgrim
5054d7b12SSimon Pilgrimdefine void @foo() unnamed_addr #0 {
6054d7b12SSimon Pilgrim; CHECK-LABEL: foo:
7054d7b12SSimon Pilgrim; CHECK:       # %bb.0:
8*768598bcSHans Wennborg; CHECK-NEXT:    movabsq $8589934462, %rax # imm = 0x1FFFFFF7E
9054d7b12SSimon Pilgrim; CHECK-NEXT:    subq %rax, %rsp
10*768598bcSHans Wennborg; CHECK-NEXT:    .cfi_def_cfa_offset 8589934470
11*768598bcSHans Wennborg; CHECK-NEXT:    movb $42, -129(%rsp)
12*768598bcSHans Wennborg; CHECK-NEXT:    movb $43, -128(%rsp)
13*768598bcSHans Wennborg; CHECK-NEXT:    movabsq $8589934462, %rax # imm = 0x1FFFFFF7E
14054d7b12SSimon Pilgrim; CHECK-NEXT:    addq %rax, %rsp
15054d7b12SSimon Pilgrim; CHECK-NEXT:    .cfi_def_cfa_offset 8
16054d7b12SSimon Pilgrim; CHECK-NEXT:    retq
17*768598bcSHans Wennborg  %1 = alloca %large, align 1
18*768598bcSHans Wennborg  %2 = alloca %large, align 1
19*768598bcSHans Wennborg  %3 = getelementptr inbounds %large, ptr %1, i64 0, i64 0
20*768598bcSHans Wennborg  store i8 42, ptr %3, align 1
21*768598bcSHans Wennborg  %4 = getelementptr inbounds %large, ptr %2, i64 0, i64 0
22*768598bcSHans Wennborg  store i8 43, ptr %4, align 1
23054d7b12SSimon Pilgrim  ret void
24054d7b12SSimon Pilgrim}
25