In message <[email protected]> [email protected] wrote: > "orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
vs > "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ > > You can find the number of arguments to "orr" is different. The original ARM assembler format used the 3 register form. The thumb instruction set is more tightly constrained, and insists that the destination and first source register are the same. Some bright spark decided it'd be a jolly good wheeze to have a single instruction set that worked on both, so in newer versions of assemblers: ORR %0, %2, lsl #16 will actually expand out to: ORR %0, %0, %2, lsl #16 at assembly time. I have no clue why you'd ever want to do that though. Just expand it out for yourself and you should be fine with all versions of the tools. The patch looks fine to me. HTH. Robin -- Robin Watts, Email: <mailto:[email protected]> Warm Silence Software, WWW: <http://www.wss.co.uk/> P.O.Box 28, Woodstock, Tel: 01608 737172 (or Mobile: 07885 487642) Oxfordshire, OX20 1XX Fax: 01608 737172 _______________________________________________ Freetype mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/freetype
