blob: 127957942bca959960625162ac957fee489df2aa [file] [log] [blame]
Duncan Sands9d32f602011-01-20 13:21:55 +00001; RUN: opt < %s -instsimplify -S | FileCheck %s
2target datalayout = "p:32:32"
3
4define i1 @ptrtoint() {
5; CHECK: @ptrtoint
6 %a = alloca i8
7 %tmp = ptrtoint i8* %a to i32
8 %r = icmp eq i32 %tmp, 0
9 ret i1 %r
10; CHECK: ret i1 false
11}
12
13define i1 @zext(i32 %x) {
14; CHECK: @zext
15 %e1 = zext i32 %x to i64
16 %e2 = zext i32 %x to i64
17 %r = icmp eq i64 %e1, %e2
18 ret i1 %r
19; CHECK: ret i1 true
20}
21
22define i1 @zext2(i1 %x) {
23; CHECK: @zext2
24 %e = zext i1 %x to i32
25 %c = icmp ne i32 %e, 0
26 ret i1 %c
27; CHECK: ret i1 %x
28}
29
30define i1 @sext(i32 %x) {
31; CHECK: @sext
32 %e1 = sext i32 %x to i64
33 %e2 = sext i32 %x to i64
34 %r = icmp eq i64 %e1, %e2
35 ret i1 %r
36; CHECK: ret i1 true
37}
38
39define i1 @sext2(i1 %x) {
40; CHECK: @sext2
41 %e = sext i1 %x to i32
42 %c = icmp ne i32 %e, 0
43 ret i1 %c
44; CHECK: ret i1 %x
45}