[Libreoffice-commits] core.git: 2 commits - config_host.mk.in configure.ac external/skia solenv/gbuild

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 21 11:39:16 UTC 2020


 config_host.mk.in             |   10 +
 configure.ac                  |  230 +++++++++++++++++++++++++++++++++++++++---
 external/skia/Library_skia.mk |   11 +-
 solenv/gbuild/LinkTarget.mk   |    8 -
 4 files changed, 235 insertions(+), 24 deletions(-)

New commits:
commit 14ae8765927070a3c7558fba921c26cce35935dd
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Apr 21 12:33:08 2020 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Tue Apr 21 13:38:48 2020 +0200

    CLANG_C -> CLANG_CC
    
    Change-Id: I50ed05116df3f295af6406f0ee45610d9e1e031e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92619
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/config_host.mk.in b/config_host.mk.in
index 0e7dad69a588..51fc419414e6 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -65,7 +65,7 @@ export CCACHE_DEPEND_MODE=@CCACHE_DEPEND_MODE@
 export CDR_CFLAGS=$(gb_SPACE)@CDR_CFLAGS@
 export CDR_LIBS=$(gb_SPACE)@CDR_LIBS@
 @x_CFLAGS@ export CFLAGS=@CFLAGS@
-export CLANG_C=@CLANG_C@
+export CLANG_CC=@CLANG_CC@
 export CLANG_CXX=@CLANG_CXX@
 export CLANG_CXXFLAGS_INTRINSICS_SSE2=@CLANG_CXXFLAGS_INTRINSICS_SSE2@
 export CLANG_CXXFLAGS_INTRINSICS_SSSE3=@CLANG_CXXFLAGS_INTRINSICS_SSSE3@
diff --git a/configure.ac b/configure.ac
index d33e978fa255..b23961b414dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11132,40 +11132,40 @@ CLANG_CXXFLAGS_INTRINSICS_F16C=
 CLANG_CXXFLAGS_INTRINSICS_FMA=
 
 if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != TRUE; then
-    if test -n "$CLANG_C" -a -n "$CLANG_CXX"; then
+    if test -n "$CLANG_CC" -a -n "$CLANG_CXX"; then
         AC_MSG_CHECKING([for Clang])
-        AC_MSG_RESULT([$CLANG_C / $CLANG_CXX])
+        AC_MSG_RESULT([$CLANG_CC / $CLANG_CXX])
     else
         if test "$_os" = "WINNT"; then
             AC_MSG_CHECKING([for clang-cl])
             if test -x "$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"; then
-                CLANG_C=`win_short_path_for_make "$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"`
+                CLANG_CC=`win_short_path_for_make "$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"`
                 dnl match our MSVC default, also explicitly set -m32/-m64
                 if test "$BITNESS_OVERRIDE" = ""; then
-                    CLANG_C="$CLANG_C -m32 -arch:SSE"
+                    CLANG_CC="$CLANG_CC -m32 -arch:SSE"
                 else
-                    CLANG_C="$CLANG_C -m64"
+                    CLANG_CC="$CLANG_CC -m64"
                 fi
-                CLANG_CXX="$CLANG_C"
-                AC_MSG_RESULT([$CLANG_C])
+                CLANG_CXX="$CLANG_CC"
+                AC_MSG_RESULT([$CLANG_CC])
             else
                 AC_MSG_RESULT([no])
             fi
         else
-            AC_CHECK_PROG(CLANG_C,clang,clang,[])
+            AC_CHECK_PROG(CLANG_CC,clang,clang,[])
             AC_CHECK_PROG(CLANG_CXX,clang++,clang++,[])
         fi
     fi
-    if test -n "$CLANG_C" -a -n "$CLANG_CXX"; then
-        clang2_version=`echo __clang_major__.__clang_minor__.__clang_patchlevel__ | $CLANG_C -E - | tail -1 | sed 's/ //g'`
+    if test -n "$CLANG_CC" -a -n "$CLANG_CXX"; then
+        clang2_version=`echo __clang_major__.__clang_minor__.__clang_patchlevel__ | $CLANG_CC -E - | tail -1 | sed 's/ //g'`
         clang2_ver=`echo "$clang2_version" | $AWK -F. '{ print \$1*10000+(\$2<100?\$2:99)*100+(\$3<100?\$3:99) }'`
         if test "$clang2_ver" -lt 50002; then
             AC_MSG_WARN(["$clang2_version" is too old or unrecognized, must be at least Clang 5.0.2])
-            CLANG_C=
+            CLANG_CC=
             CLANG_CXX=
         fi
     fi
-    if test -z "$CLANG_C" -o -z "$CLANG_CXX"; then
+    if test -z "$CLANG_CC" -o -z "$CLANG_CXX"; then
         # So far do not require this, but release builds with Skia should possibly
         # do so.
         AC_MSG_WARN([Clang compiler not found.])
@@ -11355,7 +11355,7 @@ if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != TRUE; then
         CXX="$save_CXX"
     fi
 fi
-AC_SUBST(CLANG_C)
+AC_SUBST(CLANG_CC)
 AC_SUBST(CLANG_CXX)
 AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_SSE2)
 AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_SSSE3)
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 0cb81a0a1daa..287948b12a72 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -240,7 +240,7 @@ else
 $(call gb_CObject_get_target,%) : $(call gb_CObject_get_source,$(SRCDIR),%)
 	$(call gb_Output_announce,$*.c,$(true),$(if $(COMPILER_TEST),C? ,C  ),3)
 	$(call gb_Trace_StartRange,$*.c,$(if $(COMPILER_TEST),C? ,C  ))
-	$(call gb_CObject__command_pattern,$@,$(T_CFLAGS) $(T_CFLAGS_APPEND),$<,$(call gb_CObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS),$(T_C))
+	$(call gb_CObject__command_pattern,$@,$(T_CFLAGS) $(T_CFLAGS_APPEND),$<,$(call gb_CObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS),$(T_CC))
 	$(call gb_Trace_EndRange,$*.c,$(if $(COMPILER_TEST),C? ,C  ))
 endif
 
@@ -328,7 +328,7 @@ $(call gb_GenCObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET)
 	$(call gb_Output_announce,$*.c,$(true),C  ,3)
 	$(call gb_Trace_StartRange,$*.c,C  )
 	test -f $(call gb_GenCObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenCObject_get_source,$*)" && false)
-	$(call gb_CObject__command_pattern,$@,$(T_CFLAGS) $(T_CFLAGS_APPEND),$(call gb_GenCObject_get_source,$*),$(call gb_GenCObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS),$(T_C))
+	$(call gb_CObject__command_pattern,$@,$(T_CFLAGS) $(T_CFLAGS_APPEND),$(call gb_GenCObject_get_source,$*),$(call gb_GenCObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS),$(T_CC))
 	$(call gb_Trace_EndRange,$*.c,C  )
 
 ifeq ($(gb_FULLDEPS),$(true))
@@ -836,7 +836,7 @@ $(call gb_LinkTarget_get_target,$(1)) : EXTERNAL_CODE :=
 $(call gb_LinkTarget_get_target,$(1)) : SOVERSIONSCRIPT :=
 $(call gb_LinkTarget_get_target,$(1)) : COMPILER_TEST :=
 $(call gb_LinkTarget_get_target,$(1)) : T_SYMBOLS := $(if $(call gb_LinkTarget__symbols_enabled,$(2)),$(true),$(false))
-$(call gb_LinkTarget_get_target,$(1)) : T_C :=
+$(call gb_LinkTarget_get_target,$(1)) : T_CC :=
 $(call gb_LinkTarget_get_target,$(1)) : T_CXX :=
 
 ifeq ($(gb_FULLDEPS),$(true))
@@ -1787,7 +1787,7 @@ endef
 # C/C++ files will be build with Clang (if possible) instead of the default compiler.
 # call gb_LinkTarget_use_clang,linktarget,,linktargetmakefilename
 define gb_LinkTarget_use_clang
-$(call gb_LinkTarget_get_target,$(1)) : T_C := $(CLANG_C)
+$(call gb_LinkTarget_get_target,$(1)) : T_CC := $(CLANG_CC)
 $(call gb_LinkTarget_get_target,$(1)) : T_CXX := $(CLANG_CXX)
 
 endef
commit ee54206dfc747caede9368556f7492a55dcd9286
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Apr 21 12:21:51 2020 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Tue Apr 21 13:38:32 2020 +0200

    better handling of SSEx,AVX intrinsics for Clang
    
    Clang-cl interprets MSVC's -arch option a bit differently (for MSVC
    -arch:SSE2 seems to mean SSE2+, but SSE2-only for Clang). So use
    Clang's -mxxx options when using clang-cl as CC/CXX. Also check
    intrinsics once again if using CLANG_CC/CXX to compile Skia.
    
    Change-Id: I64cd368ef4e5f4fcf1dbe877a1129f418d273a47
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92618
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/config_host.mk.in b/config_host.mk.in
index d5b68a7a1851..0e7dad69a588 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -67,6 +67,14 @@ export CDR_LIBS=$(gb_SPACE)@CDR_LIBS@
 @x_CFLAGS@ export CFLAGS=@CFLAGS@
 export CLANG_C=@CLANG_C@
 export CLANG_CXX=@CLANG_CXX@
+export CLANG_CXXFLAGS_INTRINSICS_SSE2=@CLANG_CXXFLAGS_INTRINSICS_SSE2@
+export CLANG_CXXFLAGS_INTRINSICS_SSSE3=@CLANG_CXXFLAGS_INTRINSICS_SSSE3@
+export CLANG_CXXFLAGS_INTRINSICS_SSE41=@CLANG_CXXFLAGS_INTRINSICS_SSE41@
+export CLANG_CXXFLAGS_INTRINSICS_SSE42=@CLANG_CXXFLAGS_INTRINSICS_SSE42@
+export CLANG_CXXFLAGS_INTRINSICS_AVX=@CLANG_CXXFLAGS_INTRINSICS_AVX@
+export CLANG_CXXFLAGS_INTRINSICS_AVX2=@CLANG_CXXFLAGS_INTRINSICS_AVX2@
+export CLANG_CXXFLAGS_INTRINSICS_F16C=@CLANG_CXXFLAGS_INTRINSICS_F16C@
+export CLANG_CXXFLAGS_INTRINSICS_FMA=@CLANG_CXXFLAGS_INTRINSICS_FMA@
 export CLANGDIR=@CLANGDIR@
 export CLANGLIBDIR=@CLANGLIBDIR@
 export CLANGSYSINCLUDE=@CLANGSYSINCLUDE@
diff --git a/configure.ac b/configure.ac
index ada79b6dfd45..d33e978fa255 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6829,7 +6829,8 @@ CXXFLAGS_INTRINSICS_AVX2=
 CXXFLAGS_INTRINSICS_F16C=
 CXXFLAGS_INTRINSICS_FMA=
 
-if test "$GCC" = "yes"; then
+if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
+    # GCC, Clang or Clang-cl (clang-cl + MSVC's -arch options don't work well together)
     flag_sse2=-msse2
     flag_ssse3=-mssse3
     flag_sse41=-msse4.1
@@ -11121,6 +11122,15 @@ else
 fi
 AC_SUBST(ENABLE_SKIA)
 
+CLANG_CXXFLAGS_INTRINSICS_SSE2=
+CLANG_CXXFLAGS_INTRINSICS_SSSE3=
+CLANG_CXXFLAGS_INTRINSICS_SSE41=
+CLANG_CXXFLAGS_INTRINSICS_SSE42=
+CLANG_CXXFLAGS_INTRINSICS_AVX=
+CLANG_CXXFLAGS_INTRINSICS_AVX2=
+CLANG_CXXFLAGS_INTRINSICS_F16C=
+CLANG_CXXFLAGS_INTRINSICS_FMA=
+
 if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != TRUE; then
     if test -n "$CLANG_C" -a -n "$CLANG_CXX"; then
         AC_MSG_CHECKING([for Clang])
@@ -11159,10 +11169,202 @@ if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != TRUE; then
         # So far do not require this, but release builds with Skia should possibly
         # do so.
         AC_MSG_WARN([Clang compiler not found.])
+    else
+
+        save_CXX="$CXX"
+        CXX="$CLANG_CXX"
+        # copy&paste (and adjust) of intrinsics checks, since MSVC's -arch doesn't work well for Clang-cl
+        flag_sse2=-msse2
+        flag_ssse3=-mssse3
+        flag_sse41=-msse4.1
+        flag_sse42=-msse4.2
+        flag_avx=-mavx
+        flag_avx2=-mavx2
+        flag_f16c=-mf16c
+        flag_fma=-mfma
+
+        AC_MSG_CHECKING([whether $CXX can compile SSE2 intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_sse2"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <emmintrin.h>
+            int main () {
+                __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c;
+                c = _mm_xor_si128 (a, b);
+                return 0;
+            }
+            ])],
+            [can_compile_sse2=yes],
+            [can_compile_sse2=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_sse2}])
+        if test "${can_compile_sse2}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_SSE2="$flag_sse2"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile SSSE3 intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_ssse3"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <tmmintrin.h>
+            int main () {
+                __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c;
+                c = _mm_maddubs_epi16 (a, b);
+                return 0;
+            }
+            ])],
+            [can_compile_ssse3=yes],
+            [can_compile_ssse3=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_ssse3}])
+        if test "${can_compile_ssse3}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_SSSE3="$flag_ssse3"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile SSE4.1 intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_sse41"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <smmintrin.h>
+            int main () {
+                __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c;
+                c = _mm_cmpeq_epi64 (a, b);
+                return 0;
+            }
+            ])],
+            [can_compile_sse41=yes],
+            [can_compile_sse41=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_sse41}])
+        if test "${can_compile_sse41}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_SSE41="$flag_sse41"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile SSE4.2 intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_sse42"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <nmmintrin.h>
+            int main () {
+                __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c;
+                c = _mm_cmpgt_epi64 (a, b);
+                return 0;
+            }
+            ])],
+            [can_compile_sse42=yes],
+            [can_compile_sse42=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_sse42}])
+        if test "${can_compile_sse42}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_SSE42="$flag_sse42"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile AVX intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_avx"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <immintrin.h>
+            int main () {
+                __m256 a = _mm256_set1_ps (0.0f), b = _mm256_set1_ps (0.0f), c;
+                c = _mm256_xor_ps(a, b);
+                return 0;
+            }
+            ])],
+            [can_compile_avx=yes],
+            [can_compile_avx=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_avx}])
+        if test "${can_compile_avx}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_AVX="$flag_avx"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile AVX2 intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_avx2"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <immintrin.h>
+            int main () {
+                __m256i a = _mm256_set1_epi32 (0), b = _mm256_set1_epi32 (0), c;
+                c = _mm256_maddubs_epi16(a, b);
+                return 0;
+            }
+            ])],
+            [can_compile_avx2=yes],
+            [can_compile_avx2=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_avx2}])
+        if test "${can_compile_avx2}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_AVX2="$flag_avx2"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile F16C intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_f16c"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <immintrin.h>
+            int main () {
+                __m128i a = _mm_set1_epi32 (0);
+                __m128 c;
+                c = _mm_cvtph_ps(a);
+                return 0;
+            }
+            ])],
+            [can_compile_f16c=yes],
+            [can_compile_f16c=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_f16c}])
+        if test "${can_compile_f16c}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_F16C="$flag_f16c"
+        fi
+
+        AC_MSG_CHECKING([whether $CXX can compile FMA intrinsics])
+        AC_LANG_PUSH([C++])
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$CXXFLAGS $flag_fma"
+        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+            #include <immintrin.h>
+            int main () {
+                __m256 a = _mm256_set1_ps (0.0f), b = _mm256_set1_ps (0.0f), c = _mm256_set1_ps (0.0f), d;
+                d = _mm256_fmadd_ps(a, b, c);
+                return 0;
+            }
+            ])],
+            [can_compile_fma=yes],
+            [can_compile_fma=no])
+        AC_LANG_POP([C++])
+        CXXFLAGS=$save_CXXFLAGS
+        AC_MSG_RESULT([${can_compile_fma}])
+        if test "${can_compile_fma}" = "yes" ; then
+            CLANG_CXXFLAGS_INTRINSICS_FMA="$flag_fma"
+        fi
+
+        CXX="$save_CXX"
     fi
 fi
 AC_SUBST(CLANG_C)
 AC_SUBST(CLANG_CXX)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_SSE2)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_SSSE3)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_SSE41)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_SSE42)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_AVX)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_AVX2)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_F16C)
+AC_SUBST(CLANG_CXXFLAGS_INTRINSICS_FMA)
 
 SYSTEM_GPGMEPP=
 
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index bc653786bf4b..941f92bd9238 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -748,20 +748,21 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
 ))
 
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/src/opts/SkOpts_avx, $(CXXFLAGS_INTRINSICS_AVX) \
+    UnpackedTarball/skia/src/opts/SkOpts_avx, $(CXXFLAGS_INTRINSICS_AVX) $(CLANG_CXXFLAGS_INTRINSICS_AVX) \
 ))
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/opts/SkOpts_hsw, \
-        $(CXXFLAGS_INTRINSICS_AVX2) $(CXXFLAGS_INTRINSICS_F16C) $(CXXFLAGS_INTRINSICS_FMA)\
+        $(CXXFLAGS_INTRINSICS_AVX2) $(CXXFLAGS_INTRINSICS_F16C) $(CXXFLAGS_INTRINSICS_FMA) \
+        $(CLANG_CXXFLAGS_INTRINSICS_AVX2) $(CLANG_CXXFLAGS_INTRINSICS_F16C) $(CLANG_CXXFLAGS_INTRINSICS_FMA) \
 ))
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/src/opts/SkOpts_sse41, $(CXXFLAGS_INTRINSICS_SSE41) \
+    UnpackedTarball/skia/src/opts/SkOpts_sse41, $(CXXFLAGS_INTRINSICS_SSE41) $(CLANG_CXXFLAGS_INTRINSICS_SSE41) \
 ))
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/src/opts/SkOpts_sse42, $(CXXFLAGS_INTRINSICS_SSE42) \
+    UnpackedTarball/skia/src/opts/SkOpts_sse42, $(CXXFLAGS_INTRINSICS_SSE42) $(CLANG_CXXFLAGS_INTRINSICS_SSE42) \
 ))
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/src/opts/SkOpts_ssse3, $(CXXFLAGS_INTRINSICS_SSSE3) \
+    UnpackedTarball/skia/src/opts/SkOpts_ssse3, $(CXXFLAGS_INTRINSICS_SSSE3) $(CLANG_CXXFLAGS_INTRINSICS_SSSE3) \
 ))
 
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\


More information about the Libreoffice-commits mailing list