57 lines · plain
1# REQUIRES: ppc2# RUN: llvm-mc -filetype=obj -triple=powerpc64le %s -o %t.o3# RUN: ld.lld %t.o -o %t4# RUN: llvm-readelf -s %t | FileCheck %s --check-prefix=SYMBOL5# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s6 7# RUN: llvm-mc -filetype=obj -triple=powerpc64 %s -o %t.o8# RUN: ld.lld %t.o -o %t9# RUN: llvm-readelf -s %t | FileCheck %s --check-prefix=SYMBOL10# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s11 12## This test checks the LLD implementation of the Local Exec TLS model13## when using prefixed instructions like paddi.14 15# SYMBOL: Symbol table '.symtab' contains 6 entries:16# SYMBOL: 0000000000000000 0 TLS LOCAL DEFAULT 2 x17# SYMBOL-NEXT: 0000000000000004 0 TLS LOCAL DEFAULT 2 y18# SYMBOL-NEXT: 0000000000000008 0 TLS LOCAL DEFAULT 2 z19 20# CHECK-LABEL: <LocalExecAddr>:21# CHECK: paddi 3, 13, -28672, 022# CHECK-NEXT: paddi 3, 13, -28668, 023# CHECK-NEXT: paddi 3, 13, -28652, 024# CHECK-NEXT: blr25 26# CHECK-LABEL: <LocalExecVal>:27# CHECK: paddi 3, 13, -28672, 028# CHECK-NEXT: lwz 3, 0(3)29# CHECK-NEXT: paddi 3, 13, -28668, 030# CHECK-NEXT: lwz 3, 0(3)31# CHECK-NEXT: paddi 3, 13, -28652, 032# CHECK-NEXT: lwz 3, 0(3)33# CHECK-NEXT: blr34 35LocalExecAddr:36 paddi 3, 13, x@TPREL, 037 paddi 3, 13, y@TPREL, 038 paddi 3, 13, z@TPREL+12, 039 blr40 41LocalExecVal:42 paddi 3, 13, x@TPREL, 043 lwz 3, 0(3)44 paddi 3, 13, y@TPREL, 045 lwz 3, 0(3)46 paddi 3, 13, z@TPREL+12, 047 lwz 3, 0(3)48 blr49 50.section .tbss, "awT", @nobits51x:52 .long 053y:54 .long 055z:56 .space 2057