brintos

brintos / llvm-project-archived public Read only

0
0
Text · 825 B · 38866ce Raw
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