Marek Safar wrote:
> Thanks to Paulo's recommendations here is the
> updated version of my original patch.
...
> +                             while (ptr != end_ptr) {
> +                                     if (*ptr == value_32)
> +                                             return (int)(ptr - start);
> +                                     if (ptr[1] == value_32)
> +                                             return (int)(ptr - start + 1);
> +                                     if (ptr[2] == value_32)
> +                                             return (int)(ptr - start + 2);
> +                                     if (ptr[3] == value_32)
> +                                             return (int)(ptr - start + 3);
> +                                     if (ptr[4] == value_32)
> +                                             return (int)(ptr - start + 4);
> +                                     if (ptr[5] == value_32)
> +                                             return (int)(ptr - start + 5);
> +                                     if (ptr[6] == value_32)
> +                                             return (int)(ptr - start + 6);
> +                                     if (ptr[7] == value_32)
> +                                             return (int)(ptr - start + 7);
> +
> +                                     ptr += 8;
> +                             }

Can't we get mcs to optimize loops like this rather than putting it in
code?  (Am I right in understanding this as eliminating 7/8ths of the
addition operations?)

-- 
- Josh Tauberer

http://razor.occams.info

"Yields falsehood when preceded by its quotation!  Yields
falsehood when preceded by its quotation!" Achilles to
Tortoise (in "Gödel, Escher, Bach" by Douglas Hofstadter)
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to