4 # original PCREL_OPT definition, with second insn immediately after first
6 .reloc .-8,R_PPC64_PCREL_OPT,0
9 # but we now allow an offset to the second insn
11 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
15 # in fact, it can even be before the "first" insn
18 .reloc .-8,R_PPC64_PCREL_OPT,0b-(.-8)
21 # and of course, other local labels work
23 .reloc .-8,R_PPC64_PCREL_OPT,.L1-(.-8)
27 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
31 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
35 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
39 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
43 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
47 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
51 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
55 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
59 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
63 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
67 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
71 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
75 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
79 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
83 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
87 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
91 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
95 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
99 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
103 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
106 #offsets are allowed too
110 .reloc 0b-8,R_PPC64_PCREL_OPT,(.-4)-(0b-8)
112 #and prefix insns as the second insn
116 .reloc 0b-8,R_PPC64_PCREL_OPT,(.-8)-(0b-8)
118 # This should not optimize
122 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
125 # and this should edit from GOT indirect to GOT relative
126 # ie. change the pld to paddi, leaving the lbz as is.
131 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
135 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
139 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)
143 .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8)