diff --git a/include/freetype/internal/ftcalc.h b/include/freetype/internal/ftcalc.h index 46e7f22..e228617 100644 --- a/include/freetype/internal/ftcalc.h +++ b/include/freetype/internal/ftcalc.h @@ -401,20 +401,31 @@ FT_BEGIN_HEADER _BitScanReverse( &where, x ); return (FT_Int32)where; } #define FT_MSB( x ) FT_MSB_i386( x ) #endif +#elif defined( __WATCOMC__ ) && defined( __386__ ) + +extern __inline FT_Int32 FT_MSB_i386(FT_UInt32); +#pragma aux FT_MSB_i386 = \ + "bsr eax, eax" \ + parm [eax] nomemory \ + value [eax] \ + modify exact [eax] nomemory; + +#define FT_MSB( x ) FT_MSB_i386( x ) + #elif defined( __DECC ) || defined( __DECCXX ) #include #define FT_MSB( x ) (FT_Int)( 63 - _leadz( x ) ) #elif defined( _CRAYC ) #include