Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view test/CodeGen/X86/fast-isel-i1.ll @ 33:e4204d083e25
LLVM 3.5
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 14:32:10 +0900 |
parents | 95c75e76d11b |
children | afa8332a0e37 |
line wrap: on
line source
; RUN: llc < %s -mtriple=i686-apple-darwin10 -fast-isel -fast-isel-abort | FileCheck %s ; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -fast-isel -fast-isel-abort | FileCheck %s declare i32 @test1a(i32) define i32 @test1(i32 %x) nounwind { ; CHECK-LABEL: test1: ; CHECK: andb $1, % %y = add i32 %x, -3 %t = call i32 @test1a(i32 %y) %s = mul i32 %t, 77 %z = trunc i32 %s to i1 br label %next next: ; preds = %0 %u = zext i1 %z to i32 %v = add i32 %u, 1999 br label %exit exit: ; preds = %next ret i32 %v } define void @test2(i8* %a) nounwind { entry: ; CHECK-LABEL: test2: ; CHECK: movb {{.*}} %al ; CHECK-NEXT: xorb $1, %al ; CHECK-NEXT: testb $1 %tmp = load i8* %a, align 1 %tobool = trunc i8 %tmp to i1 %tobool2 = xor i1 %tobool, true br i1 %tobool2, label %if.then, label %if.end if.then: call void @test2(i8* null) br label %if.end if.end: ret void }