|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] x86 string/memory inline functions
 
On 24 May 2006, at 09:55, Jan Beulich wrote:
 1) Why were the (questionable) inline versions from i386 Linux chosen 
over just using the gcc intrinsics (as x86-64
Linux does, except for a special case of memcpy())?
  
 Intrinsics are a total pain. Sometimes the compiler inlines, sometimes 
it doesn't. Sometimes it emits the __builtin_foo symbol, sometime it 
emits foo. Sometime when the function __builtin_foo is defined in 
string.c it gets the name __builtin_foo, but sometimes it gets the name 
foo. Getting this to work for a range of compiler versions on i386 
(that's where I see the wide range of behaviours) would be hassle.
 The best solution is just to remove the arch-specific definitions. None 
of the uses in Xen are performance critical.
 2) Why were the memory clobbers removed without at least replacing 
them with appropriate input constraints?
 
Maybe I was having a bad day. :-)
 -- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |