[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / VE / Scalar / symbol_relocation.ll
blobc6a142f4fdd416e23a66507fc20099e78e89f81c
1 ; RUN: llc -filetype=obj -mtriple=ve -o - %s |  llvm-objdump - -d -r \
2 ; RUN:     | FileCheck %s
3 ; RUN: llc -filetype=obj -mtriple=ve -relocation-model=pic -o - %s \
4 ; RUN:     |  llvm-objdump - -d -r | FileCheck %s -check-prefix=PIC
6 ; CHECK:        lea %s0, 0
7 ; CHECK-NEXT:   R_VE_LO32 foo
8 ; CHECK-NEXT:   and %s0, %s0, (32)0
9 ; CHECK-NEXT:   lea.sl %s12, (, %s0)
10 ; CHECK-NEXT:   R_VE_HI32 foo
11 ; PIC:        lea %s15, (-24)
12 ; PIC-NEXT:   R_VE_PC_LO32 _GLOBAL_OFFSET_TABLE_
13 ; PIC-NEXT:   and %s15, %s15, (32)0
14 ; PIC-NEXT:   sic %s16
15 ; PIC-NEXT:   lea.sl %s15, (%s16, %s15)
16 ; PIC-NEXT:   R_VE_PC_HI32 _GLOBAL_OFFSET_TABLE_
17 ; PIC-NEXT:   lea %s12, (-24)
18 ; PIC-NEXT:   R_VE_PLT_LO32 foo
19 ; PIC-NEXT:   and %s12, %s12, (32)0
20 ; PIC-NEXT:   sic %s16
21 ; PIC-NEXT:   lea.sl %s12, (%s16, %s12)
22 ; PIC-NEXT:   R_VE_PLT_HI32 foo
24 define i32 @main() {
25 entry:
26   %call = call i32 @foo()
27   ret i32 %call
30 declare i32 @foo()