I agree that mov instead of xchg is harmless since %ebx is overwrtten by
the very next instruction.
I am more concerned about dropping the input constraints in favor of "+a"
and "+c".
For a *correct* compiler that should be equivalent, but the reason we are
doing this is because some compilers are buggy.
If all compilers were correct then "=r" (or maybe "=&r"?) should have
worked.

So, I will see if I can retest the newer version on at least the compilers
that behaved oddly previously.

-Paul

On Tue, Jul 28, 2015 at 7:23 AM, Samuel Thibault <samuel.thiba...@inria.fr>
wrote:

> Brice Goglin, le Tue 28 Jul 2015 16:13:49 +0200, a écrit :
> > and your commit is slightly different: (s/xchg/mov/ and removed last
> line).
>
> xchg is spurious here, mov is enough.  I didn't remove the last line, I
> just kept the original source, which uses +a instead of =a and a.
>
> > FWIW, in master we don't have multiple inlining anymore (there's a
> > wrapper function calling this inline asm).
>
> You mean the cpuid_or_from_dump function?
>
> Samuel
> _______________________________________________
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
> Link to this post:
> http://www.open-mpi.org/community/lists/hwloc-devel/2015/07/4518.php
>



-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to