[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / CodeGen / X86 / clobber_frame_ptr_x32.ll
blob25c951d8b1a10911fa5c109dd3f8ad82b1997c6e
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2 ; RUN: llc < %s | FileCheck %s
4 target triple = "x86_64-linux-gnux32"
6 define i32 @foo() {
7 ; CHECK-LABEL: foo:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    pushq %rbp
10 ; CHECK-NEXT:    .cfi_def_cfa_offset 16
11 ; CHECK-NEXT:    .cfi_offset %rbp, -16
12 ; CHECK-NEXT:    movq %rsp, %rbp
13 ; CHECK-NEXT:    .cfi_def_cfa_register %rbp
14 ; CHECK-NEXT:    subq $16, %rsp
15 ; CHECK-NEXT:    movl $4, -8(%rbp)
16 ; CHECK-NEXT:    movl $5, -4(%rbp)
17 ; CHECK-NEXT:    movl -8(%rbp), %eax
18 ; CHECK-NEXT:    movq %rsp, %rcx
19 ; CHECK-NEXT:    addq $15, %rax
20 ; CHECK-NEXT:    andq $-16, %rax
21 ; CHECK-NEXT:    movq %rcx, %rdx
22 ; CHECK-NEXT:    subq %rax, %rdx
23 ; CHECK-NEXT:    movq %rdx, %rsp
24 ; CHECK-NEXT:    negq %rax
25 ; CHECK-NEXT:    movl $1, (%rcx,%rax)
26 ; CHECK-NEXT:    pushq %rbp
27 ; CHECK-NEXT:    pushq %rax
28 ; CHECK-NEXT:    .cfi_remember_state
29 ; CHECK-NEXT:    .cfi_escape 0x0f, 0x06, 0x77, 0x08, 0x06, 0x11, 0x10, 0x22 #
30 ; CHECK-NEXT:    movl $123, %ebp
31 ; CHECK-NEXT:    #APP
32 ; CHECK-NEXT:    nop
33 ; CHECK-NEXT:    #NO_APP
34 ; CHECK-NEXT:    addq $8, %rsp
35 ; CHECK-NEXT:    popq %rbp
36 ; CHECK-NEXT:    .cfi_restore_state
37 ; CHECK-NEXT:    movl -4(%rbp), %eax
38 ; CHECK-NEXT:    movq %rbp, %rsp
39 ; CHECK-NEXT:    popq %rbp
40 ; CHECK-NEXT:    .cfi_def_cfa %rsp, 8
41 ; CHECK-NEXT:    retq
42 entry:
43   %size = alloca i32, align 4
44   %g = alloca i32, align 4
45   store volatile i32 4, ptr %size, align 4
46   store volatile i32 5, ptr %g, align 4
47   %len = load volatile i32, ptr %size, align 4
48   %var_array = alloca i8, i32 %len, align 16
49   store i32 1, ptr %var_array, align 16
50   call void asm "nop", "{ebp},~{memory}"(i32 123)
51   %retval = load i32, ptr %g, align 4
52   ret i32 %retval