xref: /openbmc/linux/arch/powerpc/lib/xor_vmx.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2f718d426SMatt Brown /*
3f718d426SMatt Brown  * Simple interface to link xor_vmx.c and xor_vmx_glue.c
4f718d426SMatt Brown  *
5f718d426SMatt Brown  * Separating these file ensures that no altivec instructions are run
6f718d426SMatt Brown  * outside of the enable/disable altivec block.
7f718d426SMatt Brown  */
8f718d426SMatt Brown 
9*297565aaSArd Biesheuvel void __xor_altivec_2(unsigned long bytes, unsigned long * __restrict p1,
10*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p2);
11*297565aaSArd Biesheuvel void __xor_altivec_3(unsigned long bytes, unsigned long * __restrict p1,
12*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p2,
13*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p3);
14*297565aaSArd Biesheuvel void __xor_altivec_4(unsigned long bytes, unsigned long * __restrict p1,
15*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p2,
16*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p3,
17*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p4);
18*297565aaSArd Biesheuvel void __xor_altivec_5(unsigned long bytes, unsigned long * __restrict p1,
19*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p2,
20*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p3,
21*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p4,
22*297565aaSArd Biesheuvel 		     const unsigned long * __restrict p5);
23