Spaces:
Sleeping
Sleeping
Przemysław Pawełczyk
commited on
ggml : expose SSE3 and SSSE3 for MSVC when AVX is available (#2128)
Browse files- ggml-impl.h +7 -0
ggml-impl.h
CHANGED
|
@@ -37,9 +37,16 @@ extern "C" {
|
|
| 37 |
#ifndef __F16C__
|
| 38 |
#define __F16C__
|
| 39 |
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
#ifndef __SSE3__
|
| 41 |
#define __SSE3__
|
| 42 |
#endif
|
|
|
|
|
|
|
|
|
|
| 43 |
#endif
|
| 44 |
|
| 45 |
// 16-bit float
|
|
|
|
| 37 |
#ifndef __F16C__
|
| 38 |
#define __F16C__
|
| 39 |
#endif
|
| 40 |
+
#endif
|
| 41 |
+
|
| 42 |
+
// __SSE3__ and __SSSE3__ are not defined in MSVC, but SSE3/SSSE3 are present when AVX/AVX2/AVX512 are available
|
| 43 |
+
#if defined(_MSC_VER) && (defined(__AVX__) || defined(__AVX2__) || defined(__AVX512F__))
|
| 44 |
#ifndef __SSE3__
|
| 45 |
#define __SSE3__
|
| 46 |
#endif
|
| 47 |
+
#ifndef __SSSE3__
|
| 48 |
+
#define __SSSE3__
|
| 49 |
+
#endif
|
| 50 |
#endif
|
| 51 |
|
| 52 |
// 16-bit float
|