1; RUN: llc < %s -march=x86-64 -mtriple=i686-pc-linux -enable-misched=false | FileCheck %s 2; RUN: llc < %s -march=x86-64 -mtriple=x86_64-pc-linux-gnux32 -enable-misched=false | FileCheck %s -check-prefix=X32ABI 3 4declare void @bar(<2 x i64>* %n) 5 6define void @foo(i64 %h) { 7 %p = alloca <2 x i64>, i64 %h 8 call void @bar(<2 x i64>* %p) 9 ret void 10; CHECK-LABEL: foo 11; CHECK-NOT: andq $-32, %rax 12; X32ABI-LABEL: foo 13; X32ABI-NOT: andl $-32, %eax 14} 15 16define void @foo2(i64 %h) { 17 %p = alloca <2 x i64>, i64 %h, align 32 18 call void @bar(<2 x i64>* %p) 19 ret void 20; CHECK-LABEL: foo2 21; CHECK: andq $-32, %rsp 22; CHECK: andq $-32, %rax 23; X32ABI-LABEL: foo2 24; X32ABI: andl $-32, %esp 25; X32ABI: andl $-32, %eax 26} 27 28define void @foo3(i64 %h) { 29 %p = alloca <2 x i64>, i64 %h 30 ret void 31; CHECK-LABEL: foo3 32; CHECK: movq %rbp, %rsp 33; X32ABI-LABEL: foo3 34; X32ABI: movl %ebp, %esp 35} 36