1*5f757f3fSDimitry Andric // -*- C++ -*- 2*5f757f3fSDimitry Andric //===----------------------------------------------------------------------===// 3*5f757f3fSDimitry Andric // 4*5f757f3fSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*5f757f3fSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 6*5f757f3fSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*5f757f3fSDimitry Andric // 8*5f757f3fSDimitry Andric //===----------------------------------------------------------------------===// 9*5f757f3fSDimitry Andric 10*5f757f3fSDimitry Andric #ifndef _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H 11*5f757f3fSDimitry Andric #define _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H 12*5f757f3fSDimitry Andric 13*5f757f3fSDimitry Andric #include <experimental/__config> 14*5f757f3fSDimitry Andric #include <experimental/__simd/abi_tag.h> 15*5f757f3fSDimitry Andric 16*5f757f3fSDimitry Andric #if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL) 17*5f757f3fSDimitry Andric 18*5f757f3fSDimitry Andric _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL 19*5f757f3fSDimitry Andric inline namespace parallelism_v2 { 20*5f757f3fSDimitry Andric 21*5f757f3fSDimitry Andric template <class _Tp, class _Abi = simd_abi::compatible<_Tp>> 22*5f757f3fSDimitry Andric class simd; 23*5f757f3fSDimitry Andric 24*5f757f3fSDimitry Andric template <class _Tp, class _Abi = simd_abi::compatible<_Tp>> 25*5f757f3fSDimitry Andric class simd_mask; 26*5f757f3fSDimitry Andric 27*5f757f3fSDimitry Andric } // namespace parallelism_v2 28*5f757f3fSDimitry Andric _LIBCPP_END_NAMESPACE_EXPERIMENTAL 29*5f757f3fSDimitry Andric 30*5f757f3fSDimitry Andric #endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL) 31*5f757f3fSDimitry Andric #endif // _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H 32