|  | ; RUN: llc < %s -march=x86-64 -mtriple=i686-pc-linux -enable-misched=false | FileCheck %s | 
|  | ; RUN: llc < %s -march=x86-64 -mtriple=x86_64-pc-linux-gnux32 -enable-misched=false | FileCheck %s -check-prefix=X32ABI | 
|  |  | 
|  | declare void @bar(<2 x i64>* %n) | 
|  |  | 
|  | define void @foo(i64 %h) { | 
|  | %p = alloca <2 x i64>, i64 %h | 
|  | call void @bar(<2 x i64>* %p) | 
|  | ret void | 
|  | ; CHECK-LABEL: foo | 
|  | ; CHECK-NOT: andq $-32, %rax | 
|  | ; X32ABI-LABEL: foo | 
|  | ; X32ABI-NOT: andl $-32, %eax | 
|  | } | 
|  |  | 
|  | define void @foo2(i64 %h) { | 
|  | %p = alloca <2 x i64>, i64 %h, align 32 | 
|  | call void @bar(<2 x i64>* %p) | 
|  | ret void | 
|  | ; CHECK-LABEL: foo2 | 
|  | ; CHECK: andq $-32, %rsp | 
|  | ; CHECK: andq $-32, %rax | 
|  | ; X32ABI-LABEL: foo2 | 
|  | ; X32ABI: andl $-32, %esp | 
|  | ; X32ABI: andl $-32, %eax | 
|  | } | 
|  |  | 
|  | define void @foo3(i64 %h) { | 
|  | %p = alloca <2 x i64>, i64 %h | 
|  | ret void | 
|  | ; CHECK-LABEL: foo3 | 
|  | ; CHECK: movq %rbp, %rsp | 
|  | ; X32ABI-LABEL: foo3 | 
|  | ; X32ABI: movl %ebp, %esp | 
|  | } |