162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Simple interface to link xor_vmx.c and xor_vmx_glue.c
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Separating these file ensures that no altivec instructions are run
662306a36Sopenharmony_ci * outside of the enable/disable altivec block.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_civoid __xor_altivec_2(unsigned long bytes, unsigned long * __restrict p1,
1062306a36Sopenharmony_ci		     const unsigned long * __restrict p2);
1162306a36Sopenharmony_civoid __xor_altivec_3(unsigned long bytes, unsigned long * __restrict p1,
1262306a36Sopenharmony_ci		     const unsigned long * __restrict p2,
1362306a36Sopenharmony_ci		     const unsigned long * __restrict p3);
1462306a36Sopenharmony_civoid __xor_altivec_4(unsigned long bytes, unsigned long * __restrict p1,
1562306a36Sopenharmony_ci		     const unsigned long * __restrict p2,
1662306a36Sopenharmony_ci		     const unsigned long * __restrict p3,
1762306a36Sopenharmony_ci		     const unsigned long * __restrict p4);
1862306a36Sopenharmony_civoid __xor_altivec_5(unsigned long bytes, unsigned long * __restrict p1,
1962306a36Sopenharmony_ci		     const unsigned long * __restrict p2,
2062306a36Sopenharmony_ci		     const unsigned long * __restrict p3,
2162306a36Sopenharmony_ci		     const unsigned long * __restrict p4,
2262306a36Sopenharmony_ci		     const unsigned long * __restrict p5);
23