xref: /aosp_15_r20/external/llvm/test/CodeGen/Hexagon/absimm.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=hexagon < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; Check that we generate absolute addressing mode instructions
3*9880d681SAndroid Build Coastguard Worker; with immediate value.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine i32 @f1(i32 %i) nounwind {
6*9880d681SAndroid Build Coastguard Worker; CHECK: memw(##786432){{ *}}={{ *}}r{{[0-9]+}}
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker  store volatile i32 %i, i32* inttoptr (i32 786432 to i32*), align 262144
9*9880d681SAndroid Build Coastguard Worker  ret i32 %i
10*9880d681SAndroid Build Coastguard Worker}
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine i32* @f2(i32* nocapture %i) nounwind {
13*9880d681SAndroid Build Coastguard Workerentry:
14*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}}{{ *}}={{ *}}memw(##786432)
15*9880d681SAndroid Build Coastguard Worker  %0 = load volatile i32, i32* inttoptr (i32 786432 to i32*), align 262144
16*9880d681SAndroid Build Coastguard Worker  %1 = inttoptr i32 %0 to i32*
17*9880d681SAndroid Build Coastguard Worker  ret i32* %1
18*9880d681SAndroid Build Coastguard Worker  }
19