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"
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
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
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