freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft] Re: Fw: Compile Error use arm-linux-gcc3.4.1


From: Robin Watts
Subject: Re: [ft] Re: Fw: Compile Error use arm-linux-gcc3.4.1
Date: Sun, 16 Jan 2011 00:55:49 GMT
User-agent: Messenger-Pro/2.62 (MsgServe/2.05) (RISC-OS/4.34) POPstar/2.03

In message <address@hidden>
          address@hidden 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:address@hidden>
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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]