Lines Matching full:value
113 \details Reverses the byte order in integer value.
114 \param [in] value Value to reverse
115 \return Reversed value
117 __ALWAYS_INLINE uint32_t __REV(uint32_t value) in __REV() argument
119 return __builtin_bswap32(value); in __REV()
126 \param [in] value Value to reverse
127 \return Reversed value
129 __ALWAYS_INLINE uint32_t __REV16(uint32_t value) in __REV16() argument
133 __ASM volatile("revh %0, %1" : __CSI_GCC_OUT_REG(result) : __CSI_GCC_USE_REG(value)); in __REV16()
135 result = ((value & 0xFF000000) >> 8) | ((value & 0x00FF0000) << 8) | in __REV16()
136 ((value & 0x0000FF00) >> 8) | ((value & 0x000000FF) << 8); in __REV16()
143 \brief Reverse byte order in signed short value
144 \details Reverses the byte order in a signed short value with sign extension to integer.
145 \param [in] value Value to reverse
146 \return Reversed value
148 __ALWAYS_INLINE int32_t __REVSH(int32_t value) in __REVSH() argument
150 return (short)(((value & 0xFF00) >> 8) | ((value & 0x00FF) << 8)); in __REVSH()
155 \brief Rotate Right in unsigned value (32 bit)
156 …\details Rotate Right (immediate) provides the value of the contents of a register rotated by a va…
157 \param [in] op1 Value to rotate
159 \return Rotated value
178 \brief Reverse bit order of value
179 \details Reverses the bit order of the given value.
180 \param [in] value Value to reverse
181 \return Reversed value
183 __ALWAYS_INLINE uint32_t __RBIT(uint32_t value) in __RBIT() argument
188 __ASM volatile("brev %0, %1" : "=r"(result) : "r"(value)); in __RBIT()
192 result = value; /* r will be reversed bits of v; first get LSB of v */ in __RBIT()
194 for (value >>= 1U; value; value >>= 1U) in __RBIT()
197 result |= value & 1U; in __RBIT()
209 \details Counts the number of leading zeros of a data value.
210 \param [in] value Value to count the leading zeros
211 \return number of leading zeros in value
215 \details This function saturates a signed value.
216 \param [in] x Value to be saturated
218 \return Saturated value.
260 \details Saturates an unsigned value.
261 \param [in] value Value to be saturated
263 \return Saturated value
265 __ALWAYS_INLINE uint32_t __USAT(uint32_t value, uint32_t sat) in __USAT() argument
269 if ((((0xFFFFFFFF >> sat) << sat) & value) != 0) in __USAT()
275 result = value; in __USAT()
283 \details Saturates an unsigned value, should not call directly.
284 \param [in] value Value to be saturated
286 \return Saturated value
288 __ALWAYS_INLINE uint32_t __IUSAT(uint32_t value, uint32_t sat) in __IUSAT() argument
292 if (value & 0x80000000) /* only overflow set bit-31 */ in __IUSAT()
296 else if ((((0xFFFFFFFF >> sat) << sat) & value) != 0) in __IUSAT()
302 result = value; in __IUSAT()
313 \param [in] op1 Value to rotate
314 \return Rotated value
342 \details Executes a Unprivileged LDRT instruction for 8 bit value.
344 \return value of type uint8_t at (*ptr)
359 \return value of type uint16_t at (*ptr)
375 \return value of type uint32_t at (*ptr)
390 \param [in] value Value to store
393 __ALWAYS_INLINE void __STRBT(uint8_t value, volatile uint8_t *addr) in __STRBT() argument
396 __ASM volatile("stb %1, (%0, 0)" :: "r"(addr), "r"((uint32_t)value) : "memory"); in __STRBT()
403 \param [in] value Value to store
406 __ALWAYS_INLINE void __STRHT(uint16_t value, volatile uint16_t *addr) in __STRHT() argument
409 __ASM volatile("sth %1, (%0, 0)" :: "r"(addr), "r"((uint32_t)value) : "memory"); in __STRHT()
416 \param [in] value Value to store
419 __ALWAYS_INLINE void __STRT(uint32_t value, volatile uint32_t *addr) in __STRT() argument
422 __ASM volatile("stw %1, (%0, 0)" :: "r"(addr), "r"(value) : "memory"); in __STRT()