36 lines · plain
1; RUN: llc < %s -mtriple=x86_64-pc-linux -enable-misched=false | FileCheck %s2; RUN: llc < %s -mtriple=x86_64-pc-linux-gnux32 -enable-misched=false | FileCheck %s -check-prefix=X32ABI3 4declare void @bar(ptr %n)5 6define void @foo(i64 %h) {7 %p = alloca <2 x i64>, i64 %h8 call void @bar(ptr %p)9 ret void10; CHECK-LABEL: foo11; CHECK-NOT: andq $-32, %rax12; X32ABI-LABEL: foo13; X32ABI-NOT: andl $-32, %eax14}15 16define void @foo2(i64 %h) {17 %p = alloca <2 x i64>, i64 %h, align 3218 call void @bar(ptr %p)19 ret void20; CHECK-LABEL: foo221; CHECK: andq $-32, %rsp22; CHECK: andq $-32, %rax23; X32ABI-LABEL: foo224; X32ABI: andl $-32, %esp25; X32ABI: andl $-32, %eax26}27 28define void @foo3(i64 %h) {29 %p = alloca <2 x i64>, i64 %h30 ret void31; CHECK-LABEL: foo332; CHECK: movq %rbp, %rsp33; X32ABI-LABEL: foo334; X32ABI: movl %ebp, %esp35}36