Vector Optimized Library of Kernels 3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
volk_64u_byteswappuppet_64u.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2014, 2015, 2018, 2020 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_byteswappuppet_64u_H
11#define INCLUDED_volk_64u_byteswappuppet_64u_H
12
13
14#include <stdint.h>
15#include <string.h>
17
18#ifdef LV_HAVE_GENERIC
19static inline void volk_64u_byteswappuppet_64u_generic(uint64_t* output,
20 uint64_t* intsToSwap,
21 unsigned int num_points)
22{
23
24 volk_64u_byteswap_generic((uint64_t*)intsToSwap, num_points);
25 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
26}
27#endif
28
29#ifdef LV_HAVE_SSE2
30static inline void volk_64u_byteswappuppet_64u_u_sse2(uint64_t* output,
31 uint64_t* intsToSwap,
32 unsigned int num_points)
33{
34
35 volk_64u_byteswap_u_sse2((uint64_t*)intsToSwap, num_points);
36 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
37}
38#endif
39
40#ifdef LV_HAVE_SSE2
41static inline void volk_64u_byteswappuppet_64u_a_sse2(uint64_t* output,
42 uint64_t* intsToSwap,
43 unsigned int num_points)
44{
45
46 volk_64u_byteswap_a_sse2((uint64_t*)intsToSwap, num_points);
47 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
48}
49#endif
50
51#ifdef LV_HAVE_SSSE3
52static inline void volk_64u_byteswappuppet_64u_u_ssse3(uint64_t* output,
53 uint64_t* intsToSwap,
54 unsigned int num_points)
55{
56
57 volk_64u_byteswap_u_ssse3((uint64_t*)intsToSwap, num_points);
58 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
59}
60#endif
61
62#ifdef LV_HAVE_SSSE3
63static inline void volk_64u_byteswappuppet_64u_a_ssse3(uint64_t* output,
64 uint64_t* intsToSwap,
65 unsigned int num_points)
66{
67
68 volk_64u_byteswap_a_ssse3((uint64_t*)intsToSwap, num_points);
69 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
70}
71#endif
72
73#ifdef LV_HAVE_AVX2
74static inline void volk_64u_byteswappuppet_64u_u_avx2(uint64_t* output,
75 uint64_t* intsToSwap,
76 unsigned int num_points)
77{
78
79 volk_64u_byteswap_u_avx2((uint64_t*)intsToSwap, num_points);
80 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
81}
82#endif
83
84#ifdef LV_HAVE_AVX2
85static inline void volk_64u_byteswappuppet_64u_a_avx2(uint64_t* output,
86 uint64_t* intsToSwap,
87 unsigned int num_points)
88{
89
90 volk_64u_byteswap_a_avx2((uint64_t*)intsToSwap, num_points);
91 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
92}
93#endif
94
95#ifdef LV_HAVE_RVV
96static inline void volk_64u_byteswappuppet_64u_rvv(uint64_t* output,
97 uint64_t* intsToSwap,
98 unsigned int num_points)
99{
100
101 volk_64u_byteswap_rvv((uint64_t*)intsToSwap, num_points);
102 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
103}
104#endif
105
106#ifdef LV_HAVE_RVA23
107static inline void volk_64u_byteswappuppet_64u_rva23(uint64_t* output,
108 uint64_t* intsToSwap,
109 unsigned int num_points)
110{
111
112 volk_64u_byteswap_rva23((uint64_t*)intsToSwap, num_points);
113 memcpy((void*)output, (void*)intsToSwap, num_points * sizeof(uint64_t));
114}
115#endif
116
117#endif
static void volk_64u_byteswap_a_ssse3(uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswap.h:187
static void volk_64u_byteswap_a_sse2(uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswap.h:242
static void volk_64u_byteswap_u_ssse3(uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswap.h:342
static void volk_64u_byteswap_u_sse2(uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswap.h:62
static void volk_64u_byteswap_generic(uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswap.h:115
static void volk_64u_byteswappuppet_64u_generic(uint64_t *output, uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswappuppet_64u.h:19
static void volk_64u_byteswappuppet_64u_u_sse2(uint64_t *output, uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswappuppet_64u.h:30
static void volk_64u_byteswappuppet_64u_a_ssse3(uint64_t *output, uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswappuppet_64u.h:63
static void volk_64u_byteswappuppet_64u_u_ssse3(uint64_t *output, uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswappuppet_64u.h:52
static void volk_64u_byteswappuppet_64u_a_sse2(uint64_t *output, uint64_t *intsToSwap, unsigned int num_points)
Definition volk_64u_byteswappuppet_64u.h:41