⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmintrin.h

📁 自己做的交叉编译工具!gcc-3.4.5,glibc-2.3.6在ubuntu8.04上做的面向kernel-2.6.28的交叉编译工具
💻 H
📖 第 1 页 / 共 3 页
字号:
{  return (__m64) __builtin_arm_wmulsh ((__v4hi)__m1, (__v4hi)__m2);}/* Multiply four signed 16-bit values in M1 by four signed 16-bit values in   M2 and produce the high 16 bits of the 32-bit results.  */static __inline __m64_mm_mulhi_pu16 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wmuluh ((__v4hi)__m1, (__v4hi)__m2);}/* Multiply four 16-bit values in M1 by four 16-bit values in M2 and produce   the low 16 bits of the results.  */static __inline __m64_mm_mullo_pi16 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wmulul ((__v4hi)__m1, (__v4hi)__m2);}/* Shift four 16-bit values in M left by COUNT.  */static __inline __m64_mm_sll_pi16 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsllh ((__v4hi)__m, __count);}static __inline __m64_mm_slli_pi16 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsllhi ((__v4hi)__m, __count);}/* Shift two 32-bit values in M left by COUNT.  */static __inline __m64_mm_sll_pi32 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsllw ((__v2si)__m, __count);}static __inline __m64_mm_slli_pi32 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsllwi ((__v2si)__m, __count);}/* Shift the 64-bit value in M left by COUNT.  */static __inline __m64_mm_sll_si64 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wslld (__m, __count);}static __inline __m64_mm_slli_si64 (__m64 __m, int __count){  return (__m64) __builtin_arm_wslldi (__m, __count);}/* Shift four 16-bit values in M right by COUNT; shift in the sign bit.  */static __inline __m64_mm_sra_pi16 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsrah ((__v4hi)__m, __count);}static __inline __m64_mm_srai_pi16 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsrahi ((__v4hi)__m, __count);}/* Shift two 32-bit values in M right by COUNT; shift in the sign bit.  */static __inline __m64_mm_sra_pi32 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsraw ((__v2si)__m, __count);}static __inline __m64_mm_srai_pi32 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsrawi ((__v2si)__m, __count);}/* Shift the 64-bit value in M right by COUNT; shift in the sign bit.  */static __inline __m64_mm_sra_si64 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsrad (__m, __count);}static __inline __m64_mm_srai_si64 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsradi (__m, __count);}/* Shift four 16-bit values in M right by COUNT; shift in zeros.  */static __inline __m64_mm_srl_pi16 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsrlh ((__v4hi)__m, __count);}static __inline __m64_mm_srli_pi16 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsrlhi ((__v4hi)__m, __count);}/* Shift two 32-bit values in M right by COUNT; shift in zeros.  */static __inline __m64_mm_srl_pi32 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsrlw ((__v2si)__m, __count);}static __inline __m64_mm_srli_pi32 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsrlwi ((__v2si)__m, __count);}/* Shift the 64-bit value in M left by COUNT; shift in zeros.  */static __inline __m64_mm_srl_si64 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wsrld (__m, __count);}static __inline __m64_mm_srli_si64 (__m64 __m, int __count){  return (__m64) __builtin_arm_wsrldi (__m, __count);}/* Rotate four 16-bit values in M right by COUNT.  */static __inline __m64_mm_ror_pi16 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wrorh ((__v4hi)__m, __count);}static __inline __m64_mm_rori_pi16 (__m64 __m, int __count){  return (__m64) __builtin_arm_wrorhi ((__v4hi)__m, __count);}/* Rotate two 32-bit values in M right by COUNT.  */static __inline __m64_mm_ror_pi32 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wrorw ((__v2si)__m, __count);}static __inline __m64_mm_rori_pi32 (__m64 __m, int __count){  return (__m64) __builtin_arm_wrorwi ((__v2si)__m, __count);}/* Rotate two 64-bit values in M right by COUNT.  */static __inline __m64_mm_ror_si64 (__m64 __m, __m64 __count){  return (__m64) __builtin_arm_wrord (__m, __count);}static __inline __m64_mm_rori_si64 (__m64 __m, int __count){  return (__m64) __builtin_arm_wrordi (__m, __count);}/* Bit-wise AND the 64-bit values in M1 and M2.  */static __inline __m64_mm_and_si64 (__m64 __m1, __m64 __m2){  return __builtin_arm_wand (__m1, __m2);}/* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the   64-bit value in M2.  */static __inline __m64_mm_andnot_si64 (__m64 __m1, __m64 __m2){  return __builtin_arm_wandn (__m1, __m2);}/* Bit-wise inclusive OR the 64-bit values in M1 and M2.  */static __inline __m64_mm_or_si64 (__m64 __m1, __m64 __m2){  return __builtin_arm_wor (__m1, __m2);}/* Bit-wise exclusive OR the 64-bit values in M1 and M2.  */static __inline __m64_mm_xor_si64 (__m64 __m1, __m64 __m2){  return __builtin_arm_wxor (__m1, __m2);}/* Compare eight 8-bit values.  The result of the comparison is 0xFF if the   test is true and zero if false.  */static __inline __m64_mm_cmpeq_pi8 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpeqb ((__v8qi)__m1, (__v8qi)__m2);}static __inline __m64_mm_cmpgt_pi8 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpgtsb ((__v8qi)__m1, (__v8qi)__m2);}static __inline __m64_mm_cmpgt_pu8 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpgtub ((__v8qi)__m1, (__v8qi)__m2);}/* Compare four 16-bit values.  The result of the comparison is 0xFFFF if   the test is true and zero if false.  */static __inline __m64_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpeqh ((__v4hi)__m1, (__v4hi)__m2);}static __inline __m64_mm_cmpgt_pi16 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpgtsh ((__v4hi)__m1, (__v4hi)__m2);}static __inline __m64_mm_cmpgt_pu16 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpgtuh ((__v4hi)__m1, (__v4hi)__m2);}/* Compare two 32-bit values.  The result of the comparison is 0xFFFFFFFF if   the test is true and zero if false.  */static __inline __m64_mm_cmpeq_pi32 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpeqw ((__v2si)__m1, (__v2si)__m2);}static __inline __m64_mm_cmpgt_pi32 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpgtsw ((__v2si)__m1, (__v2si)__m2);}static __inline __m64_mm_cmpgt_pu32 (__m64 __m1, __m64 __m2){  return (__m64) __builtin_arm_wcmpgtuw ((__v2si)__m1, (__v2si)__m2);}/* Element-wise multiplication of unsigned 16-bit values __B and __C, followed   by accumulate across all elements and __A.  */static __inline __m64_mm_mac_pu16 (__m64 __A, __m64 __B, __m64 __C){  return __builtin_arm_wmacu (__A, (__v4hi)__B, (__v4hi)__C);}/* Element-wise multiplication of signed 16-bit values __B and __C, followed   by accumulate across all elements and __A.  */static __inline __m64_mm_mac_pi16 (__m64 __A, __m64 __B, __m64 __C){  return __builtin_arm_wmacs (__A, (__v4hi)__B, (__v4hi)__C);}/* Element-wise multiplication of unsigned 16-bit values __B and __C, followed   by accumulate across all elements.  */static __inline __m64_mm_macz_pu16 (__m64 __A, __m64 __B){  return __builtin_arm_wmacuz ((__v4hi)__A, (__v4hi)__B);}/* Element-wise multiplication of signed 16-bit values __B and __C, followed   by accumulate across all elements.  */static __inline __m64_mm_macz_pi16 (__m64 __A, __m64 __B){  return __builtin_arm_wmacsz ((__v4hi)__A, (__v4hi)__B);}/* Accumulate across all unsigned 8-bit values in __A.  */static __inline __m64_mm_acc_pu8 (__m64 __A){  return __builtin_arm_waccb ((__v8qi)__A);}/* Accumulate across all unsigned 16-bit values in __A.  */static __inline __m64_mm_acc_pu16 (__m64 __A){  return __builtin_arm_wacch ((__v4hi)__A);}/* Accumulate across all unsigned 32-bit values in __A.  */static __inline __m64_mm_acc_pu32 (__m64 __A){  return __builtin_arm_waccw ((__v2si)__A);}static __inline __m64_mm_mia_si64 (__m64 __A, int __B, int __C){  return __builtin_arm_tmia (__A, __B, __C);}static __inline __m64_mm_miaph_si64 (__m64 __A, int __B, int __C){  return __builtin_arm_tmiaph (__A, __B, __C);}static __inline __m64_mm_miabb_si64 (__m64 __A, int __B, int __C){  return __builtin_arm_tmiabb (__A, __B, __C);}static __inline __m64_mm_miabt_si64 (__m64 __A, int __B, int __C){  return __builtin_arm_tmiabt (__A, __B, __C);}static __inline __m64_mm_miatb_si64 (__m64 __A, int __B, int __C){  return __builtin_arm_tmiatb (__A, __B, __C);}static __inline __m64_mm_miatt_si64 (__m64 __A, int __B, int __C){  return __builtin_arm_tmiatt (__A, __B, __C);}/* Extract one of the elements of A and sign extend.  The selector N must   be immediate.  */#define _mm_extract_pi8(A, N) __builtin_arm_textrmsb ((__v8qi)(A), (N))#define _mm_extract_pi16(A, N) __builtin_arm_textrmsh ((__v4hi)(A), (N))#define _mm_extract_pi32(A, N) __builtin_arm_textrmsw ((__v2si)(A), (N))/* Extract one of the elements of A and zero extend.  The selector N must   be immediate.  */#define _mm_extract_pu8(A, N) __builtin_arm_textrmub ((__v8qi)(A), (N))#define _mm_extract_pu16(A, N) __builtin_arm_textrmuh ((__v4hi)(A), (N))#define _mm_extract_pu32(A, N) __builtin_arm_textrmuw ((__v2si)(A), (N))/* Inserts word D into one of the elements of A.  The selector N must be   immediate.  */#define _mm_insert_pi8(A, D, N) \  ((__m64) __builtin_arm_tinsrb ((__v8qi)(A), (D), (N)))#define _mm_insert_pi16(A, D, N) \  ((__m64) __builtin_arm_tinsrh ((__v4hi)(A), (D), (N)))#define _mm_insert_pi32(A, D, N) \  ((__m64) __builtin_arm_tinsrw ((__v2si)(A), (D), (N)))/* Compute the element-wise maximum of signed 8-bit values.  */static __inline __m64_mm_max_pi8 (__m64 __A, __m64 __B){  return (__m64) __builtin_arm_wmaxsb ((__v8qi)__A, (__v8qi)__B);}/* Compute the element-wise maximum of signed 16-bit values.  */static __inline __m64_mm_max_pi16 (__m64 __A, __m64 __B){  return (__m64) __builtin_arm_wmaxsh ((__v4hi)__A, (__v4hi)__B);}/* Compute the element-wise maximum of signed 32-bit values.  */static __inline __m64_mm_max_pi32 (__m64 __A, __m64 __B){  return (__m64) __builtin_arm_wmaxsw ((__v2si)__A, (__v2si)__B);}/* Compute the element-wise maximum of unsigned 8-bit values.  */static __inline __m64_mm_max_pu8 (__m64 __A, __m64 __B){  return (__m64) __builtin_arm_wmaxub ((__v8qi)__A, (__v8qi)__B);}/* Compute the element-wise maximum of unsigned 16-bit values.  */static __inline __m64_mm_max_pu16 (__m64 __A, __m64 __B){  return (__m64) __builtin_arm_wmaxuh ((__v4hi)__A, (__v4hi)__B);}/* Compute the element-wise maximum of unsigned 32-bit values.  */static __inline __m64_mm_max_pu32 (__m64 __A, __m64 __B){  return (__m64) __builtin_arm_wmaxuw ((__v2si)__A, (__v2si)__B);}/* Compute the element-wise minimum of signed 16-bit values.  */static __inline __m64_mm_min_pi8 (__m64 __A, __m64 __B)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -