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
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:
	lwz	%r3, 8(%r1)
	lwz	%r4, 12(%r1)
#ifdef OF_PIC
	lwz	%r0, .Lgot_of_method_not_found-.Lbiased_got2(%r30)
	lwz	%r3, .Lgot_of_method_not_found-.Lbiased_got2(%r30)
#else
	lis	%r0, of_method_not_found@ha
	addi	%r0, %r0, of_method_not_found@l
	lis	%r3, of_method_not_found@ha
	addi	%r3, %r3, of_method_not_found@l
#endif
	mtctr	%r0
	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
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	%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