8 Commits

Author SHA1 Message Date
Damjan Marion
1c80e831b7 Add support for multiple microarchitectures in single binary
* compiler -march= parameter is changed from native to corei7
   so code is always genereted with instructions which are available
   on the Nehalem microarchitecture (up to SSE4.2)

 * compiler -mtune= parameter is added so code is optimized for
   corei7-avx which equals to Sandy Bridge microarchitecture

 * set of macros is added which allows run-time detection of available
   cpu instructions (e.g. clib_cpu_supports_avx())

 * set of macros is added which allows us to clone graph node funcitons
   where cloned function is optmized for different microarchitecture
   Those macros are using following attributes:
     __attribute__((flatten))
     __attribute__((target("arch=core-avx2)))

   I.e. If applied to foo_node_fn() macro will generate cloned
   functions foo_node_fn_avx2() and foo_node_fn_avx512() (future)
   It will also generate function void * foo_node_fn_multiarch_select()
   which detects available instruction set and returns pointer to the
   best matching function clone.

Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-19 18:14:38 +02:00
Dave Barach
459a11a07a Remove historical tags, fix the debug tag
Change-Id: I013784aeef5ae6b5ba4a30c7759e9daff3c2c576
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-30 10:24:56 -04:00
Ed Warnicke
46040a513b Fix distclean to correctly handle Centos
Change-Id: I3f930306e9f384011687d2ce88052639df0d966b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-25 20:37:40 +00:00
Damjan Marion
2e89a894a4 Reduce number of parallel gcc invocations from 4 to 2 per cpu
Some build hosts can run out of memory during compilation.
This should reduce memory demand without affecting build time.

Change-Id: I11bd2884a1f8885a8a332bbbf0a63324a3079c3b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-24 17:20:14 +01:00
Dave Barach
c42508d158 Allow CCACHE_DIR to be overridden, e.g. from .../build-root/build-config.mk
Change-Id: I9f2afa31c061b658e45ebbc16d01a6c118993116
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-27 18:35:14 +00:00
Dave Barach
61efa140b1 aarch64 CPU arch / ThunderX platform initial support
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22 08:23:27 -05:00
Dave Barach
7210e9470e Remove autotools generated products
Change-Id: I7f23b8b8e5136cb56768bac3a7473e6df5ee4993
Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-15 19:06:39 -05:00
Ed Warnicke
cb9cadad57 Initial commit of vpp code.
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-08 15:47:27 -07:00