Vector Optimized Library of Kernels 3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
volk_64u_popcntpuppet_64u.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2014 Free Software Foundation, Inc.
4 *
5 * This file is part of VOLK
6 *
7 * SPDX-License-Identifier: LGPL-3.0-or-later
8 */
9
10#ifndef INCLUDED_volk_64u_popcntpuppet_64u_H
11#define INCLUDED_volk_64u_popcntpuppet_64u_H
12
13#include <stdint.h>
14#include <string.h>
16
17#ifdef LV_HAVE_GENERIC
18static inline void volk_64u_popcntpuppet_64u_generic(uint64_t* outVector,
19 const uint64_t* inVector,
20 unsigned int num_points)
21{
22 for (size_t i = 0; i < num_points; ++i) {
23 volk_64u_popcnt_generic(outVector + i, inVector[i]);
24 }
25}
26#endif /* LV_HAVE_GENERIC */
27
28#if LV_HAVE_SSE4_2 && LV_HAVE_64
29static inline void volk_64u_popcntpuppet_64u_a_sse4_2(uint64_t* outVector,
30 const uint64_t* inVector,
31 unsigned int num_points)
32{
33 for (size_t i = 0; i < num_points; ++i) {
34 volk_64u_popcnt_a_sse4_2(outVector + i, inVector[i]);
35 }
36}
37#endif /* LV_HAVE_SSE4_2 */
38
39#ifdef LV_HAVE_NEON
40static inline void volk_64u_popcntpuppet_64u_neon(uint64_t* outVector,
41 const uint64_t* inVector,
42 unsigned int num_points)
43{
44 for (size_t i = 0; i < num_points; ++i) {
45 volk_64u_popcnt_neon(outVector + i, inVector[i]);
46 }
47}
48#endif /* LV_HAVE_NEON */
49
50#ifdef LV_HAVE_RVV
51static inline void volk_64u_popcntpuppet_64u_rvv(uint64_t* outVector,
52 const uint64_t* inVector,
53 unsigned int num_points)
54{
55 for (size_t i = 0; i < num_points; ++i) {
56 volk_64u_popcnt_rvv(outVector + i, inVector[i]);
57 }
58}
59#endif /* LV_HAVE_RVV */
60
61#ifdef LV_HAVE_RVA22V
62static inline void volk_64u_popcntpuppet_64u_rva22(uint64_t* outVector,
63 const uint64_t* inVector,
64 unsigned int num_points)
65{
66 for (size_t i = 0; i < num_points; ++i) {
67 volk_64u_popcnt_rva22(outVector + i, inVector[i]);
68 }
69}
70#endif /* LV_HAVE_RVA22V */
71
72#endif /* INCLUDED_volk_32fc_s32fc_rotatorpuppet_32fc_a_H */
static void volk_64u_popcnt_neon(uint64_t *ret, const uint64_t value)
Definition volk_64u_popcnt.h:101
static void volk_64u_popcnt_generic(uint64_t *ret, const uint64_t value)
Definition volk_64u_popcnt.h:57
static void volk_64u_popcntpuppet_64u_generic(uint64_t *outVector, const uint64_t *inVector, unsigned int num_points)
Definition volk_64u_popcntpuppet_64u.h:18
static void volk_64u_popcntpuppet_64u_neon(uint64_t *outVector, const uint64_t *inVector, unsigned int num_points)
Definition volk_64u_popcntpuppet_64u.h:40
for i
Definition volk_config_fixed.tmpl.h:13