Lines Matching full:8

106   \brief   Quad 8-bit saturating addition.
107 \details This function enables you to perform four 8-bit integer additions,
108 saturating the results to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1.
109 \param [in] x first four 8-bit summands.
110 \param [in] y second four 8-bit summands.
115 … The returned results are saturated to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1.
118 res[15:8] = val1[15:8] + val2[15:8] \n
126 r = __SSAT(((((int32_t)x << 24) >> 24) + (((int32_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF; in __QADD8()
127 s = __SSAT(((((int32_t)x << 16) >> 24) + (((int32_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF; in __QADD8()
128 t = __SSAT(((((int32_t)x << 8) >> 24) + (((int32_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF; in __QADD8()
129 u = __SSAT(((((int32_t)x) >> 24) + (((int32_t)y) >> 24)), 8) & (int32_t)0x000000FF; in __QADD8()
131 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); in __QADD8()
135 \brief Quad 8-bit unsigned saturating addition.
136 \details This function enables you to perform four unsigned 8-bit integer additions,
137 saturating the results to the 8-bit unsigned integer range 0 < x < 2^8 - 1.
138 \param [in] x first four 8-bit summands.
139 \param [in] y second four 8-bit summands.
144 … The returned results are saturated to the 8-bit signed integer range 0 <= x <= 2^8 - 1.
147 res[15:8] = val1[15:8] + val2[15:8] \n
155 r = __IUSAT((((x << 24) >> 24) + ((y << 24) >> 24)), 8) & 0x000000FF; in __UQADD8()
156 s = __IUSAT((((x << 16) >> 24) + ((y << 16) >> 24)), 8) & 0x000000FF; in __UQADD8()
157 t = __IUSAT((((x << 8) >> 24) + ((y << 8) >> 24)), 8) & 0x000000FF; in __UQADD8()
158 u = __IUSAT((((x) >> 24) + ((y) >> 24)), 8) & 0x000000FF; in __UQADD8()
160 return ((u << 24) | (t << 16) | (s << 8) | (r)); in __UQADD8()
164 \brief Quad 8-bit signed addition.
165 \details This function performs four 8-bit signed integer additions.
166 \param [in] x first four 8-bit summands.
167 \param [in] y second four 8-bit summands.
174 res[15:8] = val1[15:8] + val2[15:8] \n
184 t = ((((int32_t)x << 8) >> 24) + (((int32_t)y << 8) >> 24)) & (int32_t)0x000000FF; in __SADD8()
187 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); in __SADD8()
191 \brief Quad 8-bit unsigned addition.
192 \details This function performs four unsigned 8-bit integer additions.
193 \param [in] x first four 8-bit summands.
194 \param [in] y second four 8-bit summands.
201 res[15:8] = val1[15:8] + val2[15:8] \n
211 t = (((x << 8) >> 24) + ((y << 8) >> 24)) & 0x000000FF; in __UADD8()
214 return ((u << 24) | (t << 16) | (s << 8) | (r)); in __UADD8()
218 \brief Quad 8-bit saturating subtract.
219 \details This function enables you to perform four 8-bit integer subtractions,
220 saturating the results to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1.
221 \param [in] x first four 8-bit summands.
222 \param [in] y second four 8-bit summands.
227 … The returned results are saturated to the 8-bit signed integer range -2^7 <= x <= 2^7 - 1.
230 res[15:8] = val1[15:8] - val2[15:8] \n
238 r = __SSAT(((((int32_t)x << 24) >> 24) - (((int32_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF; in __QSUB8()
239 s = __SSAT(((((int32_t)x << 16) >> 24) - (((int32_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF; in __QSUB8()
240 t = __SSAT(((((int32_t)x << 8) >> 24) - (((int32_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF; in __QSUB8()
241 u = __SSAT(((((int32_t)x) >> 24) - (((int32_t)y) >> 24)), 8) & (int32_t)0x000000FF; in __QSUB8()
243 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); in __QSUB8()
247 \brief Quad 8-bit unsigned saturating subtraction.
248 \details This function enables you to perform four unsigned 8-bit integer subtractions,
249 saturating the results to the 8-bit unsigned integer range 0 < x < 2^8 - 1.
250 \param [in] x first four 8-bit summands.
251 \param [in] y second four 8-bit summands.
256 … The returned results are saturated to the 8-bit unsigned integer range 0 <= x <= 2^8 - 1.
259 res[15:8] = val1[15:8] - val2[15:8] \n
267 r = __IUSAT((((x << 24) >> 24) - ((y << 24) >> 24)), 8) & 0x000000FF; in __UQSUB8()
268 s = __IUSAT((((x << 16) >> 24) - ((y << 16) >> 24)), 8) & 0x000000FF; in __UQSUB8()
269 t = __IUSAT((((x << 8) >> 24) - ((y << 8) >> 24)), 8) & 0x000000FF; in __UQSUB8()
270 u = __IUSAT((((x) >> 24) - ((y) >> 24)), 8) & 0x000000FF; in __UQSUB8()
272 return ((u << 24) | (t << 16) | (s << 8) | (r)); in __UQSUB8()
276 \brief Quad 8-bit signed subtraction.
277 \details This function enables you to perform four 8-bit signed integer subtractions.
278 \param [in] x first four 8-bit operands of each subtraction.
279 \param [in] y second four 8-bit operands of each subtraction.
286 res[15:8] = val1[15:8] - val2[15:8] \n
296 t = ((((int32_t)x << 8) >> 24) - (((int32_t)y << 8) >> 24)) & (int32_t)0x000000FF; in __SSUB8()
299 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); in __SSUB8()
303 \brief Quad 8-bit unsigned subtract.
304 \details This function enables you to perform four 8-bit unsigned integer subtractions.
305 \param [in] x first four 8-bit operands of each subtraction.
306 \param [in] y second four 8-bit operands of each subtraction.
313 res[15:8] = val1[15:8] - val2[15:8] \n
323 t = (((x << 8) >> 24) - ((y << 8) >> 24)) & 0x000000FF; in __USUB8()
326 return ((u << 24) | (t << 16) | (s << 8) | (r)); in __USUB8()
330 \brief Unsigned sum of quad 8-bit unsigned absolute difference.
331 …\details This function enables you to perform four unsigned 8-bit subtractions, and add the absolu…
333 \param [in] x first four 8-bit operands of each subtraction.
334 \param [in] y second four 8-bit operands of each subtraction.
342 absdiff2 = val1[15:8] - val2[15:8] \n
353 t = (((x << 8) >> 24) - ((y << 8) >> 24)) & 0x000000FF; in __USAD8()
360 \brief Unsigned sum of quad 8-bit unsigned absolute difference with 32-bit accumulate.
361 …\details This function enables you to perform four unsigned 8-bit subtractions, and add the absolu…
363 \param [in] x first four 8-bit operands of each subtraction.
364 \param [in] y second four 8-bit operands of each subtraction.
373 absdiff2 = val1[15:8] - val2[15:8] \n
385 t = (abs(((x << 8) >> 24) - ((y << 8) >> 24))) & 0x000000FF; in __USADA8()
523 \brief Quad 8-bit signed addition with halved results.
524 …\details This function enables you to perform four signed 8-bit integer additions, halving the res…
525 \param [in] x first four 8-bit summands.
526 \param [in] y second four 8-bit summands.
533 res[15:8] = (val1[15:8] + val2[15:8] ) >> 1 \n
543 t = (((((int32_t)x << 8) >> 24) + (((int32_t)y << 8) >> 24)) >> 1) & (int32_t)0x000000FF; in __SHADD8()
546 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); in __SHADD8()
550 \brief Quad 8-bit unsigned addition with halved results.
551 …\details This function enables you to perform four unsigned 8-bit integer additions, halving the r…
552 \param [in] x first four 8-bit summands.
553 \param [in] y second four 8-bit summands.
560 res[15:8] = (val1[15:8] + val2[15:8] ) >> 1 \n
570 t = ((((x << 8) >> 24) + ((y << 8) >> 24)) >> 1) & 0x000000FF; in __UHADD8()
573 return ((u << 24) | (t << 16) | (s << 8) | (r)); in __UHADD8()
711 \brief Quad 8-bit signed addition with halved results.
712 …\details This function enables you to perform four signed 8-bit integer subtractions, halving the …
713 \param [in] x first four 8-bit summands.
714 \param [in] y second four 8-bit summands.
721 res[15:8] = (val1[15:8] - val2[15:8] ) >> 1 \n
731 t = (((((int32_t)x << 8) >> 24) - (((int32_t)y << 8) >> 24)) >> 1) & (int32_t)0x000000FF; in __SHSUB8()
734 return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r))); in __SHSUB8()
738 \brief Quad 8-bit unsigned subtraction with halved results.
739 …\details This function enables you to perform four unsigned 8-bit integer subtractions, halving th…
740 \param [in] x first four 8-bit summands.
741 \param [in] y second four 8-bit summands.
748 res[15:8] = (val1[15:8] - val2[15:8] ) >> 1 \n
758 t = ((((x << 8) >> 24) - ((y << 8) >> 24)) >> 1) & 0x000000FF; in __UHSUB8()
761 return ((u << 24) | (t << 16) | (s << 8) | (r)); in __UHSUB8()
1414 \brief Dual extracted 8-bit to 16-bit signed addition.
1415 …\details This function enables you to extract two 8-bit values from the second operand (at bit pos…
1418 \param [in] y two 8-bit values to be extracted and sign-extended.
1419 \return the addition of val1 and val2, where the 8-bit values in val2[7:0] and
1428 … (((((int32_t)y << 8) >> 8) + (((int32_t)x >> 16) << 16)) & (int32_t)0xFFFF0000))); in __SXTAB16()
1433 \details This function enables you to extract two 8-bit values from one operand, zero-extend
1436 \param [in] y two 8-bit values to be extracted and zero-extended.
1437 \return the addition of val1 and val2, where the 8-bit values in val2[7:0] and
1446 ((((y << 8) >> 8) + ((x >> 16) << 16)) & 0xFFFF0000))); in __UXTAB16()
1450 \brief Dual extract 8-bits and sign extend each to 16-bits.
1451 …\details This function enables you to extract two 8-bit values from an operand and sign-extend the…
1452 \param [in] x two 8-bit values in val[7:0] and val[23:16] to be sign-extended.
1453 \return the 8-bit values sign-extended to 16-bit values.\n
1463 ((((int32_t)x << 8) >> 8) & (int32_t)0xFFFF0000))); in __SXTB16()
1467 \brief Dual extract 8-bits and zero-extend to 16-bits.
1468 …\details This function enables you to extract two 8-bit values from an operand and zero-extend the…
1469 \param [in] x two 8-bit values in val[7:0] and val[23:16] to be zero-extended.
1470 \return the 8-bit values sign-extended to 16-bit values.\n
1480 (((x << 8) >> 8) & 0xFFFF0000))); in __UXTB16()