Re: rdhi, rdlo and rm must all be different: say what??

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

 




On Wed, 12 Mar 2008 16:58:40 -0800, David Brownell <david-b@xxxxxxxxxxx>
wrote:
> I did a build for H4, using the CodeSourcery 2007q3-53 toolchain, and:
> 
>     CC      kernel/sched.o
>   /tmp/ccePvKYj.s: Assembler messages:
>   /tmp/ccePvKYj.s:16: rdhi, rdlo and rm must all be different
>   /tmp/ccePvKYj.s:1243: rdhi, rdlo and rm must all be different
> 
> The problem doesn't crop up with a build for OSK; different CPUs,
> presumably.  It turns out these are both umull instructions; if
> I "make kernel/sched.s" and build the result, the relevant lines
> have different numbers but match up as:
> 
>   sched_clock:
>   16:     umull   r0, r1, r0, r3  @ tmp136, jiffies.371, tmp137
> 
>   sched_slice:
>           ...
>   1243:   umull   r0, r1, r0, r2  @ slice.2262, slice,
> <variable>.load.weight
> 
> So this all looks suspiciously buglike.  Does anyone know how
> to fix this issue?  Is it really a problem?

It doesn't look like an issue:

UMULL rdlo, rdhi, rn, rm

rdlo and rdhi really must be different, but they are. Maybe CodeSourcery's
toolchain is complaining about r0 appearing twice (as rdlo and rn) but
that's
not really an issue. We can multipply r0 and r3 and place the result in r0
and r1.

Most likely to be gcc bug (or codesourcery's). Please, visit [1] for more
info.

[1] http://www.keil.com/support/man/docs/armasm/armasm_cihbjehg.htm

-- 
Best Regards,

Felipe Balbi
http://felipebalbi.com
me@xxxxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux