sse.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2009-2021 Intel Corporation
  2. // SPDX-License-Identifier: Apache-2.0
  3. #include "sse.h"
  4. namespace embree
  5. {
  6. const __m128 mm_lookupmask_ps[16] = {
  7. _mm_castsi128_ps(_mm_set_epi32( 0, 0, 0, 0)),
  8. _mm_castsi128_ps(_mm_set_epi32( 0, 0, 0,-1)),
  9. _mm_castsi128_ps(_mm_set_epi32( 0, 0,-1, 0)),
  10. _mm_castsi128_ps(_mm_set_epi32( 0, 0,-1,-1)),
  11. _mm_castsi128_ps(_mm_set_epi32( 0,-1, 0, 0)),
  12. _mm_castsi128_ps(_mm_set_epi32( 0,-1, 0,-1)),
  13. _mm_castsi128_ps(_mm_set_epi32( 0,-1,-1, 0)),
  14. _mm_castsi128_ps(_mm_set_epi32( 0,-1,-1,-1)),
  15. _mm_castsi128_ps(_mm_set_epi32(-1, 0, 0, 0)),
  16. _mm_castsi128_ps(_mm_set_epi32(-1, 0, 0,-1)),
  17. _mm_castsi128_ps(_mm_set_epi32(-1, 0,-1, 0)),
  18. _mm_castsi128_ps(_mm_set_epi32(-1, 0,-1,-1)),
  19. _mm_castsi128_ps(_mm_set_epi32(-1,-1, 0, 0)),
  20. _mm_castsi128_ps(_mm_set_epi32(-1,-1, 0,-1)),
  21. _mm_castsi128_ps(_mm_set_epi32(-1,-1,-1, 0)),
  22. _mm_castsi128_ps(_mm_set_epi32(-1,-1,-1,-1))
  23. };
  24. const __m128d mm_lookupmask_pd[4] = {
  25. _mm_castsi128_pd(_mm_set_epi32( 0, 0, 0, 0)),
  26. _mm_castsi128_pd(_mm_set_epi32( 0, 0,-1,-1)),
  27. _mm_castsi128_pd(_mm_set_epi32(-1,-1, 0, 0)),
  28. _mm_castsi128_pd(_mm_set_epi32(-1,-1,-1,-1))
  29. };
  30. }