ObjFW  Check-in [bacca956e5]

Overview
Comment:forwarding-powerpc-elf.S: Don't use %r0 as tmp reg

While it works with lwz, it will not work with lis and addi. The PIC
version could still use %r0, but it's easier to read when keeping it
consistent and is the same number of instructions.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: bacca956e5acbd84fe0cba1c96929d1306d2a796745e758bd67c1cca3e92c864
User & Date: js on 2020-11-22 22:11:46
Other Links: manifest | tags
Context
2020-11-23
23:43
forwarding-powerpc-elf.S: Non-PIC optimization check-in: 191b809f87 user: js tags: trunk
2020-11-22
22:11
forwarding-powerpc-elf.S: Don't use %r0 as tmp reg check-in: bacca956e5 user: js tags: trunk
22:05
forwarding-powerpc-elf.S: Use addi instead of ori check-in: 6f2c52cfac user: js tags: trunk
Changes

Modified src/forwarding/forwarding-powerpc-elf.S from [ebb7423642] to [e86bb88592].

135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150



151
152
153
154
155
156
157
#endif
	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112
	bctr

0:
	lwz	%r3, 8(%r1)
	lwz	%r4, 12(%r1)
#ifdef OF_PIC
	lwz	%r0, .Lgot_of_method_not_found-.Lbiased_got2(%r30)
#else
	lis	%r0, of_method_not_found@ha
	addi	%r0, %r0, of_method_not_found@l
#endif
	mtctr	%r0




#ifdef OF_PIC
	lwz	%r30, 104(%r1)
#endif
	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112







<
<

|

|
|

|
>
>
>







135
136
137
138
139
140
141


142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#endif
	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112
	bctr

0:


#ifdef OF_PIC
	lwz	%r3, .Lgot_of_method_not_found-.Lbiased_got2(%r30)
#else
	lis	%r3, of_method_not_found@ha
	addi	%r3, %r3, of_method_not_found@l
#endif
	mtctr	%r3

	lwz	%r3, 8(%r1)
	lwz	%r4, 12(%r1)

#ifdef OF_PIC
	lwz	%r30, 104(%r1)
#endif
	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112
270
271
272
273
274
275
276








277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293

	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112
	bctr

0:








	lwz	%r3, 8(%r1)
	lwz	%r4, 12(%r1)
	lwz	%r5, 16(%r1)
#ifdef OF_PIC
	lwz	%r0, .Lgot_of_method_not_found_stret-.Lbiased_got2(%r30)
#else
	lis	%r4, of_method_not_found_stret@ha
	addi	%r4, %r4, objc_msg_lookup_stret@l
#endif
	mtctr	%r0

#ifdef OF_PIC
	lwz	%r30, 104(%r1)
#endif
	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112







>
>
>
>
>
>
>
>



<
<
<
<
<
<
<







271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288







289
290
291
292
293
294
295

	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112
	bctr

0:
#ifdef OF_PIC
	lwz	%r3, .Lgot_of_method_not_found_stret-.Lbiased_got2(%r30)
#else
	lis	%r3, of_method_not_found_stret@ha
	addi	%r3, %r3, objc_msg_lookup_stret@l
#endif
	mtctr	%r3

	lwz	%r3, 8(%r1)
	lwz	%r4, 12(%r1)
	lwz	%r5, 16(%r1)








#ifdef OF_PIC
	lwz	%r30, 104(%r1)
#endif
	lwz	%r0, 116(%r1)
	mtlr	%r0
	addi	%r1, %r1, 112