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

Reply via email to