On 22 May 2011 17:55, Blue Swirl <blauwir...@gmail.com> wrote: > For ARM, the handcrafted instructions below need to be changed to save also > r7: > /* stmdb sp!, { r4 - r6, r8 - r11, lr } */ > tcg_out32(s, (COND_AL << 28) | 0x092d4f70); > > /* ldmia sp!, { r4 - r6, r8 - r11, pc } */ > tcg_out32(s, (COND_AL << 28) | 0x08bd8f70);
That would be ...ff0 rather than ...f70 in both cases (bottom 16 bits are a bit map of registers being saved/loaded): /* stmdb sp!, { r4 - r11, lr } */ tcg_out32(s, (COND_AL << 28) | 0x092d4ff0); /* ldmia sp!, { r4 - r11, pc } */ tcg_out32(s, (COND_AL << 28) | 0x08bd8ff0); -- PMM