This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [arm] Improve longlong.h umul_ppmm, count_trailing_zeros


On 01/02/12 13:23, Richard Earnshaw wrote:
> On 31/01/12 05:15, Richard Henderson wrote:
>> Despite how trivial this is, I assume this must wait for stage1.
>> Ok?
>>
>>
>> r~
>>
>>
>> 	* longlong.h [arm] (umul_ppmm): Use umull.
>> 	[arm] (count_trailing_zeros): Use __builtin_ctz.
> 
> armv3m also has the widening multiply operation (it's what the M stands
> for).
> 
> Otherwise ok for stage1
> 

And it's a good job we did.  I've just noticed that it's broken thumb1
builds of libgcc.

00000000 <__ctzsi2>:
   0:   b508            push    {r3, lr}
   2:   f7ff fffe       bl      0 <__ctzsi2>
                        2: R_ARM_THM_CALL       __ctzsi2
   6:   bc08            pop     {r3}
   8:   bc02            pop     {r1}
   a:   4708            bx      r1

R.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]