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

Re: [Xen-devel] [PATCH] arm32: fix build after 063188f4b3



>>> On 10.10.14 at 19:03, <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> On Fri, 10 Oct 2014, Jan Beulich wrote:
>> >>> On 10.10.14 at 16:32, <stefano.stabellini@xxxxxxxxxxxxx> wrote:
>> > I would appreciate if Jan could post the assembly he is getting.
>> 
>> Here you go:
>> 
>>      .type   exynos_smc.constprop.1, %function
>> exynos_smc.constprop.1:
>> .LFB277:
>>      .loc 1 40 0
>>      .cfi_startproc
>>      @ args = 0, pretend = 0, frame = 0
>>      @ frame_needed = 0, uses_anonymous_args = 0
>>      @ link register save eliminated.
>> .LVL52:
>>      .loc 1 43 0
>>      mvn     r2, #3
>>      mov     r3, #0
> 
> That cannot be right: ~3 ends up in r2, while r2 should be 0.
> This doesn't look like an optimization: it looks like a bug.
> Am I missing something?

Yes - the asm() doesn't enforce the specific registers (and it can't
due to the lack of suitable constraints), and hence the compiler
is permitted to use other than the registers checked for in the
subsequent .if-s. It is the purpose of this patch to address this.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.