xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/static-addr-hoisting.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=thumbv7-apple-ios %s -o -  | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine void @multiple_store() {
4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: multiple_store:
5*9880d681SAndroid Build Coastguard Worker; CHECK: movw r[[BASE1:[0-9]+]], #16960
6*9880d681SAndroid Build Coastguard Worker; CHECK: movs [[VAL:r[0-9]+]], #42
7*9880d681SAndroid Build Coastguard Worker; CHECK: movt r[[BASE1]], #15
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker; CHECK: str [[VAL]], [r[[BASE1]]]
10*9880d681SAndroid Build Coastguard Worker; CHECK: str [[VAL]], [r[[BASE1]], #24]
11*9880d681SAndroid Build Coastguard Worker; CHECK: str.w [[VAL]], [r[[BASE1]], #42]
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker; CHECK: movw r[[BASE2:[0-9]+]], #20394
14*9880d681SAndroid Build Coastguard Worker; CHECK: movt r[[BASE2]], #18
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker; CHECK: str [[VAL]], [r[[BASE2]]]
17*9880d681SAndroid Build Coastguard Worker  store i32 42, i32* inttoptr(i32 1000000 to i32*)
18*9880d681SAndroid Build Coastguard Worker  store i32 42, i32* inttoptr(i32 1000024 to i32*)
19*9880d681SAndroid Build Coastguard Worker  store i32 42, i32* inttoptr(i32 1000042 to i32*)
20*9880d681SAndroid Build Coastguard Worker  store i32 42, i32* inttoptr(i32 1200042 to i32*)
21*9880d681SAndroid Build Coastguard Worker  ret void
22*9880d681SAndroid Build Coastguard Worker}
23