Skip to content

Commit 750162a

Browse files
authored
Try gradual fallback for cores not in the dynamic core list
1 parent e6d93f2 commit 750162a

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

driver/others/dynamic.c

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,15 @@ extern gotoblas_t gotoblas_NEHALEM;
8989
#endif
9090
#ifdef DYN_BARCELONA
9191
extern gotoblas_t gotoblas_BARCELONA;
92+
#elif defined(DYN_NEHALEM)
93+
#define gotoblas_BARCELONA gotoblas_NEHALEM
9294
#else
9395
#define gotoblas_BARCELONA gotoblas_PRESCOTT
9496
#endif
9597
#ifdef DYN_ATOM
9698
extern gotoblas_t gotoblas_ATOM;
99+
elif defined(DYN_NEHALEM)
100+
#define gotoblas_ATOM gotoblas_NEHALEM
97101
#else
98102
#define gotoblas_ATOM gotoblas_PRESCOTT
99103
#endif
@@ -124,46 +128,82 @@ extern gotoblas_t gotoblas_OPTERON_SSE3;
124128
#endif
125129
#ifdef DYN_BOBCAT
126130
extern gotoblas_t gotoblas_BOBCAT;
131+
#elif defined(DYN_NEHALEM)
132+
#define gotoblas_BOBCAT gotoblas_NEHALEM
127133
#else
128134
#define gotoblas_BOBCAT gotoblas_PRESCOTT
129135
#endif
130136
#ifdef DYN_SANDYBRIDGE
131137
extern gotoblas_t gotoblas_SANDYBRIDGE;
138+
#elif defined(DYN_NEHALEM)
139+
#define gotoblas_SANDYBRIDGE gotoblas_NEHALEM
132140
#else
133141
#define gotoblas_SANDYBRIDGE gotoblas_PRESCOTT
134142
#endif
135143
#ifdef DYN_BULLDOZER
136144
extern gotoblas_t gotoblas_BULLDOZER;
145+
#elif defined(DYN_SANDYBRIDGE)
146+
#define gotoblas_BULLDOZER gotoblas_SANDYBRIDGE
147+
#elif defined(DYN_NEHALEM)
148+
#define gotoblas_BULLDOZER gotoblas_NEHALEM
137149
#else
138150
#define gotoblas_BULLDOZER gotoblas_PRESCOTT
139151
#endif
140152
#ifdef DYN_PILEDRIVER
141153
extern gotoblas_t gotoblas_PILEDRIVER;
154+
#elif defined(DYN_SANDYBRIDGE)
155+
#define gotoblas_PILEDRIVER gotoblas_SANDYBRIDGE
156+
#elif defined(DYN_NEHALEM)
157+
#define gotoblas_PILEDRIVER gotoblas_NEHALEM
142158
#else
143159
#define gotoblas_PILEDRIVER gotoblas_PRESCOTT
144160
#endif
145161
#ifdef DYN_STEAMROLLER
146162
extern gotoblas_t gotoblas_STEAMROLLER;
163+
#elif defined(DYN_SANDYBRIDGE)
164+
#define gotoblas_STEAMROLLER gotoblas_SANDYBRIDGE
165+
#elif defined(DYN_NEHALEM)
166+
#define gotoblas_STEAMROLLER gotoblas_NEHALEM
147167
#else
148168
#define gotoblas_STEAMROLLER gotoblas_PRESCOTT
149169
#endif
150170
#ifdef DYN_EXCAVATOR
151171
extern gotoblas_t gotoblas_EXCAVATOR;
172+
#elif defined(DYN_SANDYBRIDGE)
173+
#define gotoblas_EXCAVATOR gotoblas_SANDYBRIDGE
174+
#elif defined(DYN_NEHALEM)
175+
#define gotoblas_EXCAVATOR gotoblas_NEHALEM
152176
#else
153177
#define gotoblas_EXCAVATOR gotoblas_PRESCOTT
154178
#endif
155179
#ifdef DYN_HASWELL
156180
extern gotoblas_t gotoblas_HASWELL;
181+
#elif defined(DYN_SANDYBRIDGE)
182+
#define gotoblas_HASWELL gotoblas_SANDYBRIDGE
183+
#elif defined(DYN_NEHALEM)
184+
#define gotoblas_HASWELL gotoblas_NEHALEM
157185
#else
158186
#define gotoblas_HASWELL gotoblas_PRESCOTT
159187
#endif
160188
#ifdef DYN_ZEN
161189
extern gotoblas_t gotoblas_ZEN;
190+
#elif defined(DYN_HASWELL)
191+
#define gotoblas_ZEN gotoblas_HASWELL
192+
#elif defined(DYN_SANDYBRIDGE)
193+
#define gotoblas_ZEN gotoblas_SANDYBRIDGE
194+
#elif defined(DYN_NEHALEM)
195+
#define gotoblas_ZEN gotoblas_NEHALEM
162196
#else
163197
#define gotoblas_ZEN gotoblas_PRESCOTT
164198
#endif
165199
#ifdef DYN_SKYLAKEX
166200
extern gotoblas_t gotoblas_SKYLAKEX;
201+
#elif defined(DYN_HASWELL)
202+
#define gotoblas_SKYLAKEX gotoblas_HASWELL
203+
#elif defined(DYN_SANDYBRIDGE)
204+
#define gotoblas_SKYLAKEX gotoblas_SANDYBRIDGE
205+
#elif defined(DYN_NEHALEM)
206+
#define gotoblas_SKYLAKEX gotoblas_NEHALEM
167207
#else
168208
#define gotoblas_SKYLAKEX gotoblas_PRESCOTT
169209
#endif

0 commit comments

Comments
 (0)