Loading...
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Optimized RAID-5 checksumming functions for IA-64.
4 */
5
6
7extern void xor_ia64_2(unsigned long, unsigned long *, unsigned long *);
8extern void xor_ia64_3(unsigned long, unsigned long *, unsigned long *,
9 unsigned long *);
10extern void xor_ia64_4(unsigned long, unsigned long *, unsigned long *,
11 unsigned long *, unsigned long *);
12extern void xor_ia64_5(unsigned long, unsigned long *, unsigned long *,
13 unsigned long *, unsigned long *, unsigned long *);
14
15static struct xor_block_template xor_block_ia64 = {
16 .name = "ia64",
17 .do_2 = xor_ia64_2,
18 .do_3 = xor_ia64_3,
19 .do_4 = xor_ia64_4,
20 .do_5 = xor_ia64_5,
21};
22
23#define XOR_TRY_TEMPLATES xor_speed(&xor_block_ia64)
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Optimized RAID-5 checksumming functions for IA-64.
4 */
5
6
7extern void xor_ia64_2(unsigned long bytes, unsigned long * __restrict p1,
8 const unsigned long * __restrict p2);
9extern void xor_ia64_3(unsigned long bytes, unsigned long * __restrict p1,
10 const unsigned long * __restrict p2,
11 const unsigned long * __restrict p3);
12extern void xor_ia64_4(unsigned long bytes, unsigned long * __restrict p1,
13 const unsigned long * __restrict p2,
14 const unsigned long * __restrict p3,
15 const unsigned long * __restrict p4);
16extern void xor_ia64_5(unsigned long bytes, unsigned long * __restrict p1,
17 const unsigned long * __restrict p2,
18 const unsigned long * __restrict p3,
19 const unsigned long * __restrict p4,
20 const unsigned long * __restrict p5);
21
22static struct xor_block_template xor_block_ia64 = {
23 .name = "ia64",
24 .do_2 = xor_ia64_2,
25 .do_3 = xor_ia64_3,
26 .do_4 = xor_ia64_4,
27 .do_5 = xor_ia64_5,
28};
29
30#define XOR_TRY_TEMPLATES xor_speed(&xor_block_ia64)