Mercurial > hg > CbC > CbC_llvm
comparison test/Transforms/InstCombine/toascii-1.ll @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:95c75e76d11b |
---|---|
1 ; Test that the toascii library call simplifier works correctly. | |
2 ; | |
3 ; RUN: opt < %s -instcombine -S | FileCheck %s | |
4 | |
5 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" | |
6 | |
7 declare i32 @toascii(i32) | |
8 | |
9 ; Check isascii(c) -> c & 0x7f. | |
10 | |
11 define i32 @test_simplify1() { | |
12 ; CHECK-LABEL: @test_simplify1( | |
13 %ret = call i32 @toascii(i32 0) | |
14 ret i32 %ret | |
15 ; CHECK-NEXT: ret i32 0 | |
16 } | |
17 | |
18 define i32 @test_simplify2() { | |
19 ; CHECK-LABEL: @test_simplify2( | |
20 %ret = call i32 @toascii(i32 1) | |
21 ret i32 %ret | |
22 ; CHECK-NEXT: ret i32 1 | |
23 } | |
24 | |
25 define i32 @test_simplify3() { | |
26 ; CHECK-LABEL: @test_simplify3( | |
27 %ret = call i32 @toascii(i32 127) | |
28 ret i32 %ret | |
29 ; CHECK-NEXT: ret i32 127 | |
30 } | |
31 | |
32 define i32 @test_simplify4() { | |
33 ; CHECK-LABEL: @test_simplify4( | |
34 %ret = call i32 @toascii(i32 128) | |
35 ret i32 %ret | |
36 ; CHECK-NEXT: ret i32 0 | |
37 } | |
38 | |
39 define i32 @test_simplify5() { | |
40 ; CHECK-LABEL: @test_simplify5( | |
41 %ret = call i32 @toascii(i32 255) | |
42 ret i32 %ret | |
43 ; CHECK-NEXT: ret i32 127 | |
44 } | |
45 | |
46 define i32 @test_simplify6() { | |
47 ; CHECK-LABEL: @test_simplify6( | |
48 %ret = call i32 @toascii(i32 256) | |
49 ret i32 %ret | |
50 ; CHECK-NEXT: ret i32 0 | |
51 } | |
52 | |
53 define i32 @test_simplify7(i32 %x) { | |
54 ; CHECK-LABEL: @test_simplify7( | |
55 %ret = call i32 @toascii(i32 %x) | |
56 ; CHECK-NEXT: [[AND:%[a-z0-9]+]] = and i32 %x, 127 | |
57 ret i32 %ret | |
58 ; CHECK-NEXT: ret i32 [[AND]] | |
59 } |