grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Optimise memset on i386


From: address@hidden
Subject: Re: [PATCH] Optimise memset on i386
Date: Fri, 23 Jul 2010 10:56:24 -0500

[snip] 
+      unsigned long patternl = 0;
+      grub_size_t i;
+
+      for (i = 0; i < sizeof (unsigned long); i++)
+       patternl |= ((unsigned long) pattern8) << (8 * i);
+

might I suggest:

unsigned long patternl = pattern8; 
patternl |= patternl << 8;
patternl |= patternl << 16;
patternl |= patternl << 32;
patternl |= patternl << 64;

O(lg N) instead of O(N), no loop, no branches, and the compiler should be smart enough to optimize away the last two lines on systems with narrower long.

reply via email to

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