build: rework x86 CPU variants

Type: improvement
Change-Id: Ief243f88e654e578ef9b8060fcf535b364aececb
Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
Damjan Marion
2020-04-29 21:28:15 +02:00
parent dc0ded7dd7
commit 162330f25a
13 changed files with 85 additions and 47 deletions

View File

@ -67,48 +67,73 @@ class TestNodeVariant(VppTestCase):
self.assertEqual(variant_info[0], variant)
class TestAVX512Variant(TestNodeVariant):
""" Test avx512 Node Variants """
class TestICLVariant(TestNodeVariant):
""" Test icl Node Variants """
VARIANT = "avx512"
LINUX_VARIANT = VARIANT + "f"
VARIANT = "icl"
LINUX_VARIANT = "avx512_bitalg"
@classmethod
def setUpConstants(cls):
super(TestAVX512Variant, cls).setUpConstants(cls.VARIANT)
super(TestICLVariant, cls).setUpConstants(cls.VARIANT)
@classmethod
def setUpClass(cls):
super(TestAVX512Variant, cls).setUpClass()
super(TestICLVariant, cls).setUpClass()
@classmethod
def tearDownClass(cls):
super(TestAVX512Variant, cls).tearDownClass()
super(TestICLVariant, cls).tearDownClass()
@unittest.skipUnless(skipVariant(LINUX_VARIANT),
VARIANT + " not a supported variant, skip.")
def test_avx512(self):
def test_icl(self):
self.checkVariant(self.VARIANT)
class TestAVX2Variant(TestNodeVariant):
""" Test avx2 Node Variants """
class TestSKXVariant(TestNodeVariant):
""" Test skx Node Variants """
VARIANT = "avx2"
VARIANT = "skx"
LINUX_VARIANT = "avx512f"
@classmethod
def setUpConstants(cls):
super(TestAVX2Variant, cls).setUpConstants(cls.VARIANT)
super(TestSKXVariant, cls).setUpConstants(cls.VARIANT)
@classmethod
def setUpClass(cls):
super(TestAVX2Variant, cls).setUpClass()
super(TestSKXVariant, cls).setUpClass()
@classmethod
def tearDownClass(cls):
super(TestAVX2Variant, cls).tearDownClass()
super(TestSKXVariant, cls).tearDownClass()
@unittest.skipUnless(skipVariant(VARIANT),
@unittest.skipUnless(skipVariant(LINUX_VARIANT),
VARIANT + " not a supported variant, skip.")
def test_avx2(self):
def test_skx(self):
self.checkVariant(self.VARIANT)
class TestHSWVariant(TestNodeVariant):
""" Test avx2 Node Variants """
VARIANT = "hsw"
LINUX_VARIANT = "avx2"
@classmethod
def setUpConstants(cls):
super(TestHSWVariant, cls).setUpConstants(cls.VARIANT)
@classmethod
def setUpClass(cls):
super(TestHSWVariant, cls).setUpClass()
@classmethod
def tearDownClass(cls):
super(TestHSWVariant, cls).tearDownClass()
@unittest.skipUnless(skipVariant(LINUX_VARIANT),
VARIANT + " not a supported variant, skip.")
def test_hsw(self):
self.checkVariant(self.VARIANT)