1// RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s
2// CHECK-LABEL: define i32 @f0
3// CHECK:   ret i32 1
4// CHECK-LABEL: define i32 @f1
5// CHECK:   ret i32 1
6// CHECK-LABEL: define i32 @f2
7// CHECK:   ret i32 1
8// <rdr://6115726>
9
10int f0() {
11  int x;
12  unsigned short n = 1;
13  int *a = &x;
14  int *b = &x;
15  a = a - n;
16  b -= n;
17  return a == b;
18}
19
20int f1(int *a) {
21  long b = a - (int*) 1;
22  a -= (int*) 1;
23  return b == (long) a;
24}
25
26int f2(long n) {
27  int *b = n + (int*) 1;
28  n += (int*) 1;
29  return b == (int*) n;
30}
31
32