xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/arm64-big-imm-offsets.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=arm64 < %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; Make sure large offsets aren't mistaken for valid immediate offsets.
5*9880d681SAndroid Build Coastguard Worker; <rdar://problem/13190511>
6*9880d681SAndroid Build Coastguard Workerdefine void @f(i32* nocapture %p) {
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker  %a = ptrtoint i32* %p to i64
9*9880d681SAndroid Build Coastguard Worker  %ao = add i64 %a, 25769803792
10*9880d681SAndroid Build Coastguard Worker  %b = inttoptr i64 %ao to i32*
11*9880d681SAndroid Build Coastguard Worker  store volatile i32 0, i32* %b, align 4
12*9880d681SAndroid Build Coastguard Worker  store volatile i32 0, i32* %b, align 4
13*9880d681SAndroid Build Coastguard Worker  ret void
14*9880d681SAndroid Build Coastguard Worker}
15