1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -passes=instsimplify -S < %s | FileCheck %s
3
4define i1 @bitcast() {
5; CHECK-LABEL: @bitcast(
6; CHECK-NEXT:    ret i1 false
7;
8  %a = alloca i32
9  %b = alloca i64
10  %y = call ptr @func1(ptr %b)
11  %cmp = icmp eq ptr %a, %y
12  ret i1 %cmp
13}
14
15%gept = type { i32, i32 }
16
17define i1 @gep3() {
18; CHECK-LABEL: @gep3(
19; CHECK-NEXT:    ret i1 false
20;
21  %x = alloca %gept, align 8
22  %y = call ptr @func2(ptr %x)
23  %b = getelementptr %gept, ptr %y, i64 0, i32 1
24  %equal = icmp eq ptr %x, %b
25  ret i1 %equal
26}
27
28declare ptr @func1(ptr returned) nounwind readnone willreturn
29declare ptr @func2(ptr returned) nounwind readnone willreturn
30
31