File tree 4 files changed +30
-0
lines changed
4 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -105,6 +105,20 @@ at the top, as a last resort.
105
105
<check name =" neon" ></check >
106
106
</arch >
107
107
108
+ <arch name =" sve" >
109
+ <flag compiler =" gnu" >-march=armv8-a+sve</flag >
110
+ <flag compiler =" clang" >-march=armv8-a+sve</flag >
111
+ <alignment >16</alignment >
112
+ <check name =" sve" ></check >
113
+ </arch >
114
+
115
+ <arch name =" sve2" >
116
+ <flag compiler =" gnu" >-march=armv8-a+sve2</flag >
117
+ <flag compiler =" clang" >-march=armv8-a+sve2</flag >
118
+ <alignment >16</alignment >
119
+ <check name =" sve2" ></check >
120
+ </arch >
121
+
108
122
<arch name =" sse3" >
109
123
<check name =" sse3" ></check >
110
124
<flag compiler =" gnu" >-msse3</flag >
Original file line number Diff line number Diff line change 16
16
<archs >generic neon neonv8 orc|</archs >
17
17
</machine >
18
18
19
+ <machine name =" sve" >
20
+ <archs >generic neon neonv8 sve orc|</archs >
21
+ </machine >
22
+
23
+ <machine name =" sve2" >
24
+ <archs >generic neon neonv8 sve sve2 orc|</archs >
25
+ </machine >
26
+
19
27
<!-- trailing | bar means generate without either for MSVC -->
20
28
<machine name =" sse2" >
21
29
<archs >generic 32|64| mmx| sse sse2 orc|</archs >
Original file line number Diff line number Diff line change @@ -219,6 +219,8 @@ if(NOT CPU_IS_x86)
219
219
overrule_arch(sse4_1 "Architecture is not x86 or x86_64" )
220
220
overrule_arch(sse4_2 "Architecture is not x86 or x86_64" )
221
221
overrule_arch(avx "Architecture is not x86 or x86_64" )
222
+ overrule_arch(avx2 "Architecture is not x86 or x86_64" )
223
+ overrule_arch(fma "Architecture is not x86 or x86_64" )
222
224
overrule_arch(avx512f "Architecture is not x86 or x86_64" )
223
225
overrule_arch(avx512cd "Architecture is not x86 or x86_64" )
224
226
endif (NOT CPU_IS_x86)
@@ -255,6 +257,8 @@ else(neon_compile_result)
255
257
overrule_arch(neon "Compiler doesn't support NEON" )
256
258
overrule_arch(neonv7 "Compiler doesn't support NEON" )
257
259
overrule_arch(neonv8 "Compiler doesn't support NEON" )
260
+ overrule_arch(sve "Compiler doesn't support SVE" )
261
+ overrule_arch(sve2 "Compiler doesn't support SVE2" )
258
262
endif (neon_compile_result)
259
263
260
264
########################################################################
Original file line number Diff line number Diff line change @@ -44,6 +44,10 @@ static int i_can_has_${arch.name} (void) {
44
44
%if " neon" in arch.name :
45
45
#if defined(CPU_FEATURES_ARCH_ARM)
46
46
if (GetArmInfo ().features .${check} == 0 ){ return 0 ; }
47
+ #endif
48
+ %elif " neon" in arch.name or " sve" in arch.name :
49
+ #if defined(CPU_FEATURES_ARCH_AARCH64)
50
+ if (GetAarch64Info ().features .${check} == 0 ){ return 0 ; }
47
51
#endif
48
52
%elif " mips" in arch.name :
49
53
#if defined(CPU_FEATURES_ARCH_MIPS)
You can’t perform that action at this time.
0 commit comments