float4_t.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Copyright 2010-2015 Branimir Karadzic. All rights reserved.
  3. * License: http://www.opensource.org/licenses/BSD-2-Clause
  4. */
  5. #ifndef BX_FLOAT4_T_H_HEADER_GUARD
  6. #define BX_FLOAT4_T_H_HEADER_GUARD
  7. #include "bx.h"
  8. #define BX_FLOAT4_FORCE_INLINE BX_FORCE_INLINE
  9. #define BX_FLOAT4_INLINE static inline
  10. #if defined(__SSE2__) || (BX_COMPILER_MSVC && (BX_ARCH_64BIT || _M_IX86_FP >= 2) )
  11. # include "float4_sse.h"
  12. #elif defined(__ARM_NEON__) && !BX_COMPILER_CLANG
  13. # include "float4_neon.h"
  14. #elif BX_COMPILER_CLANG \
  15. && !BX_PLATFORM_EMSCRIPTEN \
  16. && !BX_PLATFORM_IOS \
  17. && BX_CLANG_HAS_EXTENSION(attribute_ext_vector_type)
  18. # include "float4_langext.h"
  19. #else
  20. # ifndef BX_FLOAT4_WARN_REFERENCE_IMPL
  21. # define BX_FLOAT4_WARN_REFERENCE_IMPL 0
  22. # endif // BX_FLOAT4_WARN_REFERENCE_IMPL
  23. # if BX_FLOAT4_WARN_REFERENCE_IMPL
  24. # pragma message("************************************\nUsing SIMD reference implementation!\n************************************")
  25. # endif // BX_FLOAT4_WARN_REFERENCE_IMPL
  26. # include "float4_ref.h"
  27. #endif //
  28. #endif // BX_FLOAT4_T_H_HEADER_GUARD