<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:10.5pt;">
<div align="left" style="text-align:justify;">Hi, CAIRO_BITSWAP8 costs seven operations on a 32 bit machine, but it can be</div>
<div align="left" style="text-align:justify;">done with only four operations on 64 bit machines. </div>
<div align="left" style="text-align:justify;">This patch accelerates CAIRO_BITSWAP8 on 64 bit machines.</div>
<div align="left" style="text-align:justify;"><font face="Times New Roman"> </font></div>
<div align="left" style="text-align:justify;">diff --git a/src/cairoint.h b/src/cairoint.h</div>
<div align="left" style="text-align:justify;">index 2c9f2dd..7e62d86 100644</div>
<div align="left" style="text-align:justify;">--- a/src/cairoint.h</div>
<div align="left" style="text-align:justify;">+++ b/src/cairoint.h</div>
<div align="left" style="text-align:justify;">@@ -169,7 +169,11 @@ do { \</div>
<div align="left" style="text-align:justify;"> * Devised by Sean Anderson, July 13, 2001.</div>
<div align="left" style="text-align:justify;"> * Source:</div>
<div align="left" style="text-align:justify;"><a href="http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits">http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits</a></div>
<div align="left" style="text-align:justify;"> */</div>
<div align="left" style="text-align:justify;">+#if (SIZEOF_VOID_P >= 8)</div>
<div align="left" style="text-align:justify;">+#define CAIRO_BITSWAP8(c) ((((c) * 0x80200802LLU & 0x884422110LLU) *</div>
<div align="left" style="text-align:justify;">0x101010101LLU) >> 32)</div>
<div align="left" style="text-align:justify;">+#else</div>
<div align="left" style="text-align:justify;"> #define CAIRO_BITSWAP8(c) ((((c) * 0x0802LU & 0x22110LU) | ((c) * 0x8020LU &</div>
<div align="left" style="text-align:justify;">0x88440LU)) * 0x10101LU >> 16)</div>
<div align="left" style="text-align:justify;">+#endif</div>
<div align="left" style="text-align:justify;"> </div>
<div align="left" style="text-align:justify;"> /* Return the number of 1 bits in mask.</div>
<div align="left" style="text-align:justify;"> *</div>
<div align="left" style="text-align:justify;"><font face="Times New Roman"> </font></div>
</span></font>
</body>
</html>