Lines Matching +full:- +full:p
1 /* ----------------------------------------------------------------------
4 * Description: Q31 complex-by-complex multiplication
9 * Target Processor: Cortex-M and Cortex-A cores
10 * -------------------------------------------------------------------- */
12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.
14 * SPDX-License-Identifier: Apache-2.0
20 * www.apache.org/licenses/LICENSE-2.0
41 @brief Q31 complex-by-complex multiplication.
65 blkCnt -= 1; in arm_cmplx_mult_cmplx_q31()
75 /* C[2 * i] = A[2 * i] * B[2 * i] - A[2 * i + 1] * B[2 * i + 1]. */ in arm_cmplx_mult_cmplx_q31()
102 blkCnt--; in arm_cmplx_mult_cmplx_q31()
126 mve_pred16_t p = vctp32q(blkCnt); in arm_cmplx_mult_cmplx_q31() local
131 vecSrcA = vldrwq_z_s32(pSrcA, p); in arm_cmplx_mult_cmplx_q31()
132 vecSrcB = vldrwq_z_s32(pSrcB, p); in arm_cmplx_mult_cmplx_q31()
134 vecDst = vqdmlsdhq_m(vuninitializedq_s32(), vecSrcA, vecSrcB, p); in arm_cmplx_mult_cmplx_q31()
135 vecDst = vqdmladhxq_m(vecDst, vecSrcA, vecSrcB, p); in arm_cmplx_mult_cmplx_q31()
137 vecDst = vshrq_m(vuninitializedq_s32(), vecDst, 2, p); in arm_cmplx_mult_cmplx_q31()
138 vstrwq_p_s32(pDst, vecDst, p); in arm_cmplx_mult_cmplx_q31()
141 blkCnt -= 4; in arm_cmplx_mult_cmplx_q31()
147 mve_pred16_t p = vctp32q(blkCnt); in arm_cmplx_mult_cmplx_q31() local
149 vecSrcA = vldrwq_z_s32(pSrcA, p); in arm_cmplx_mult_cmplx_q31()
150 vecSrcB = vldrwq_z_s32(pSrcB, p); in arm_cmplx_mult_cmplx_q31()
152 vecDst = vqdmlsdhq_m(vuninitializedq_s32(), vecSrcA, vecSrcB, p); in arm_cmplx_mult_cmplx_q31()
153 vecDst = vqdmladhxq_m(vecDst, vecSrcA, vecSrcB, p); in arm_cmplx_mult_cmplx_q31()
155 vecDst = vshrq_m(vuninitializedq_s32(), vecDst, 2, p); in arm_cmplx_mult_cmplx_q31()
156 vstrwq_p_s32(pDst, vecDst, p); in arm_cmplx_mult_cmplx_q31()
162 blkCnt -= 4; in arm_cmplx_mult_cmplx_q31()
183 /* C[2 * i ] = A[2 * i] * B[2 * i ] - A[2 * i + 1] * B[2 * i + 1]. */ in arm_cmplx_mult_cmplx_q31()
191 *pDst++ = (q31_t) ( (((q63_t) a * c) >> 33) - (((q63_t) b * d) >> 33) ); in arm_cmplx_mult_cmplx_q31()
198 *pDst++ = (q31_t) ( (((q63_t) a * c) >> 33) - (((q63_t) b * d) >> 33) ); in arm_cmplx_mult_cmplx_q31()
205 *pDst++ = (q31_t) ( (((q63_t) a * c) >> 33) - (((q63_t) b * d) >> 33) ); in arm_cmplx_mult_cmplx_q31()
212 *pDst++ = (q31_t) ( (((q63_t) a * c) >> 33) - (((q63_t) b * d) >> 33) ); in arm_cmplx_mult_cmplx_q31()
216 blkCnt--; in arm_cmplx_mult_cmplx_q31()
231 /* C[2 * i ] = A[2 * i] * B[2 * i ] - A[2 * i + 1] * B[2 * i + 1]. */ in arm_cmplx_mult_cmplx_q31()
240 *pDst++ = (q31_t) ( (((q63_t) a * c) >> 33) - (((q63_t) b * d) >> 33) ); in arm_cmplx_mult_cmplx_q31()
244 blkCnt--; in arm_cmplx_mult_cmplx_q31()