xref: /llvm-project/llvm/test/CodeGen/Generic/2014-02-05-OpaqueConstants.ll (revision 0e8bd5a44a1bd8034706189b49a7a816c59304cd)
1; Test that opaque constants are not creating an infinite DAGCombine loop
2; RUN: llc < %s
3; XFAIL: target=r600{{.*}}
4
5@a = common global ptr null, align 8
6@c = common global i32 0, align 4
7@b = common global ptr null, align 8
8
9; Function Attrs: nounwind ssp uwtable
10define void @fn() {
11  store ptr inttoptr (i64 68719476735 to ptr), ptr @a, align 8
12  %1 = load i32, ptr @c, align 4
13  %2 = sext i32 %1 to i64
14  %3 = lshr i64 %2, 12
15  %4 = and i64 %3, 68719476735
16  %5 = getelementptr inbounds i32, ptr null, i64 %4
17  store ptr %5, ptr @b, align 8
18  ret void
19}
20