Files
libreoffice/tools/qa/cppunit/test_cpuid.cxx
Tomaž Vajngerl c13a664c5f Don't compile cpuid test with INTRINSICS_CXXFLAGS
This will compile test with maximal supported instruction set
supported by the compiler, but the CPU might not support the
instructions sets. As this tests some aspects of runtime CPU
detection only we actually don't need to compile it with the
INTRINSICS_CXXFLAGS flags.

Change-Id: I612785949b42efbd08d1961a746025f66e99aebc
Reviewed-on: https://gerrit.libreoffice.org/82422
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-11-11 22:21:38 +01:00

59 lines
1.6 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <cppunit/TestAssert.h>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/plugin/TestPlugIn.h>
#include <tools/cpuid.hxx>
#include <rtl/ustring.hxx>
namespace
{
class CpuInstructionSetSupport : public CppUnit::TestFixture
{
public:
void testCpuInstructionSetSupport();
CPPUNIT_TEST_SUITE(CpuInstructionSetSupport);
CPPUNIT_TEST(testCpuInstructionSetSupport);
CPPUNIT_TEST_SUITE_END();
};
void CpuInstructionSetSupport::testCpuInstructionSetSupport()
{
OUString aString = cpuid::instructionSetSupportedString();
if (cpuid::isCpuInstructionSetSupported(cpuid::InstructionSetFlags::SSE2))
{
CPPUNIT_ASSERT(aString.indexOf("SSE2") >= 0);
}
if (cpuid::isCpuInstructionSetSupported(cpuid::InstructionSetFlags::SSSE3))
{
CPPUNIT_ASSERT(aString.indexOf("SSSE3") >= 0);
}
if (cpuid::isCpuInstructionSetSupported(cpuid::InstructionSetFlags::AVX))
{
CPPUNIT_ASSERT(aString.indexOf("AVX") > 0);
}
if (cpuid::isCpuInstructionSetSupported(cpuid::InstructionSetFlags::AVX2))
{
CPPUNIT_ASSERT(aString.indexOf("AVX2") > 0);
}
}
CPPUNIT_TEST_SUITE_REGISTRATION(CpuInstructionSetSupport);
} // end anonymous namespace
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */