brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 70ee7e5 Raw
47 lines · plain
1; RUN: llc < %s -stack-symbol-ordering=0 -mcpu=generic -stackrealign -mattr=+avx -mtriple=x86_64-apple-darwin10 | FileCheck %s2; rdar://114964343declare void @t1_helper(ptr)4declare void @t3_helper(ptr, ptr)5 6; Test when forcing stack alignment7define i32 @t8() nounwind uwtable {8entry:9  %a = alloca i32, align 410  call void @t1_helper(ptr %a) nounwind11  %0 = load i32, ptr %a, align 412  %add = add nsw i32 %0, 1313  ret i32 %add14 15; CHECK: _t816; CHECK:      movq %rsp, %rbp17; CHECK:      andq $-32, %rsp18; CHECK-NEXT: subq $32, %rsp19; CHECK:      movq %rbp, %rsp20; CHECK:      popq %rbp21}22 23; VLAs24define i32 @t9(i64 %sz) nounwind uwtable {25entry:26  %a = alloca i32, align 427  %vla = alloca i32, i64 %sz, align 1628  call void @t3_helper(ptr %a, ptr %vla) nounwind29  %0 = load i32, ptr %a, align 430  %add = add nsw i32 %0, 1331  ret i32 %add32 33; CHECK: _t934; CHECK: pushq %rbp35; CHECK: movq %rsp, %rbp36; CHECK: pushq %rbx37; CHECK: andq $-32, %rsp38; CHECK: subq $32, %rsp39; CHECK: movq %rsp, %rbx40 41; CHECK: leaq -8(%rbp), %rsp42; CHECK: popq %rbx43; CHECK: popq %rbp44}45!llvm.module.flags = !{!0}46!0 = !{i32 2, !"override-stack-alignment", i32 32}47