qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10)


From: Nikunj A Dadhania
Subject: Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10)
Date: Mon, 24 Apr 2017 16:27:04 +0530
User-agent: Notmuch/0.23.5 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-redhat-linux-gnu)

Nikunj A Dadhania <address@hidden> writes:

>>>
>>>
>>> ./configure --cc=clang --host-cc=clang  --target-list=ppc64-softmmu
>>
>> Ah!  This is good information to have.  Let's see if one of the sanitizers 
>> or 
>> valgrind can spot the error or miscompilation...
>
> Some interesting code generated for stdcx.:
>
>     0x0000000030012624:  stdcx.  r0,0,r3
>
> With code compiled using GCC
>      ---- 0000000030012624
>      [...]
>      call raise_exception_err,$0x20,$0,env,tmp0,tmp1
>      set_label $L1
>      brcond_i64 loc4,reserve_addr,ne,$L2
>      movi_i32 tmp0,$0x7b7
>      call 
> atomic_cmpxchgq_be,$0x20,$1,tmp2,env,reserve_addr,reserve_val,r0,tmp0
>      setcond_i64 tmp2,tmp2,reserve_val,eq
>      [...]
>      
> With code compiled using clang
>      ---- 0000000030012624
>      [...]
>      call raise_exception_err,$0x20,$0,env,tmp0,tmp1
>      set_label $L1
>      brcond_i64 loc4,reserve_addr,ne,$L2
>      call exit_atomic,$0x20,$0,env
>      setcond_i64 tmp2,tmp2,reserve_val,eq
>      [...]
>
> In case of clang, movi_i32 and atomic_cmpxchgq_be is missing, and I see
> a call to exit_atomic.

And that is because CONFIG_ATOMIC64 is not defined while using clang !

Regards
Nikunj




reply via email to

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