Lines Matching defs:in_h

95  * Arguments   : Inputs  - in_c, in_h, in_l
98 * Details : Signed byte elements from in_h are multiplied by
102 * Example : out = __lsx_vdp2add_h_b(in_c, in_h, in_l)
104 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
109 static inline __m128i __lsx_vdp2add_h_b(__m128i in_c, __m128i in_h,
113 out = __lsx_vmaddwev_h_b(in_c, in_h, in_l);
114 out = __lsx_vmaddwod_h_b(out, in_h, in_l);
121 * Arguments : Inputs - in_c, in_h, in_l
124 * Details : Unsigned byte elements from in_h are multiplied by
128 * Example : out = __lsx_vdp2add_h_bu(in_c, in_h, in_l)
130 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
135 static inline __m128i __lsx_vdp2add_h_bu(__m128i in_c, __m128i in_h,
139 out = __lsx_vmaddwev_h_bu(in_c, in_h, in_l);
140 out = __lsx_vmaddwod_h_bu(out, in_h, in_l);
147 * Arguments : Inputs - in_c, in_h, in_l
150 * Details : Unsigned byte elements from in_h are multiplied by
154 * Example : out = __lsx_vdp2add_h_bu_b(in_c, in_h, in_l)
156 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
161 static inline __m128i __lsx_vdp2add_h_bu_b(__m128i in_c, __m128i in_h,
165 out = __lsx_vmaddwev_h_bu_b(in_c, in_h, in_l);
166 out = __lsx_vmaddwod_h_bu_b(out, in_h, in_l);
173 * Arguments : Inputs - in_c, in_h, in_l
176 * Details : Signed half-word elements from in_h are multiplied by
180 * Example : out = __lsx_vdp2add_h_b(in_c, in_h, in_l)
182 * in_h : 1,2,3,4, 5,6,7,8
187 static inline __m128i __lsx_vdp2add_w_h(__m128i in_c, __m128i in_h,
191 out = __lsx_vmaddwev_w_h(in_c, in_h, in_l);
192 out = __lsx_vmaddwod_w_h(out, in_h, in_l);
199 * Arguments : Inputs - in_h, in_l
202 * Details : Signed byte elements from in_h are multiplied by
205 * Example : out = __lsx_vdp2_h_b(in_h, in_l)
206 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
211 static inline __m128i __lsx_vdp2_h_b(__m128i in_h, __m128i in_l) {
214 out = __lsx_vmulwev_h_b(in_h, in_l);
215 out = __lsx_vmaddwod_h_b(out, in_h, in_l);
222 * Arguments : Inputs - in_h, in_l
225 * Details : Unsigned byte elements from in_h are multiplied by
228 * Example : out = __lsx_vdp2_h_bu(in_h, in_l)
229 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
234 static inline __m128i __lsx_vdp2_h_bu(__m128i in_h, __m128i in_l) {
237 out = __lsx_vmulwev_h_bu(in_h, in_l);
238 out = __lsx_vmaddwod_h_bu(out, in_h, in_l);
245 * Arguments : Inputs - in_h, in_l
248 * Details : Unsigned byte elements from in_h are multiplied by
251 * Example : out = __lsx_vdp2_h_bu_b(in_h, in_l)
252 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
257 static inline __m128i __lsx_vdp2_h_bu_b(__m128i in_h, __m128i in_l) {
260 out = __lsx_vmulwev_h_bu_b(in_h, in_l);
261 out = __lsx_vmaddwod_h_bu_b(out, in_h, in_l);
268 * Arguments : Inputs - in_h, in_l
271 * Details : Signed byte elements from in_h are multiplied by
274 * Example : out = __lsx_vdp2_w_h(in_h, in_l)
275 * in_h : 1,2,3,4, 5,6,7,8
280 static inline __m128i __lsx_vdp2_w_h(__m128i in_h, __m128i in_l) {
283 out = __lsx_vmulwev_w_h(in_h, in_l);
284 out = __lsx_vmaddwod_w_h(out, in_h, in_l);
722 * Arguments : Inputs - in_h, in_l
725 * Details : Unsigned byte elements from in_h are multiplied with
730 * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
733 static inline __m256i __lasx_xvdp2_h_bu(__m256i in_h, __m256i in_l) {
736 out = __lasx_xvmulwev_h_bu(in_h, in_l);
737 out = __lasx_xvmaddwod_h_bu(out, in_h, in_l);
744 * Arguments : Inputs - in_h, in_l
747 * Details : Signed byte elements from in_h are multiplied with
752 * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
755 static inline __m256i __lasx_xvdp2_h_b(__m256i in_h, __m256i in_l) {
758 out = __lasx_xvmulwev_h_b(in_h, in_l);
759 out = __lasx_xvmaddwod_h_b(out, in_h, in_l);
766 * Arguments : Inputs - in_h, in_l
769 * Details : Signed halfword elements from in_h are multiplied with
774 * Example : out = __lasx_xvdp2_w_h(in_h, in_l)
775 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
780 static inline __m256i __lasx_xvdp2_w_h(__m256i in_h, __m256i in_l) {
783 out = __lasx_xvmulwev_w_h(in_h, in_l);
784 out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
791 * Arguments : Inputs - in_h, in_l
794 * Details : Signed word elements from in_h are multiplied with
799 * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
802 static inline __m256i __lasx_xvdp2_d_w(__m256i in_h, __m256i in_l) {
805 out = __lasx_xvmulwev_d_w(in_h, in_l);
806 out = __lasx_xvmaddwod_d_w(out, in_h, in_l);
813 * Arguments : Inputs - in_h, in_l
816 * Details : Unsigned halfword elements from in_h are multiplied with
821 * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
824 static inline __m256i __lasx_xvdp2_w_hu_h(__m256i in_h, __m256i in_l) {
827 out = __lasx_xvmulwev_w_hu_h(in_h, in_l);
828 out = __lasx_xvmaddwod_w_hu_h(out, in_h, in_l);
835 * Arguments : Inputs - in_h, in_l
838 * Details : Signed byte elements from in_h are multiplied with
843 * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
846 static inline __m256i __lasx_xvdp2add_h_b(__m256i in_c, __m256i in_h,
850 out = __lasx_xvmaddwev_h_b(in_c, in_h, in_l);
851 out = __lasx_xvmaddwod_h_b(out, in_h, in_l);
858 * Arguments : Inputs - in_h, in_l
861 * Details : Unsigned byte elements from in_h are multiplied with
866 * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
869 static inline __m256i __lasx_xvdp2add_h_bu(__m256i in_c, __m256i in_h,
873 out = __lasx_xvmaddwev_h_bu(in_c, in_h, in_l);
874 out = __lasx_xvmaddwod_h_bu(out, in_h, in_l);
881 * Arguments : Inputs - in_h, in_l
884 * Details : Unsigned byte elements from in_h are multiplied with
889 * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
892 static inline __m256i __lasx_xvdp2add_h_bu_b(__m256i in_c, __m256i in_h,
896 out = __lasx_xvmaddwev_h_bu_b(in_c, in_h, in_l);
897 out = __lasx_xvmaddwod_h_bu_b(out, in_h, in_l);
904 * Arguments : Inputs - in_c, in_h, in_l
907 * Details : Signed halfword elements from in_h are multiplied with
912 * Example : out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
914 * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8,
919 static inline __m256i __lasx_xvdp2add_w_h(__m256i in_c, __m256i in_h,
923 out = __lasx_xvmaddwev_w_h(in_c, in_h, in_l);
924 out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
931 * Arguments : Inputs - in_c, in_h, in_l
934 * Details : Unsigned halfword elements from in_h are multiplied with
939 * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
942 static inline __m256i __lasx_xvdp2add_w_hu(__m256i in_c, __m256i in_h,
946 out = __lasx_xvmaddwev_w_hu(in_c, in_h, in_l);
947 out = __lasx_xvmaddwod_w_hu(out, in_h, in_l);
954 * Arguments : Inputs - in_c, in_h, in_l
957 * Details : Unsigned halfword elements from in_h are multiplied with
962 * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
965 static inline __m256i __lasx_xvdp2add_w_hu_h(__m256i in_c, __m256i in_h,
969 out = __lasx_xvmaddwev_w_hu_h(in_c, in_h, in_l);
970 out = __lasx_xvmaddwod_w_hu_h(out, in_h, in_l);
977 * Arguments : Inputs - in_c, in_h, in_l
980 * Details : Unsigned byte elements from in_h are multiplied with
986 * Example : See out = __lasx_xvdp2sub_w_h(in_c, in_h, in_l)
989 static inline __m256i __lasx_xvdp2sub_h_bu(__m256i in_c, __m256i in_h,
993 out = __lasx_xvmulwev_h_bu(in_h, in_l);
994 out = __lasx_xvmaddwod_h_bu(out, in_h, in_l);
1002 * Arguments : Inputs - in_c, in_h, in_l
1005 * Details : Signed halfword elements from in_h are multiplied with
1011 * Example : out = __lasx_xvdp2sub_w_h(in_c, in_h, in_l)
1013 * in_h : 3,1,3,0, 0,0,0,1, 0,0,1,1, 0,0,0,1
1018 static inline __m256i __lasx_xvdp2sub_w_h(__m256i in_c, __m256i in_h,
1022 out = __lasx_xvmulwev_w_h(in_h, in_l);
1023 out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
1031 * Arguments : Inputs - in_h, in_l
1034 * Details : Signed halfword elements from in_h are multiplied with
1039 * Example : out = __lasx_xvdp4_d_h(in_h, in_l)
1040 * in_h : 3,1,3,0, 0,0,0,1, 0,0,1,-1, 0,0,0,1
1045 static inline __m256i __lasx_xvdp4_d_h(__m256i in_h, __m256i in_l) {
1048 out = __lasx_xvmulwev_w_h(in_h, in_l);
1049 out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
1058 * Arguments : Inputs - in_h, in_l
1060 * Details : The in_h vector and the in_l vector are added after the
1063 * Example : See out = __lasx_xvaddwh_w_h(in_h, in_l)
1066 static inline __m256i __lasx_xvaddwh_h_b(__m256i in_h, __m256i in_l) {
1069 out = __lasx_xvilvh_b(in_h, in_l);
1078 * Arguments : Inputs - in_h, in_l
1080 * Details : The in_h vector and the in_l vector are added after the
1083 * Example : out = __lasx_xvaddwh_w_h(in_h, in_l)
1084 * in_h : 3, 0,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1089 static inline __m256i __lasx_xvaddwh_w_h(__m256i in_h, __m256i in_l) {
1092 out = __lasx_xvilvh_h(in_h, in_l);
1101 * Arguments : Inputs - in_h, in_l
1103 * Details : The in_h vector and the in_l vector are added after the
1106 * Example : See out = __lasx_xvaddwl_w_h(in_h, in_l)
1109 static inline __m256i __lasx_xvaddwl_h_b(__m256i in_h, __m256i in_l) {
1112 out = __lasx_xvilvl_b(in_h, in_l);
1121 * Arguments : Inputs - in_h, in_l
1123 * Details : The in_h vector and the in_l vector are added after the
1126 * Example : out = __lasx_xvaddwl_w_h(in_h, in_l)
1127 * in_h : 3, 0,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1132 static inline __m256i __lasx_xvaddwl_w_h(__m256i in_h, __m256i in_l) {
1135 out = __lasx_xvilvl_h(in_h, in_l);
1144 * Arguments : Inputs - in_h, in_l
1149 * Example : See out = __lasx_xvaddwl_w_h(in_h, in_l)
1152 static inline __m256i __lasx_xvaddwl_h_bu(__m256i in_h, __m256i in_l) {
1155 out = __lasx_xvilvl_b(in_h, in_l);
1164 * Arguments : Inputs - in_h, in_l
1167 * signed halfword),added to the in_h vector.
1168 * Example : See out = __lasx_xvaddw_w_w_h(in_h, in_l)
1171 static inline __m256i __lasx_xvaddw_h_h_bu(__m256i in_h, __m256i in_l) {
1175 out = __lasx_xvadd_h(in_h, out);
1183 * Arguments : Inputs - in_h, in_l
1186 * signed word), added to the in_h vector.
1187 * Example : out = __lasx_xvaddw_w_w_h(in_h, in_l)
1188 * in_h : 0, 1,0,0, -1,0,0,1,
1193 static inline __m256i __lasx_xvaddw_w_w_h(__m256i in_h, __m256i in_l) {
1197 out = __lasx_xvadd_w(in_h, out);
1205 * Arguments : Inputs - in_c, in_h, in_l
1207 * Details : The in_h vector and the in_l vector are multiplied after
1211 * Example : out = __lasx_xvmaddwl_w_h(in_c, in_h, in_l)
1213 * in_h : 1,2,3,4, 1,2,3,4, 5,6,7,8, 5,6,7,8
1219 static inline __m256i __lasx_xvmaddwl_w_h(__m256i in_c, __m256i in_h,
1223 tmp0 = __lasx_xvsllwil_w_h(in_h, 0);
1234 * Arguments : Inputs - in_c, in_h, in_l
1236 * Details : The in_h vector and the in_l vector are multiplied after
1240 * Example : See out = __lasx_xvmaddwl_w_h(in_c, in_h, in_l)
1243 static inline __m256i __lasx_xvmaddwh_w_h(__m256i in_c, __m256i in_h,
1247 tmp0 = __lasx_xvilvh_h(in_h, in_h);
1258 * Arguments : Inputs - in_h, in_l
1260 * Details : The in_h vector and the in_l vector are multiplied after
1263 * Example : out = __lasx_xvmulwl_w_h(in_h, in_l)
1264 * in_h : 3,-1,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1269 static inline __m256i __lasx_xvmulwl_w_h(__m256i in_h, __m256i in_l) {
1272 tmp0 = __lasx_xvsllwil_w_h(in_h, 0);
1282 * Arguments : Inputs - in_h, in_l
1284 * Details : The in_h vector and the in_l vector are multiplied after
1287 * Example : out = __lasx_xvmulwh_w_h(in_h, in_l)
1288 * in_h : 3,-1,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1293 static inline __m256i __lasx_xvmulwh_w_h(__m256i in_h, __m256i in_l) {
1296 tmp0 = __lasx_xvilvh_h(in_h, in_h);
1306 * Arguments : Inputs - in_h, in_l
1308 * Details : The in_h vector adds the in_l vector after the lower half of
1312 * Example : out = __lasx_xvsaddw_hu_hu_bu(in_h, in_l)
1313 * in_h : 2,65532,1,2, 1,0,0,0, 0,0,1,0, 1,0,0,1
1319 static inline __m256i __lasx_xvsaddw_hu_hu_bu(__m256i in_h, __m256i in_l) {
1324 out = __lasx_xvsadd_hu(in_h, tmp1);