| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Optimized RAID-5 checksumming functions for IA-64. |
| */ |
| |
| |
| extern void xor_ia64_2(unsigned long bytes, unsigned long * __restrict p1, |
| const unsigned long * __restrict p2); |
| extern void xor_ia64_3(unsigned long bytes, unsigned long * __restrict p1, |
| const unsigned long * __restrict p2, |
| const unsigned long * __restrict p3); |
| extern void xor_ia64_4(unsigned long bytes, unsigned long * __restrict p1, |
| const unsigned long * __restrict p2, |
| const unsigned long * __restrict p3, |
| const unsigned long * __restrict p4); |
| extern void xor_ia64_5(unsigned long bytes, unsigned long * __restrict p1, |
| const unsigned long * __restrict p2, |
| const unsigned long * __restrict p3, |
| const unsigned long * __restrict p4, |
| const unsigned long * __restrict p5); |
| |
| static struct xor_block_template xor_block_ia64 = { |
| .name = "ia64", |
| .do_2 = xor_ia64_2, |
| .do_3 = xor_ia64_3, |
| .do_4 = xor_ia64_4, |
| .do_5 = xor_ia64_5, |
| }; |
| |
| #define XOR_TRY_TEMPLATES xor_speed(&xor_block_ia64) |