prepare Google3 for the return of SkOpts_hsw.cpp
Will follow up with a Google3 CL to hook up the other side.
c.f. https://skia-review.googlesource.com/c/skia/+/110641
for why. That CL takes care of Chromium and Android inline.
Change-Id: I0a83ced632f5f3079174a4d4b29c1ecd523d67de
Reviewed-on: https://skia-review.googlesource.com/110760
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
diff --git a/public.bzl b/public.bzl
index 41ecb2d..aeb3df2 100644
--- a/public.bzl
+++ b/public.bzl
@@ -82,6 +82,8 @@
SKIA_OPTS_AVX = "AVX"
+SKIA_OPTS_HSW = "HSW"
+
# Arm
SKIA_OPTS_NEON = "NEON"
@@ -110,6 +112,10 @@
return native.glob([
"src/opts/*_avx.cpp",
])
+ elif opts == SKIA_OPTS_HSW:
+ return native.glob([
+ "src/opts/*_hsw.cpp",
+ ])
elif opts == SKIA_OPTS_NEON:
return native.glob([
"src/opts/*_neon.cpp",
@@ -132,6 +138,8 @@
return ["-msse4.2"]
elif opts == SKIA_OPTS_AVX:
return ["-mavx"]
+ elif opts == SKIA_OPTS_HSW:
+ return ["-mavx2", "-mf16c", "-mfma"]
elif opts == SKIA_OPTS_NEON:
return ["-mfpu=neon"]
elif opts == SKIA_OPTS_CRC32:
@@ -190,6 +198,7 @@
":opts_sse41",
":opts_sse42",
":opts_avx",
+ ":opts_hsw",
]
return res