mirror of https://github.com/F-Stack/f-stack.git
37 lines
748 B
C
37 lines
748 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2016-2020 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _DLB_INLINE_FNS_H_
|
|
#define _DLB_INLINE_FNS_H_
|
|
|
|
#include "rte_memcpy.h"
|
|
#include "rte_io.h"
|
|
|
|
/* Inline functions required in more than one source file. */
|
|
|
|
static inline struct dlb_eventdev *
|
|
dlb_pmd_priv(const struct rte_eventdev *eventdev)
|
|
{
|
|
return eventdev->data->dev_private;
|
|
}
|
|
|
|
static inline void
|
|
dlb_movntdq_single(void *dest, void *src)
|
|
{
|
|
long long *_src = (long long *)src;
|
|
__m128i src_data0 = (__m128i){_src[0], _src[1]};
|
|
|
|
_mm_stream_si128(dest, src_data0);
|
|
}
|
|
|
|
static inline void
|
|
dlb_movdir64b(void *dest, void *src)
|
|
{
|
|
asm volatile(".byte 0x66, 0x0f, 0x38, 0xf8, 0x02"
|
|
:
|
|
: "a" (dest), "d" (src));
|
|
}
|
|
|
|
#endif /* _DLB_INLINE_FNS_H_ */
|