Skip to content

Commit a7e66a6

Browse files
committed
Adjust x86 architectures
1 parent 300a00b commit a7e66a6

1 file changed

Lines changed: 71 additions & 20 deletions

File tree

CMakePresets.json

Lines changed: 71 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,124 +12,175 @@
1212
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=native"
1313
}
1414
},
15+
{
16+
"name": "portable-base",
17+
"hidden": true,
18+
"cacheVariables": {
19+
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -mno-sse4a -mno-mmx -mno-xop -mno-tbm -mno-3dnow"
20+
}
21+
},
22+
{
23+
"name": "sse-base",
24+
"hidden": true,
25+
"inherits": ["portable-base"],
26+
"cacheVariables": {
27+
"CMAKE_CXX_FLAGS": "-march=x86-64"
28+
}
29+
},
1530
{
1631
"name": "sse2",
32+
"inherits": ["sse-base"],
1733
"cacheVariables": {
18-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -msse2 -mno-sse3"
34+
"CMAKE_CXX_FLAGS": "-msse2 -mno-sse3"
1935
}
2036
},
2137
{
2238
"name": "sse3",
39+
"inherits": ["sse-base"],
2340
"cacheVariables": {
24-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -msse3 -mno-ssse3"
41+
"CMAKE_CXX_FLAGS": "-msse3 -mno-ssse3"
2542
}
2643
},
2744
{
2845
"name": "ssse3",
46+
"inherits": ["sse-base"],
2947
"cacheVariables": {
30-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mssse3 -mno-sse4.1"
48+
"CMAKE_CXX_FLAGS": "-mssse3 -mno-sse4.1"
3149
}
3250
},
3351
{
3452
"name": "sse4.1",
53+
"inherits": ["sse-base"],
3554
"cacheVariables": {
36-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -msse4.1 -mno-sse4.2"
55+
"CMAKE_CXX_FLAGS": "-msse4.1 -mno-sse4.2"
3756
}
3857
},
3958
{
4059
"name": "sse4.2",
60+
"inherits": ["sse-base"],
4161
"cacheVariables": {
42-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -msse4.2 -mno-avx"
62+
"CMAKE_CXX_FLAGS": "-msse4.2 -mno-avx"
63+
}
64+
},
65+
{
66+
"name": "avx-base",
67+
"hidden": true,
68+
"inherits": ["portable-base"],
69+
"cacheVariables": {
70+
"CMAKE_CXX_FLAGS": "-march=x86-64-v2"
4371
}
4472
},
4573
{
4674
"name": "avx",
75+
"inherits": ["avx-base"],
4776
"cacheVariables": {
48-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx -mno-avx2"
77+
"CMAKE_CXX_FLAGS": "-mavx -mno-avx2"
4978
}
5079
},
5180
{
5281
"name": "avx_128",
82+
"inherits": ["avx-base"],
5383
"cacheVariables": {
54-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx -mno-avx2 -DXSIMD_DEFAULT_ARCH=avx_128"
84+
"CMAKE_CXX_FLAGS": "-mavx -mno-avx2 -DXSIMD_DEFAULT_ARCH=avx_128"
5585
}
5686
},
5787
{
5888
"name": "avx2",
89+
"inherits": ["avx-base"],
5990
"cacheVariables": {
60-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx2 -mno-avx512f"
91+
"CMAKE_CXX_FLAGS": "-mavx2 -mno-avx512f"
6192
}
6293
},
6394
{
6495
"name": "avx2_128",
96+
"inherits": ["avx-base"],
97+
"cacheVariables": {
98+
"CMAKE_CXX_FLAGS": "-mavx2 -mno-avx512f -DXSIMD_DEFAULT_ARCH=avx2_128"
99+
}
100+
},
101+
{
102+
"name": "avx512-base",
103+
"hidden": true,
104+
"inherits": ["portable-base"],
65105
"cacheVariables": {
66-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx2 -mno-avx512f -DXSIMD_DEFAULT_ARCH=avx2_128"
106+
"CMAKE_CXX_FLAGS": "-march=x86-64-v2 -mavx -mavx2"
67107
}
68108
},
69109
{
70110
"name": "avx512f",
111+
"inherits": ["avx512-base"],
71112
"cacheVariables": {
72-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
113+
"CMAKE_CXX_FLAGS": "-mavx512f -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
73114
}
74115
},
75116
{
76117
"name": "avx512cd",
118+
"inherits": ["avx512-base"],
77119
"cacheVariables": {
78-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mno-avx512dq -mno-avx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
120+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mno-avx512dq -mno-avx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
79121
}
80122
},
81123
{
82124
"name": "avx512dq",
125+
"inherits": ["avx512-base"],
83126
"cacheVariables": {
84-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mno-avx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
127+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mno-avx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
85128
}
86129
},
87130
{
88131
"name": "avx512bw",
132+
"inherits": ["avx512-base"],
89133
"cacheVariables": {
90-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
134+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
91135
}
92136
},
93137
{
94138
"name": "avx512er",
139+
"inherits": ["avx512-base"],
95140
"cacheVariables": {
96-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mno-avx512bw -mavx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
141+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mno-avx512bw -mavx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
97142
}
98143
},
99144
{
100145
"name": "avx512pf",
146+
"inherits": ["avx512-base"],
101147
"cacheVariables": {
102-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mno-avx512bw -mavx512er -mavx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
148+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mno-avx512bw -mavx512er -mavx512pf -mno-avx512ifma -mno-avx512vbmi -mno-avx512vnni"
103149
}
104150
},
105151
{
106152
"name": "avx512ifma",
153+
"inherits": ["avx512-base"],
107154
"cacheVariables": {
108-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mno-avx512vbmi -mno-avx512vnni"
155+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mno-avx512vbmi -mno-avx512vnni"
109156
}
110157
},
111158
{
112159
"name": "avx512vbmi",
160+
"inherits": ["avx512-base"],
113161
"cacheVariables": {
114-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mavx512vbmi -mno-avx512vbmi2 -mno-avx512vnni"
162+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mavx512vbmi -mno-avx512vbmi2 -mno-avx512vnni"
115163
}
116164
},
117165
{
118166
"name": "avx512vbmi2",
167+
"inherits": ["avx512-base"],
119168
"cacheVariables": {
120-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mno-avx512vnni"
169+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mno-avx512vnni"
121170
}
122171
},
123172
{
124173
"name": "avx512vnni_avx512bw",
174+
"inherits": ["avx512-base"],
125175
"cacheVariables": {
126-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mavx512vnni"
176+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mno-avx512ifma -mno-avx512vbmi -mavx512vnni"
127177
}
128178
},
129179
{
130180
"name": "avx512vnni_avx512vbmi2",
181+
"inherits": ["avx512-base"],
131182
"cacheVariables": {
132-
"CMAKE_CXX_FLAGS": "$env{CXXFLAGS} -march=x86-64 -mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx512vnni"
183+
"CMAKE_CXX_FLAGS": "-mavx512f -mavx512cd -mavx512dq -mavx512bw -mno-avx512er -mno-avx512pf -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx512vnni"
133184
}
134185
},
135186
{

0 commit comments

Comments
 (0)