]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - Vc/include/Vc/common/support.h
update to Vc 0.7.3-dev
[u/mrichter/AliRoot.git] / Vc / include / Vc / common / support.h
index e2f096754cf52be967838cd53cef38e094187028..fd771e37a076a05f1619d8177624d7a25009b1ae 100644 (file)
@@ -1,95 +1,7 @@
-/*  This file is part of the Vc library.
-
-    Copyright (C) 2010-2012 Matthias Kretz <kretz@kde.org>
-
-    Vc is free software: you can redistribute it and/or modify
-    it under the terms of the GNU Lesser General Public License as
-    published by the Free Software Foundation, either version 3 of
-    the License, or (at your option) any later version.
-
-    Vc is distributed in the hope that it will be useful, but
-    WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with Vc.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifndef VC_COMMON_SUPPORT_H
-#define VC_COMMON_SUPPORT_H
-
-#ifndef VC_GLOBAL_H
-#error "Vc/global.h must be included first!"
+#ifndef VC_DEPRECATED_COMMON_SUPPORT_H
+#define VC_DEPRECATED_COMMON_SUPPORT_H
+#ifdef __GNUC__
+#warning "the <Vc/common/support.h> header is deprecated. Use <Vc/support.h> instead."
 #endif
-
-namespace Vc
-{
-
-/**
- * \ingroup Utilities
- *
- * Tests whether the given implementation is supported by the system the code is executing on.
- *
- * \return \c true if the OS and hardware support execution of instructions defined by \p impl.
- * \return \c false otherwise
- *
- * \param impl The SIMD target to test for.
- */
-bool isImplementationSupported(Vc::Implementation impl);
-
-#ifndef VC_COMPILE_LIB
-/**
- * \ingroup Utilities
- *
- * Tests that the CPU and Operating System support the vector unit which was compiled for. This
- * function should be called before any other Vc functionality is used. It checks whether the program
- * will work. If this function returns \c false then the program should exit with a useful error
- * message before the OS has to kill it because of an invalid instruction exception.
- *
- * If the program continues and makes use of any vector features not supported by
- * hard- or software then the program will crash.
- *
- * Example:
- * \code
- * int main()
- * {
- *   if (!Vc::currentImplementationSupported()) {
- *     std::cerr << "CPU or OS requirements not met for the compiled in vector unit!\n";
- *     exit -1;
- *   }
- *   ...
- * }
- * \endcode
- *
- * \return \c true if the OS and hardware support execution of the currently selected SIMD
- *                 instructions.
- * \return \c false otherwise
- */
-#ifdef VC_GCC
-    __attribute__((target("no-sse2,no-avx")))
-#endif
-bool currentImplementationSupported()
-{
-    return isImplementationSupported(
-#ifdef VC_USE_VEX_CODING
-            // everything will use VEX coding, so the system has to support AVX even if VC_IMPL_AVX
-            // is not set
-            AVXImpl
-#else
-            VC_IMPL
-#endif
-#ifdef VC_IMPL_XOP
-            ) && isImplementationSupported(XopImpl
-#endif
-#ifdef VC_IMPL_FMA4
-            ) && isImplementationSupported(Fma4Impl
-#endif
-            );
-}
-#endif // VC_COMPILE_LIB
-
-} // namespace Vc
-
-#endif // VC_COMMON_SUPPORT_H
+#include <Vc/support.h>
+#endif // VC_DEPRECATED_COMMON_SUPPORT_H