Path: blob/master/thirdparty/embree/common/simd/avx512.h
9912 views
// Copyright 2009-2021 Intel Corporation1// SPDX-License-Identifier: Apache-2.023#pragma once45#include "../sys/platform.h"6#include "../sys/intrinsics.h"7#include "../math/constants.h"8#include "../sys/alloc.h"9#include "varying.h"1011#include "vboolf16_avx512.h"12#include "vint16_avx512.h"13#include "vuint16_avx512.h"14#include "vfloat16_avx512.h"1516#include "vboold8_avx512.h"17#include "vllong8_avx512.h"18#include "vdouble8_avx512.h"1920namespace embree21{22////////////////////////////////////////////////////////////////////////////////23/// Prefetching24////////////////////////////////////////////////////////////////////////////////2526#define PFHINT_L1 027#define PFHINT_L2 128#define PFHINT_NT 22930template<const unsigned int mode>31__forceinline void prefetch(const void * __restrict__ const m)32{33if (mode == PFHINT_L1)34_mm_prefetch((const char*)m,_MM_HINT_T0);35else if (mode == PFHINT_L2)36_mm_prefetch((const char*)m,_MM_HINT_T1);37else if (mode == PFHINT_NT)38_mm_prefetch((const char*)m,_MM_HINT_NTA);39}40}414243