GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / ia64 / include / asm / xor.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Optimized RAID-5 checksumming functions for IA-64.
4  */
5
6
7 extern void xor_ia64_2(unsigned long bytes, unsigned long * __restrict p1,
8                        const unsigned long * __restrict p2);
9 extern void xor_ia64_3(unsigned long bytes, unsigned long * __restrict p1,
10                        const unsigned long * __restrict p2,
11                        const unsigned long * __restrict p3);
12 extern 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);
16 extern 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
22 static 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)