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