* ggml : add ggml_cpu_has_ssse3
* whisper : show SSSE3 in system info
* make : detect SSSE3 via cpuinfo
ifneq (,$(findstring sse3,$(SSE3_M)))
CFLAGS += -msse3
endif
+
+ SSSE3_M := $(shell $(CPUINFO_CMD) | grep -m 1 "ssse3 ")
+ ifneq (,$(findstring ssse3,$(SSSE3_M)))
+ CFLAGS += -mssse3
+ endif
endif
endif
ifeq ($(UNAME_M),amd64)
#endif
}
+int ggml_cpu_has_ssse3(void) {
+#if defined(__SSSE3__)
+ return 1;
+#else
+ return 0;
+#endif
+}
+
int ggml_cpu_has_vsx(void) {
#if defined(__POWER9_VECTOR__)
return 1;
GGML_API int ggml_cpu_has_clblast (void);
GGML_API int ggml_cpu_has_gpublas (void);
GGML_API int ggml_cpu_has_sse3 (void);
+ GGML_API int ggml_cpu_has_ssse3 (void);
GGML_API int ggml_cpu_has_vsx (void);
//
s += "WASM_SIMD = " + std::to_string(ggml_cpu_has_wasm_simd()) + " | ";
s += "BLAS = " + std::to_string(ggml_cpu_has_blas()) + " | ";
s += "SSE3 = " + std::to_string(ggml_cpu_has_sse3()) + " | ";
+ s += "SSSE3 = " + std::to_string(ggml_cpu_has_ssse3()) + " | ";
s += "VSX = " + std::to_string(ggml_cpu_has_vsx()) + " | ";
s += "COREML = " + std::to_string(whisper_has_coreml()) + " | ";
s += "OPENVINO = " + std::to_string(whisper_has_openvino()) + " | ";