Home | History | Annotate | Download | only in clang-include

Lines Matching refs:__m128i

34 typedef long long __m128i __attribute__((__vector_size__(16)));
372 _mm_cvtepi32_pd(__m128i a)
377 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
410 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
413 return (__m128i)__builtin_ia32_cvttpd2dq(a);
573 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
574 _mm_add_epi8(__m128i a, __m128i b)
576 return (__m128i)((__v16qi)a + (__v16qi)b);
579 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
580 _mm_add_epi16(__m128i a, __m128i b)
582 return (__m128i)((__v8hi)a + (__v8hi)b);
585 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
586 _mm_add_epi32(__m128i a, __m128i b)
588 return (__m128i)((__v4si)a + (__v4si)b);
597 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
598 _mm_add_epi64(__m128i a, __m128i b)
603 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
604 _mm_adds_epi8(__m128i a, __m128i b)
606 return (__m128i)__builtin_ia32_paddsb128((__v16qi)a, (__v16qi)b);
609 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
610 _mm_adds_epi16(__m128i a, __m128i b)
612 return (__m128i)__builtin_ia32_paddsw128((__v8hi)a, (__v8hi)b);
615 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
616 _mm_adds_epu8(__m128i a, __m128i b)
618 return (__m128i)__builtin_ia32_paddusb128((__v16qi)a, (__v16qi)b);
621 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
622 _mm_adds_epu16(__m128i a, __m128i b)
624 return (__m128i)__builtin_ia32_paddusw128((__v8hi)a, (__v8hi)b);
627 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
628 _mm_avg_epu8(__m128i a, __m128i b)
630 return (__m128i)__builtin_ia32_pavgb128((__v16qi)a, (__v16qi)b);
633 __m128i __attribute__((__always_inline__, __nodebug__))
634 _mm_avg_epu16(__m128i a, __m128i b)
636 return (__m128i)__builtin_ia32_pavgw128((__v8hi)a, (__v8hi)b);
639 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
640 _mm_madd_epi16(__m128i a, __m128i b)
642 return (__m128i)__builtin_ia32_pmaddwd128((__v8hi)a, (__v8hi)b);
645 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
646 _mm_max_epi16(__m128i a, __m128i b)
648 return (__m128i)__builtin_ia32_pmaxsw128((__v8hi)a, (__v8hi)b);
651 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
652 _mm_max_epu8(__m128i a, __m128i b)
654 return (__m128i)__builtin_ia32_pmaxub128((__v16qi)a, (__v16qi)b);
657 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
658 _mm_min_epi16(__m128i a, __m128i b)
660 return (__m128i)__builtin_ia32_pminsw128((__v8hi)a, (__v8hi)b);
663 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
664 _mm_min_epu8(__m128i a, __m128i b)
666 return (__m128i)__builtin_ia32_pminub128((__v16qi)a, (__v16qi)b);
669 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
670 _mm_mulhi_epi16(__m128i a, __m128i b)
672 return (__m128i)__builtin_ia32_pmulhw128((__v8hi)a, (__v8hi)b);
675 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
676 _mm_mulhi_epu16(__m128i a, __m128i b)
678 return (__m128i)__builtin_ia32_pmulhuw128((__v8hi)a, (__v8hi)b);
681 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
682 _mm_mullo_epi16(__m128i a, __m128i b)
684 return (__m128i)((__v8hi)a * (__v8hi)b);
693 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
694 _mm_mul_epu32(__m128i a, __m128i b)
699 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
700 _mm_sad_epu8(__m128i a, __m128i b)
705 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
706 _mm_sub_epi8(__m128i a, __m128i b)
708 return (__m128i)((__v16qi)a - (__v16qi)b);
711 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
712 _mm_sub_epi16(__m128i a, __m128i b)
714 return (__m128i)((__v8hi)a - (__v8hi)b);
717 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
718 _mm_sub_epi32(__m128i a, __m128i b)
720 return (__m128i)((__v4si)a - (__v4si)b);
729 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
730 _mm_sub_epi64(__m128i a, __m128i b)
735 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
736 _mm_subs_epi8(__m128i a, __m128i b)
738 return (__m128i)__builtin_ia32_psubsb128((__v16qi)a, (__v16qi)b);
741 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
742 _mm_subs_epi16(__m128i a, __m128i b)
744 return (__m128i)__builtin_ia32_psubsw128((__v8hi)a, (__v8hi)b);
747 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
748 _mm_subs_epu8(__m128i a, __m128i b)
750 return (__m128i)__builtin_ia32_psubusb128((__v16qi)a, (__v16qi)b);
753 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
754 _mm_subs_epu16(__m128i a, __m128i b)
756 return (__m128i)__builtin_ia32_psubusw128((__v8hi)a, (__v8hi)b);
759 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
760 _mm_and_si128(__m128i a, __m128i b)
765 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
766 _mm_andnot_si128(__m128i a, __m128i b)
771 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
772 _mm_or_si128(__m128i a, __m128i b)
777 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
778 _mm_xor_si128(__m128i a, __m128i b)
784 ((__m128i)__builtin_ia32_pslldqi128((__m128i)(VEC), (IMM)*8))
786 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
787 _mm_slli_epi16(__m128i a, int count)
789 return (__m128i)__builtin_ia32_psllwi128((__v8hi)a, count);
792 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
793 _mm_sll_epi16(__m128i a, __m128i count)
795 return (__m128i)__builtin_ia32_psllw128((__v8hi)a, (__v8hi)count);
798 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
799 _mm_slli_epi32(__m128i a, int count)
801 return (__m128i)__builtin_ia32_pslldi128((__v4si)a, count);
804 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
805 _mm_sll_epi32(__m128i a, __m128i count)
807 return (__m128i)__builtin_ia32_pslld128((__v4si)a, (__v4si)count);
810 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
811 _mm_slli_epi64(__m128i a, int count)
816 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
817 _mm_sll_epi64(__m128i a, __m128i count)
822 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
823 _mm_srai_epi16(__m128i a, int count)
825 return (__m128i)__builtin_ia32_psrawi128((__v8hi)a, count);
828 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
829 _mm_sra_epi16(__m128i a, __m128i count)
831 return (__m128i)__builtin_ia32_psraw128((__v8hi)a, (__v8hi)count);
834 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
835 _mm_srai_epi32(__m128i a, int count)
837 return (__m128i)__builtin_ia32_psradi128((__v4si)a, count);
840 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
841 _mm_sra_epi32(__m128i a, __m128i count)
843 return (__m128i)__builtin_ia32_psrad128((__v4si)a, (__v4si)count);
848 ((__m128i)__builtin_ia32_psrldqi128((__m128i)(VEC), (IMM)*8))
850 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
851 _mm_srli_epi16(__m128i a, int count)
853 return (__m128i)__builtin_ia32_psrlwi128((__v8hi)a, count);
856 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
857 _mm_srl_epi16(__m128i a, __m128i count)
859 return (__m128i)__builtin_ia32_psrlw128((__v8hi)a, (__v8hi)count);
862 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
863 _mm_srli_epi32(__m128i a, int count)
865 return (__m128i)__builtin_ia32_psrldi128((__v4si)a, count);
868 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
869 _mm_srl_epi32(__m128i a, __m128i count)
871 return (__m128i)__builtin_ia32_psrld128((__v4si)a, (__v4si)count);
874 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
875 _mm_srli_epi64(__m128i a, int count)
880 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
881 _mm_srl_epi64(__m128i a, __m128i count)
886 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
887 _mm_cmpeq_epi8(__m128i a, __m128i b)
889 return (__m128i)((__v16qi)a == (__v16qi)b);
892 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
893 _mm_cmpeq_epi16(__m128i a, __m128i b)
895 return (__m128i)((__v8hi)a == (__v8hi)b);
898 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
899 _mm_cmpeq_epi32(__m128i a, __m128i b)
901 return (__m128i)((__v4si)a == (__v4si)b);
904 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
905 _mm_cmpgt_epi8(__m128i a, __m128i b)
907 return (__m128i)((__v16qi)a > (__v16qi)b);
910 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
911 _mm_cmpgt_epi16(__m128i a, __m128i b)
913 return (__m128i)((__v8hi)a > (__v8hi)b);
916 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
917 _mm_cmpgt_epi32(__m128i a, __m128i b)
919 return (__m128i)((__v4si)a > (__v4si)b);
922 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
923 _mm_cmplt_epi8(__m128i a, __m128i b)
928 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
929 _mm_cmplt_epi16(__m128i a, __m128i b)
934 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
935 _mm_cmplt_epi32(__m128i a, __m128i b)
962 _mm_cvtepi32_ps(__m128i a)
967 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
970 return (__m128i)__builtin_ia32_cvtps2dq(a);
973 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
976 return (__m128i)__builtin_ia32_cvttps2dq(a);
979 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
982 return (__m128i)(__v4si){ a, 0, 0, 0 };
986 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
989 return (__m128i){ a, 0 };
994 _mm_cvtsi128_si32(__m128i a)
1002 _mm_cvtsi128_si64(__m128i a)
1008 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1009 _mm_load_si128(__m128i const *p)
1014 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1015 _mm_loadu_si128(__m128i const *p)
1018 __m128i v;
1023 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1024 _mm_loadl_epi64(__m128i const *p)
1026 return (__m128i) { *(long long*)p, 0};
1029 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1032 return (__m128i){ q0, q1 };
1035 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1038 return (__m128i){ (long long)q0, (long long)q1 };
1041 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1044 return (__m128i)(__v4si){ i0, i1, i2, i3};
1047 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1050 return (__m128i)(__v8hi){ w0, w1, w2, w3, w4, w5, w6, w7 };
1053 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1056 return (__m128i)(__v16qi){ b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15 };
1059 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1062 return (__m128i){ q, q };
1065 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1068 return (__m128i){ (long long)q, (long long)q };
1071 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1074 return (__m128i)(__v4si){ i, i, i, i };
1077 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1080 return (__m128i)(__v8hi){ w, w, w, w, w, w, w, w };
1083 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1086 return (__m128i)(__v16qi){ b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b };
1089 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1092 return (__m128i){ (long long)q0, (long long)q1 };
1095 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1098 return (__m128i)(__v4si){ i0, i1, i2, i3};
1101 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1104 return (__m128i)(__v8hi){ w0, w1, w2, w3, w4, w5, w6, w7 };
1107 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1110 return (__m128i)(__v16qi){ b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15 };
1113 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1116 return (__m128i){ 0LL, 0LL };
1120 _mm_store_si128(__m128i *p, __m128i b)
1126 _mm_storeu_si128(__m128i *p, __m128i b)
1132 _mm_maskmoveu_si128(__m128i d, __m128i n, char *p)
1138 _mm_storel_epi64(__m128i *p, __m128i a)
1150 _mm_stream_si128(__m128i *p, __m128i a)
1179 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1180 _mm_packs_epi16(__m128i a, __m128i b)
1182 return (__m128i)__builtin_ia32_packsswb128((__v8hi)a, (__v8hi)b);
1185 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1186 _mm_packs_epi32(__m128i a, __m128i b)
1188 return (__m128i)__builtin_ia32_packssdw128((__v4si)a, (__v4si)b);
1191 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1192 _mm_packus_epi16(__m128i a, __m128i b)
1194 return (__m128i)__builtin_ia32_packuswb128((__v8hi)a, (__v8hi)b);
1198 _mm_extract_epi16(__m128i a, int imm)
1204 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1205 _mm_insert_epi16(__m128i a, int b, int imm)
1209 return (__m128i)c;
1213 _mm_movemask_epi8(__m128i a)
1219 ((__m128i)__builtin_shufflevector((__v4si)(a), (__v4si) _mm_set1_epi32(0), \
1225 ((__m128i)__builtin_shufflevector((__v8hi)(a), (__v8hi) _mm_set1_epi16(0), \
1230 ((__m128i)__builtin_shufflevector((__v8hi)(a), (__v8hi) _mm_set1_epi16(0), 0, 1, 2, 3, \
1236 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1237 _mm_unpackhi_epi8(__m128i a, __m128i b)
1239 return (__m128i)__builtin_shufflevector((__v16qi)a, (__v16qi)b, 8, 16+8, 9, 16+9, 10, 16+10, 11, 16+11, 12, 16+12, 13, 16+13, 14, 16+14, 15, 16+15);
1242 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1243 _mm_unpackhi_epi16(__m128i a, __m128i b)
1245 return (__m128i)__builtin_shufflevector((__v8hi)a, (__v8hi)b, 4, 8+4, 5, 8+5, 6, 8+6, 7, 8+7);
1248 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1249 _mm_unpackhi_epi32(__m128i a, __m128i b)
1251 return (__m128i)__builtin_shufflevector((__v4si)a, (__v4si)b, 2, 4+2, 3, 4+3);
1254 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1255 _mm_unpackhi_epi64(__m128i a, __m128i b)
1257 return (__m128i)__builtin_shufflevector(a, b, 1, 2+1);
1260 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1261 _mm_unpacklo_epi8(__m128i a, __m128i b)
1263 return (__m128i)__builtin_shufflevector((__v16qi)a, (__v16qi)b, 0, 16+0, 1, 16+1, 2, 16+2, 3, 16+3, 4, 16+4, 5, 16+5, 6, 16+6, 7, 16+7);
1266 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1267 _mm_unpacklo_epi16(__m128i a, __m128i b)
1269 return (__m128i)__builtin_shufflevector((__v8hi)a, (__v8hi)b, 0, 8+0, 1, 8+1, 2, 8+2, 3, 8+3);
1272 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1273 _mm_unpacklo_epi32(__m128i a, __m128i b)
1275 return (__m128i)__builtin_shufflevector((__v4si)a, (__v4si)b, 0, 4+0, 1, 4+1);
1278 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1279 _mm_unpacklo_epi64(__m128i a, __m128i b)
1281 return (__m128i)__builtin_shufflevector(a, b, 0, 2+0);
1285 _mm_movepi64_pi64(__m128i a)
1290 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1293 return (__m128i){ (long long)a, 0 };
1296 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1297 _mm_move_epi64(__m128i a)
1299 return __builtin_shufflevector(a, (__m128i){ 0 }, 0, 2);
1330 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1333 return (__m128i)in;
1342 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
1345 return (__m128i)in;
1349 _mm_castsi128_ps(__m128i in)
1355 _mm_castsi128_pd(__m128i in)