[patch cygwin]: Replace inline-assembler in string.h by C implementation

Ryan Johnson ryan.johnson@cs.utoronto.ca
Wed Oct 24 15:07:00 GMT 2012


On 24/10/2012 5:16 AM, Kai Tietz wrote:
> Hello,
>
> this patch replaces the inline-assember used in string.h by C implementation.
> There are three reasons why I want to suggest this.  First, the C-code might
> be optimized further by fixed (constant) arguments.  Secondly, it is
> architecture
> independent and so we just need to maintain on code-path.  And as
> third point, by
> inspecting generated assembly code produced by compiler out of C code
> vs. inline-assembler
> it shows that compiler produces better code.  It handles
> jump-threading better, and also
> improves average executed instructions.
Devil's advocate: better-looking code isn't always faster code.

However, I'm surprised that code was inline asm in the first place -- no 
special instructions or unusual control flow -- and would not be at all 
surprised if the compiler does a better job.

Also, the portability issue is relevant now that cygwin is starting the 
move toward 64-bit support.

$0.02
Ryan



More information about the Cygwin-patches mailing list