Lines Matching refs:src

697 template<> AI /*static*/ Sk4f SkNx_cast<float, int32_t>(const Sk4i& src) {
698 return _mm_cvtepi32_ps(src.fVec);
701 template<> AI /*static*/ Sk4f SkNx_cast<float, uint32_t>(const Sk4u& src) {
702 return SkNx_cast<float>(Sk4i::Load(&src));
705 template <> AI /*static*/ Sk4i SkNx_cast<int32_t, float>(const Sk4f& src) {
706 return _mm_cvttps_epi32(src.fVec);
709 template<> AI /*static*/ Sk4h SkNx_cast<uint16_t, int32_t>(const Sk4i& src) {
712 return _mm_packus_epi32(src.fVec);
716 return _mm_shuffle_epi8(src.fVec, _mm_setr_epi8(0,1, 4,5, 8,9, 12,13, _,_,_,_,_,_,_,_));
719 __m128i x = _mm_srai_epi32(_mm_slli_epi32(src.fVec, 16), 16);
724 template<> AI /*static*/ Sk4h SkNx_cast<uint16_t, float>(const Sk4f& src) {
725 return SkNx_cast<uint16_t>(SkNx_cast<int32_t>(src));
728 template<> AI /*static*/ Sk4b SkNx_cast<uint8_t, float>(const Sk4f& src) {
729 auto _32 = _mm_cvttps_epi32(src.fVec);
739 template<> AI /*static*/ Sk4u SkNx_cast<uint32_t, uint8_t>(const Sk4b& src) {
742 return _mm_shuffle_epi8(src.fVec, _mm_setr_epi8(0,_,_,_, 1,_,_,_, 2,_,_,_, 3,_,_,_));
744 auto _16 = _mm_unpacklo_epi8(src.fVec, _mm_setzero_si128());
749 template<> AI /*static*/ Sk4i SkNx_cast<int32_t, uint8_t>(const Sk4b& src) {
750 return SkNx_cast<uint32_t>(src).fVec;
753 template<> AI /*static*/ Sk4f SkNx_cast<float, uint8_t>(const Sk4b& src) {
754 return _mm_cvtepi32_ps(SkNx_cast<int32_t>(src).fVec);
757 template<> AI /*static*/ Sk4f SkNx_cast<float, uint16_t>(const Sk4h& src) {
758 auto _32 = _mm_unpacklo_epi16(src.fVec, _mm_setzero_si128());
762 template<> AI /*static*/ Sk8b SkNx_cast<uint8_t, int32_t>(const Sk8i& src) {
764 SkNx_split(src, &lo, &hi);
770 template<> AI /*static*/ Sk16b SkNx_cast<uint8_t, float>(const Sk16f& src) {
772 SkNx_split(src, &ab, &cd);
784 template<> AI /*static*/ Sk4h SkNx_cast<uint16_t, uint8_t>(const Sk4b& src) {
785 return _mm_unpacklo_epi8(src.fVec, _mm_setzero_si128());
788 template<> AI /*static*/ Sk8h SkNx_cast<uint16_t, uint8_t>(const Sk8b& src) {
789 return _mm_unpacklo_epi8(src.fVec, _mm_setzero_si128());
792 template<> AI /*static*/ Sk4b SkNx_cast<uint8_t, uint16_t>(const Sk4h& src) {
793 return _mm_packus_epi16(src.fVec, src.fVec);
796 template<> AI /*static*/ Sk8b SkNx_cast<uint8_t, uint16_t>(const Sk8h& src) {
797 return _mm_packus_epi16(src.fVec, src.fVec);
800 template<> AI /*static*/ Sk4i SkNx_cast<int32_t, uint16_t>(const Sk4h& src) {
801 return _mm_unpacklo_epi16(src.fVec, _mm_setzero_si128());
805 template<> AI /*static*/ Sk4b SkNx_cast<uint8_t, int32_t>(const Sk4i& src) {
806 return _mm_packus_epi16(_mm_packus_epi16(src.fVec, src.fVec), src.fVec);
809 template<> AI /*static*/ Sk4b SkNx_cast<uint8_t, uint32_t>(const Sk4u& src) {
810 return _mm_packus_epi16(_mm_packus_epi16(src.fVec, src.fVec), src.fVec);
813 template<> AI /*static*/ Sk4i SkNx_cast<int32_t, uint32_t>(const Sk4u& src) {
814 return src.fVec;