freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype][master] [smooth] Detect SSE2 with MSVC for x86


From: Werner Lemberg (@wl)
Subject: [Git][freetype/freetype][master] [smooth] Detect SSE2 with MSVC for x86
Date: Fri, 27 Aug 2021 07:21:52 +0000

Werner Lemberg pushed to branch master at FreeType / FreeType

Commits:

1 changed file:

Changes:

  • src/smooth/ftgrays.c
    ... ... @@ -999,10 +999,17 @@ typedef ptrdiff_t FT_PtrDist;
    999 999
        *
    
    1000 1000
        * For other cases, using binary splits is actually slightly faster.
    
    1001 1001
        */
    
    1002
    -#if defined( __SSE2__ )    || \
    
    1003
    -    defined( __x86_64__ )  || \
    
    1002
    +#if defined( __SSE2__ )                          || \
    
    1003
    +    defined( __x86_64__ )                        || \
    
    1004
    +    defined( _M_AMD64 )                          || \
    
    1005
    +    ( defined( _M_IX86_FP ) && _M_IX86_FP >= 2 )
    
    1006
    +#  define FT_SSE2 1
    
    1007
    +#else
    
    1008
    +#  define FT_SSE2 0
    
    1009
    +#endif
    
    1010
    +
    
    1011
    +#if FT_SSE2                || \
    
    1004 1012
         defined( __aarch64__ ) || \
    
    1005
    -    defined( _M_AMD64 )    || \
    
    1006 1013
         defined( _M_ARM64 )
    
    1007 1014
     #  define BEZIER_USE_DDA  1
    
    1008 1015
     #else
    
    ... ... @@ -1022,7 +1029,7 @@ typedef ptrdiff_t FT_PtrDist;
    1022 1029
     
    
    1023 1030
     #if BEZIER_USE_DDA
    
    1024 1031
     
    
    1025
    -#ifdef __SSE2__
    
    1032
    +#if FT_SSE2
    
    1026 1033
     #  include <emmintrin.h>
    
    1027 1034
     #endif
    
    1028 1035
     
    
    ... ... @@ -1135,7 +1142,7 @@ typedef ptrdiff_t FT_PtrDist;
    1135 1142
          *             = (B << (33 - N)) + (A << (32 - 2*N))
    
    1136 1143
          */
    
    1137 1144
     
    
    1138
    -#ifdef __SSE2__
    
    1145
    +#if FT_SSE2
    
    1139 1146
         /* Experience shows that for small shift values, */
    
    1140 1147
         /* SSE2 is actually slower.                      */
    
    1141 1148
         if ( shift > 2 )
    
    ... ... @@ -1192,7 +1199,7 @@ typedef ptrdiff_t FT_PtrDist;
    1192 1199
     
    
    1193 1200
           return;
    
    1194 1201
         }
    
    1195
    -#endif  /* __SSE2__ */
    
    1202
    +#endif  /* FT_SSE2 */
    
    1196 1203
     
    
    1197 1204
         rx = LEFT_SHIFT( ax, 33 - 2 * shift );
    
    1198 1205
         ry = LEFT_SHIFT( ay, 33 - 2 * shift );
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]