summaryrefslogtreecommitdiffstats
path: root/js/src/intgemm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
commit40a355a42d4a9444dc753c04c6608dade2f06a23 (patch)
tree871fc667d2de662f171103ce5ec067014ef85e61 /js/src/intgemm
parentAdding upstream version 124.0.1. (diff)
downloadfirefox-upstream/125.0.1.tar.xz
firefox-upstream/125.0.1.zip
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/intgemm')
-rw-r--r--js/src/intgemm/IntegerGemmIntrinsic.cpp14
-rw-r--r--js/src/intgemm/moz.build6
2 files changed, 15 insertions, 5 deletions
diff --git a/js/src/intgemm/IntegerGemmIntrinsic.cpp b/js/src/intgemm/IntegerGemmIntrinsic.cpp
index aebb0f5f02..0e79ccad36 100644
--- a/js/src/intgemm/IntegerGemmIntrinsic.cpp
+++ b/js/src/intgemm/IntegerGemmIntrinsic.cpp
@@ -22,10 +22,9 @@
#if defined(USE_AVX512BW)
# if defined(USE_AVX512VNNI)
-# define SUPPORTED_ARCHS \
- xsimd::arch_list<xsimd::avx512vnni<xsimd::avx512bw>, \
- xsimd::avx512bw, xsimd::avx2, \
- xsimd::ssse3, xsimd::sse2>
+# define SUPPORTED_ARCHS \
+ xsimd::arch_list<xsimd::avx512vnni<xsimd::avx512bw>, xsimd::avx512bw, \
+ xsimd::avx2, xsimd::ssse3, xsimd::sse2>
# elif defined(USE_AVXVNNI)
# define SUPPORTED_ARCHS \
xsimd::arch_list<xsimd::avx512bw, xsimd::avxvnni, xsimd::avx2, \
@@ -45,7 +44,12 @@
#elif defined(USE_SSE2)
# define SUPPORTED_ARCHS xsimd::arch_list<xsimd::sse2>
#elif defined(USE_NEON) and defined(XSIMD_WITH_NEON64)
-# define SUPPORTED_ARCHS xsimd::arch_list<xsimd::neon64>
+# if defined(USE_NEON_I8MM)
+# define SUPPORTED_ARCHS \
+ xsimd::arch_list<xsimd::i8mm<xsimd::neon64>, xsimd::neon64>
+# else
+# define SUPPORTED_ARCHS xsimd::arch_list<xsimd::neon64>
+# endif
#else
# error no supported architecture
#endif
diff --git a/js/src/intgemm/moz.build b/js/src/intgemm/moz.build
index 9249938cbb..af4450b4e6 100644
--- a/js/src/intgemm/moz.build
+++ b/js/src/intgemm/moz.build
@@ -64,6 +64,12 @@ if CONFIG["TARGET_CPU"] == "aarch64":
"NEON_FLAGS"
]
+ DEFINES["USE_NEON_I8MM"] = True
+ SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineNeon64I8mm.cpp"]
+ SOURCES[
+ "/third_party/gemmology/kernels/GemmologyEngineNeon64I8mm.cpp"
+ ].flags += CONFIG["NEON_I8MM_FLAGS"]
+
SOURCES += [
"IntegerGemmIntrinsic.cpp",
]