[Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment
[llvm-core.git] / test / CodeGen / X86 / x86-flags-intrinsics.ll
blobe2233aec22c7c49abaadcc5941bce82d4e3e6122
1 ; RUN: llc -verify-machineinstrs < %s | FileCheck %s
2 target triple = "i686-pc-win32"
4 declare i32 @llvm.x86.flags.read.u32()
5 declare void @llvm.x86.flags.write.u32(i32)
7 define i32 @read_flags() {
8 entry:
9   %flags = call i32 @llvm.x86.flags.read.u32()
10   ret i32 %flags
13 ; CHECK-LABEL: _read_flags:
14 ; CHECK:      pushl   %ebp
15 ; CHECK-NEXT: movl    %esp, %ebp
16 ; CHECK-NEXT: pushfl
17 ; CHECK-NEXT: popl    %eax
18 ; CHECK-NEXT: popl    %ebp
20 define x86_fastcallcc void @write_flags(i32 inreg %arg) {
21 entry:
22   call void @llvm.x86.flags.write.u32(i32 %arg)
23   ret void
26 ; CHECK-LABEL: @write_flags@4:
27 ; CHECK:      pushl   %ebp
28 ; CHECK-NEXT: movl    %esp, %ebp
29 ; CHECK-NEXT: pushl   %ecx
30 ; CHECK-NEXT: popfl
31 ; CHECK-NEXT: popl    %ebp