xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/plt-relative-reloc.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=armv7-unknown-linux -o - %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@vtable = constant [4 x i32] [i32 0,
4*9880d681SAndroid Build Coastguard Worker    i32 sub (i32 ptrtoint (void ()* @fn1 to i32), i32 ptrtoint (i32* getelementptr ([4 x i32], [4 x i32]* @vtable, i32 0, i32 1) to i32)),
5*9880d681SAndroid Build Coastguard Worker    i32 sub (i32 ptrtoint (void ()* @fn2 to i32), i32 ptrtoint (i32* getelementptr ([4 x i32], [4 x i32]* @vtable, i32 0, i32 1) to i32)),
6*9880d681SAndroid Build Coastguard Worker    i32 sub (i32 ptrtoint (void ()* @fn3 to i32), i32 ptrtoint (i32* getelementptr ([4 x i32], [4 x i32]* @vtable, i32 0, i32 1) to i32))
7*9880d681SAndroid Build Coastguard Worker]
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdeclare void @fn1() unnamed_addr
10*9880d681SAndroid Build Coastguard Workerdeclare void @fn2() unnamed_addr
11*9880d681SAndroid Build Coastguard Workerdeclare void @fn3()
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker; CHECK: .long 0
14*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .long (fn1(prel31)-vtable)-4
15*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .long (fn2(prel31)-vtable)-4
16*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .long (fn3-vtable)-4
17