Re: __sync_bool_compare_and_swap

2007-01-05 Thread Magnus Fromreide
On fre, 2007-01-05 at 12:53 -0800, H. J. Lu wrote: > On Fri, Jan 05, 2007 at 09:27:35PM +0100, Magnus Fromreide wrote: > > On fre, 2007-01-05 at 17:05 +, Andrew Haley wrote: > > > Magnus Fromreide writes: > > > > > > But it can't unless you use an architecture that has cmpxchgl. > > > cmpxchgl

Re: __sync_bool_compare_and_swap

2007-01-05 Thread H. J. Lu
On Fri, Jan 05, 2007 at 09:27:35PM +0100, Magnus Fromreide wrote: > On fre, 2007-01-05 at 17:05 +, Andrew Haley wrote: > > Magnus Fromreide writes: > > > > But it can't unless you use an architecture that has cmpxchgl. > > cmpxchgl is a 486 instruction; if you compile for 386, we have to > > g

Re: __sync_bool_compare_and_swap

2007-01-05 Thread Magnus Fromreide
On fre, 2007-01-05 at 17:05 +, Andrew Haley wrote: > Magnus Fromreide writes: > > But it can't unless you use an architecture that has cmpxchgl. > cmpxchgl is a 486 instruction; if you compile for 386, we have to > generate the call because there is no such instruction. Sigh - I failed to tel

Re: __sync_bool_compare_and_swap

2007-01-05 Thread Daniel Jacobowitz
On Fri, Jan 05, 2007 at 05:05:41PM +, Andrew Haley wrote: > But it can't unless you use an architecture that has cmpxchgl. > cmpxchgl is a 486 instruction; if you compile for 386, we have to > generate the call because there is no such instruction. And the older compiler was a Debian packaged

Re: __sync_bool_compare_and_swap

2007-01-05 Thread Andrew Haley
Magnus Fromreide writes: > I got so happy when __sync_bool_compare_and_swap showed up in 4.1 but > now HEAD have changed the behaviour for me. > > Earlier I got (gcc version 4.1.2 20061028 (prerelease) (Debian > 4.1.1-19)) (Yes, vendor version, but gcc.gnu.org versio

__sync_bool_compare_and_swap

2007-01-05 Thread Magnus Fromreide
I got so happy when __sync_bool_compare_and_swap showed up in 4.1 but now HEAD have changed the behaviour for me. Earlier I got (gcc version 4.1.2 20061028 (prerelease) (Debian 4.1.1-19)) (Yes, vendor version, but gcc.gnu.org versions did the same) lock cmpxchgl%edx