summaryrefslogtreecommitdiffstats
path: root/js/src/intgemm/moz.build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /js/src/intgemm/moz.build
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/intgemm/moz.build')
-rw-r--r--js/src/intgemm/moz.build72
1 files changed, 72 insertions, 0 deletions
diff --git a/js/src/intgemm/moz.build b/js/src/intgemm/moz.build
new file mode 100644
index 0000000000..9249938cbb
--- /dev/null
+++ b/js/src/intgemm/moz.build
@@ -0,0 +1,72 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+include("../js-config.mozbuild")
+include("../js-cxxflags.mozbuild")
+
+FINAL_LIBRARY = "js"
+
+with Files("*"):
+ BUG_COMPONENT = ("Core", "JavaScript: WebAssembly")
+
+LOCAL_INCLUDES += [
+ "!..",
+ "..",
+ "/third_party/gemmology",
+ "/third_party/xsimd/include",
+]
+
+if CONFIG["INTEL_ARCHITECTURE"]:
+ DEFINES["USE_SSE2"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineSSE2.cpp"]
+ SOURCES["/third_party/gemmology/kernels/GemmologyEngineSSE2.cpp"].flags += CONFIG[
+ "SSE2_FLAGS"
+ ]
+ if CONFIG["SSSE3_FLAGS"]:
+ DEFINES["USE_SSSE3"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineSSSE3.cpp"]
+ SOURCES[
+ "/third_party/gemmology/kernels/GemmologyEngineSSSE3.cpp"
+ ].flags += CONFIG["SSSE3_FLAGS"]
+ if CONFIG["AVX2_FLAGS"]:
+ DEFINES["USE_AVX2"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineAVX2.cpp"]
+ SOURCES[
+ "/third_party/gemmology/kernels/GemmologyEngineAVX2.cpp"
+ ].flags += CONFIG["AVX2_FLAGS"]
+ if CONFIG["AVXVNNI_FLAGS"]:
+ DEFINES["USE_AVXVNNI"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineAVXVNNI.cpp"]
+ SOURCES[
+ "/third_party/gemmology/kernels/GemmologyEngineAVXVNNI.cpp"
+ ].flags += CONFIG["AVXVNNI_FLAGS"]
+ if CONFIG["AVX512BW_FLAGS"]:
+ DEFINES["USE_AVX512BW"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineAVX512BW.cpp"]
+ SOURCES[
+ "/third_party/gemmology/kernels/GemmologyEngineAVX512BW.cpp"
+ ].flags += CONFIG["AVX512BW_FLAGS"]
+ if CONFIG["AVX512VNNI_FLAGS"]:
+ DEFINES["USE_AVX512VNNI"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineAVX512VNNI.cpp"]
+ SOURCES[
+ "/third_party/gemmology/kernels/GemmologyEngineAVX512VNNI.cpp"
+ ].flags += CONFIG["AVX512VNNI_FLAGS"]
+
+
+if CONFIG["TARGET_CPU"] == "aarch64":
+ DEFINES["USE_NEON"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineNeon64.cpp"]
+ SOURCES["/third_party/gemmology/kernels/GemmologyEngineNeon64.cpp"].flags += CONFIG[
+ "NEON_FLAGS"
+ ]
+
+SOURCES += [
+ "IntegerGemmIntrinsic.cpp",
+]
+
+# We allow warnings for third-party code that can be updated from upstream.
+AllowCompilerWarnings()