Mercurial > pub > dyncall > dyncall
comparison dyncall/dyncall_call_ppc32.S @ 357:d982a00c2177
- PPC64 asm syntax fix, specifying explicitly comparison mode for cmpi (newer toolchains complain, older ones took optional field of instruction which happened to be same value)
author | Tassilo Philipp |
---|---|
date | Tue, 25 Feb 2020 18:16:13 +0100 |
parents | c607d67cd6b8 |
children | f28b7f4f5749 |
comparison
equal
deleted
inserted
replaced
356:2f64957d6a46 | 357:d982a00c2177 |
---|---|
98 subi r6,r6,4 /* r6 = 4 bytes before source stack ptr */ | 98 subi r6,r6,4 /* r6 = 4 bytes before source stack ptr */ |
99 addi r7,r1,20 /* r7 = 4 bytes before target stack parameter-block */ | 99 addi r7,r1,20 /* r7 = 4 bytes before target stack parameter-block */ |
100 | 100 |
101 srwi r5,r5,2 /* r5 = size in words */ | 101 srwi r5,r5,2 /* r5 = size in words */ |
102 | 102 |
103 cmpi cr0,r5,0 /* if stacksize != 0 .. */ | 103 cmpi cr0,0,r5,0 /* if stacksize != 0 .. */ |
104 beq cr0,.osx_done | 104 beq cr0,.osx_done |
105 | 105 |
106 mtctr r5 /* copy loop */ | 106 mtctr r5 /* copy loop */ |
107 | 107 |
108 .osx_next: | 108 .osx_next: |
212 /* 4 bytes before target stack parameter-block */ | 212 /* 4 bytes before target stack parameter-block */ |
213 addi r7,r1,4 /* r7 = r1 + 8 offset - 4 displacement */ | 213 addi r7,r1,4 /* r7 = r1 + 8 offset - 4 displacement */ |
214 | 214 |
215 srwi r5,r5,2 /* r5 = size in words */ | 215 srwi r5,r5,2 /* r5 = size in words */ |
216 | 216 |
217 cmpi cr0,r5,0 /* if stacksize != 0 .. */ | 217 cmpi cr0,0,r5,0 /* if stacksize != 0 .. */ |
218 beq cr0,.sysv_done | 218 beq cr0,.sysv_done |
219 | 219 |
220 mtctr r5 /* copy loop */ | 220 mtctr r5 /* copy loop */ |
221 | 221 |
222 .sysv_next: | 222 .sysv_next: |