Additional `FT_MSB` macro definitions.

* include/freetype/internal/ftcalc.h [__DECC,_CRAYC]: Use builtins
and intrinsics.
This commit is contained in:
Alexei Podtelezhnikov 2021-10-01 11:50:12 -04:00
parent 68fae526c4
commit 311764fabb
1 changed files with 14 additions and 3 deletions

View File

@ -370,8 +370,7 @@ FT_BEGIN_HEADER
#define FT_MSB( x ) ( 31 - __builtin_clzl( x ) )
#endif /* __GNUC__ */
#endif
#elif defined( _MSC_VER ) && ( _MSC_VER >= 1400 )
@ -395,11 +394,23 @@ FT_BEGIN_HEADER
#endif
#endif /* _MSC_VER */
#elif defined( __DECC ) || defined( __DECCXX )
#include <builtins.h>
#define FT_MSB( x ) (FT_Int)( 63 - _leadz( x ) )
#elif defined( _CRAYC )
#include <intrinsics.h>
#define FT_MSB( x ) (FT_Int)( 31 - _leadz32( x ) )
#endif /* FT_MSB macro definitions */
#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
#ifndef FT_MSB
FT_BASE( FT_Int )