Differences From Artifact [ebb7423642]:
- File
src/forwarding/forwarding-powerpc-elf.S
— part of check-in
[6f2c52cfac]
at
2020-11-22 22:05:25
on branch trunk
— forwarding-powerpc-elf.S: Use addi instead of ori
Since we use @ha, we need to use addi, not ori (that would be for @h). (user: js, size: 6784) [annotate] [blame] [check-ins using]
To Artifact [e86bb88592]:
- File
src/forwarding/forwarding-powerpc-elf.S
— part of check-in
[bacca956e5]
at
2020-11-22 22:11:46
on branch trunk
— 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. (user: js, size: 6786) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
135 136 137 138 139 140 141 | #endif lwz %r0, 116(%r1) mtlr %r0 addi %r1, %r1, 112 bctr 0: | < < | | | | > > > | 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 | lwz %r0, 116(%r1) mtlr %r0 addi %r1, %r1, 112 bctr 0: lwz %r3, 8(%r1) lwz %r4, 12(%r1) lwz %r5, 16(%r1) | > > > > > > > > < < < < < < < | 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 |
︙ | ︙ |