xref: /aosp_15_r20/external/llvm/test/MC/PowerPC/ppc64-fixup-apply.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker
2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \
3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -s -sd | FileCheck -check-prefix=CHECK -check-prefix=CHECK-BE %s
4*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \
5*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -s -sd | FileCheck -check-prefix=CHECK -check-prefix=CHECK-LE %s
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker# This checks that fixups that can be resolved within the same
8*9880d681SAndroid Build Coastguard Worker# object file are applied correctly.
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker.text
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target
13*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker.set target, 0x1234
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workersubi 1, 1, -target2@l
18*9880d681SAndroid Build Coastguard Workersubis 1, 1, -target2@ha
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker.set target2, 0x12345678
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target3-target4@l
23*9880d681SAndroid Build Coastguard Workersubis 1, 1, target4-target3@ha
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker.set target3, 0x23455678
26*9880d681SAndroid Build Coastguard Worker.set target4, 0x12341234
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target5+0x8000@l
29*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target5+0x8000@ha
30*9880d681SAndroid Build Coastguard Workerori 1, 1, target5+0x8000@l
31*9880d681SAndroid Build Coastguard Workeroris 1, 1, target5+0x8000@ha
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker.set target5, 0x10000001
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker1:
36*9880d681SAndroid Build Coastguard Workeraddi 1, 1, 2f-1b@l
37*9880d681SAndroid Build Coastguard Workeraddis 1, 1, 1b-2f@ha
38*9880d681SAndroid Build Coastguard Worker2:
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target6@h
41*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target6@h
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker.set target6, 0x4321fedc
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target7@higher
46*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target7@highest
47*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target7@highera
48*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target7@highesta
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker.set target7, 0x1234ffffffff8000
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker.data
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Worker.quad v1
55*9880d681SAndroid Build Coastguard Worker.long v2
56*9880d681SAndroid Build Coastguard Worker.short v3
57*9880d681SAndroid Build Coastguard Worker.byte v4
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker.set v1, 0x123456789abcdef0
60*9880d681SAndroid Build Coastguard Worker.set v2, 0x87654321
61*9880d681SAndroid Build Coastguard Worker.set v3, 0xbeef
62*9880d681SAndroid Build Coastguard Worker.set v4, 0x42
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker# CHECK:       Section {
65*9880d681SAndroid Build Coastguard Worker# CHECK:         Name: .text
66*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Type: SHT_PROGBITS
67*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Flags [
68*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:      SHF_ALLOC
69*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:      SHF_EXECINSTR
70*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    ]
71*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Address: 0x0
72*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Offset:
73*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Size: 72
74*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Link: 0
75*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    Info: 0
76*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    AddressAlignment: 4
77*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    EntrySize: 0
78*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    SectionData (
79*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:   0000: 38211234 3C211234 38215678 3C211234
80*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:   0000: 34122138 3412213C 78562138 3412213C
81*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:   0010: 38214444 3C211111 38218001 3C211001
82*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:   0010: 44442138 1111213C 01802138 0110213C
83*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:   0020: 60218001 64211001 38210008 3C210000
84*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:   0020: 01802160 01102164 08002138 0000213C
85*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:   0030: 38214321 3C214321 3821FFFF 3C211234
86*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:   0030: 21432138 2143213C FFFF2138 3412213C
87*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:   0040: 38210000 3C211235
88*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:   0040: 00002138 3512213C
89*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:    )
90*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:  }
91*9880d681SAndroid Build Coastguard Worker
92*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
93*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: .data
94*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Type: SHT_PROGBITS
95*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Flags [
96*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       SHF_ALLOC
97*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       SHF_WRITE
98*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     ]
99*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Address: 0x0
100*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Offset:
101*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Size: 15
102*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Link: 0
103*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Info: 0
104*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     AddressAlignment:
105*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     EntrySize: 0
106*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     SectionData (
107*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:    0000: 12345678 9ABCDEF0 87654321 BEEF42
108*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:    0000: F0DEBC9A 78563412 21436587 EFBE42
109*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     )
110*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:   }
111*9880d681SAndroid Build Coastguard Worker
112