Skip to content

Commit 72f3ce5

Browse files
authored
Add NO_AVX=1 fallbacks to newer generation x86_64 for completeness (#3360)
* Add NO_AVX=1 fallbacks to newer generation x86_64 for completeness * Update .travis.yml
1 parent af19cda commit 72f3ce5

2 files changed

Lines changed: 78 additions & 7 deletions

File tree

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# XXX: Precise is already deprecated, new default is Trusty.
22
# https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming
3-
dist: precise
3+
dist: focal
44
sudo: true
55
language: c
66

getarch.c

Lines changed: 77 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
313313
#define FORCE
314314
#define FORCE_INTEL
315315
#define ARCHITECTURE "X86"
316+
#ifdef NO_AVX
317+
#define SUBARCHITECTURE "NEHALEM"
318+
#define ARCHCONFIG "-DNEHALEM " \
319+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
320+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
321+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
322+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2"
323+
#define LIBNAME "nehalem"
324+
#define CORENAME "NEHALEM"
325+
#else
316326
#define SUBARCHITECTURE "SANDYBRIDGE"
317327
#define ARCHCONFIG "-DSANDYBRIDGE " \
318328
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -322,12 +332,23 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
322332
#define LIBNAME "sandybridge"
323333
#define CORENAME "SANDYBRIDGE"
324334
#endif
335+
#endif
325336

326337
#ifdef FORCE_HASWELL
327338
#define FORCE
328339
#define FORCE_INTEL
329340
#define ARCHITECTURE "X86"
330341
#ifdef NO_AVX2
342+
#ifdef NO_AVX
343+
#define SUBARCHITECTURE "NEHALEM"
344+
#define ARCHCONFIG "-DNEHALEM " \
345+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
346+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
347+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
348+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2"
349+
#define LIBNAME "nehalem"
350+
#define CORENAME "NEHALEM"
351+
#else
331352
#define SUBARCHITECTURE "SANDYBRIDGE"
332353
#define ARCHCONFIG "-DSANDYBRIDGE " \
333354
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -336,6 +357,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
336357
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 -DHAVE_AVX"
337358
#define LIBNAME "sandybridge"
338359
#define CORENAME "SANDYBRIDGE"
360+
#endif
339361
#else
340362
#define SUBARCHITECTURE "HASWELL"
341363
#define ARCHCONFIG "-DHASWELL " \
@@ -354,6 +376,27 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
354376
#define FORCE
355377
#define FORCE_INTEL
356378
#define ARCHITECTURE "X86"
379+
#ifdef NO_AVX2
380+
#ifdef NO_AVX
381+
#define SUBARCHITECTURE "NEHALEM"
382+
#define ARCHCONFIG "-DNEHALEM " \
383+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
384+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
385+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
386+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2"
387+
#define LIBNAME "nehalem"
388+
#define CORENAME "NEHALEM"
389+
#else
390+
#define SUBARCHITECTURE "SANDYBRIDGE"
391+
#define ARCHCONFIG "-DSANDYBRIDGE " \
392+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
393+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
394+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
395+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 -DHAVE_AVX"
396+
#define LIBNAME "sandybridge"
397+
#define CORENAME "SANDYBRIDGE"
398+
#endif
399+
#else
357400
#define SUBARCHITECTURE "HASWELL"
358401
#define ARCHCONFIG "-DHASWELL " \
359402
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -363,10 +406,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
363406
"-DHAVE_AVX2 -DHAVE_FMA3 -DFMA3"
364407
#define LIBNAME "haswell"
365408
#define CORENAME "HASWELL"
409+
#endif
366410
#else
367-
#define FORCE
368-
#define FORCE_INTEL
369-
#define ARCHITECTURE "X86"
370411
#define SUBARCHITECTURE "SKYLAKEX"
371412
#define ARCHCONFIG "-DSKYLAKEX " \
372413
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -384,6 +425,27 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
384425
#define FORCE
385426
#define FORCE_INTEL
386427
#define ARCHITECTURE "X86"
428+
#ifdef NO_AVX2
429+
#ifdef NO_AVX
430+
#define SUBARCHITECTURE "NEHALEM"
431+
#define ARCHCONFIG "-DNEHALEM " \
432+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
433+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
434+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
435+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2"
436+
#define LIBNAME "nehalem"
437+
#define CORENAME "NEHALEM"
438+
#else
439+
#define SUBARCHITECTURE "SANDYBRIDGE"
440+
#define ARCHCONFIG "-DSANDYBRIDGE " \
441+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
442+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
443+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
444+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 -DHAVE_AVX"
445+
#define LIBNAME "sandybridge"
446+
#define CORENAME "SANDYBRIDGE"
447+
#endif
448+
#else
387449
#define SUBARCHITECTURE "HASWELL"
388450
#define ARCHCONFIG "-DHASWELL " \
389451
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -393,10 +455,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
393455
"-DHAVE_AVX2 -DHAVE_FMA3 -DFMA3"
394456
#define LIBNAME "haswell"
395457
#define CORENAME "HASWELL"
458+
#endif
396459
#else
397-
#define FORCE
398-
#define FORCE_INTEL
399-
#define ARCHITECTURE "X86"
400460
#define SUBARCHITECTURE "COOPERLAKE"
401461
#define ARCHCONFIG "-DCOOPERLAKE " \
402462
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -564,6 +624,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
564624
#define FORCE_INTEL
565625
#define ARCHITECTURE "X86"
566626
#ifdef NO_AVX2
627+
#ifdef NO_AVX
628+
#define SUBARCHITECTURE "NEHALEM"
629+
#define ARCHCONFIG "-DNEHALEM " \
630+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
631+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
632+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
633+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2"
634+
#define LIBNAME "nehalem"
635+
#define CORENAME "NEHALEM"
636+
#else
567637
#define SUBARCHITECTURE "SANDYBRIDGE"
568638
#define ARCHCONFIG "-DSANDYBRIDGE " \
569639
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
@@ -572,6 +642,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
572642
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 -DHAVE_AVX"
573643
#define LIBNAME "sandybridge"
574644
#define CORENAME "SANDYBRIDGE"
645+
#endif
575646
#else
576647
#define SUBARCHITECTURE "ZEN"
577648
#define ARCHCONFIG "-DZEN " \

0 commit comments

Comments
 (0)