| version 1.6, 2004/05/22 16:35:07 | version 1.8, 2005/03/12 12:34:30 | 
| Line 12 | Line 12 | 
 | * 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright | 
 | *    notice, this list of conditions and the following disclaimer in the | *    notice, this list of conditions and the following disclaimer in the | 
 | *    documentation and/or other materials provided with the distribution. | *    documentation and/or other materials provided with the distribution. | 
 | * 3. The name of the author may not be used to endorse or promote products |  | 
 | *    derived from this software without specific prior written permission. |  | 
 | * | * | 
 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | 
 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | 
| Line 247  do { \ | Line 245  do { \ | 
 | UINT32 __s = (s); \ | UINT32 __s = (s); \ | 
 | UINT32 __d = (d); \ | UINT32 __d = (d); \ | 
 | UINT32 __r = __d; \ | UINT32 __r = __d; \ | 
| DWORD __R; \ | UINT32 __R; \ | 
 | UINT8 __f; \ | UINT8 __f; \ | 
 | UINT8 __o; \ | UINT8 __o; \ | 
 | \ | \ | 
| Line 1337  do { \ | Line 1335  do { \ | 
 | : "=m" (__r), "=m" (__h), "=m" (__f), "=m" (__o) \ | : "=m" (__r), "=m" (__h), "=m" (__f), "=m" (__o) \ | 
 | : "m" (__d), "m" (__s) \ | : "m" (__d), "m" (__s) \ | 
 | : "eax", "edx"); \ | : "eax", "edx"); \ | 
| if (((DWORD)__R != __r) || \ | if (((UINT32)__R != __r) || \ | 
| ((DWORD)(__R >> 32) != __h) || \ | ((UINT32)(__R >> 32) != __h) || \ | 
 | (((__f ^ CPU_FLAGL) & C_FLAG) != 0) || \ | (((__f ^ CPU_FLAGL) & C_FLAG) != 0) || \ | 
 | (!CPU_OV != !__o)) { \ | (!CPU_OV != !__o)) { \ | 
 | ia32_warning("XC_DWORD_IMUL: __s = %08x, __d = %08x",__s, __d);\ | ia32_warning("XC_DWORD_IMUL: __s = %08x, __d = %08x",__s, __d);\ | 
 | ia32_warning("XC_DWORD_IMUL: __Rl = %08x, __r = %08x", \ | ia32_warning("XC_DWORD_IMUL: __Rl = %08x, __r = %08x", \ | 
| (DWORD)__R, __r); \ | (UINT32)__R, __r); \ | 
 | ia32_warning("XC_DWORD_IMUL: __Rh == %08x, __h == %08x", \ | ia32_warning("XC_DWORD_IMUL: __Rh == %08x, __h == %08x", \ | 
| (DWORD)(__R >> 32), __h); \ | (UINT32)(__R >> 32), __h); \ | 
 | ia32_warning("XC_DWORD_IMUL: CPU_FLAGL = %02x, __f = %02x, " \ | ia32_warning("XC_DWORD_IMUL: CPU_FLAGL = %02x, __f = %02x, " \ | 
 | "mask = %02x", CPU_FLAGL, __f, C_FLAG); \ | "mask = %02x", CPU_FLAGL, __f, C_FLAG); \ | 
 | ia32_warning("XC_DWORD_IMUL: CPU_OV = %s, __o = %s", \ | ia32_warning("XC_DWORD_IMUL: CPU_OV = %s, __o = %s", \ | 
 | CPU_OV ? "OV" : "NV", __o ? "OV" : "NV"); \ | CPU_OV ? "OV" : "NV", __o ? "OV" : "NV"); \ | 
| assert((DWORD)__R == __r); \ | assert((UINT32)__R == __r); \ | 
| assert((DWORD)(__R >> 32) == __h); \ | assert((UINT32)(__R >> 32) == __h); \ | 
 | assert(((__f ^ CPU_FLAGL) & C_FLAG) == 0); \ | assert(((__f ^ CPU_FLAGL) & C_FLAG) == 0); \ | 
 | assert(!CPU_OV == !__o); \ | assert(!CPU_OV == !__o); \ | 
 | } \ | } \ |