Lines Matching refs:dst
89 micro_abs(union tgsi_exec_channel *dst,
92 dst->f[0] = fabsf(src->f[0]);
93 dst->f[1] = fabsf(src->f[1]);
94 dst->f[2] = fabsf(src->f[2]);
95 dst->f[3] = fabsf(src->f[3]);
99 micro_arl(union tgsi_exec_channel *dst,
102 dst->i[0] = (int)floorf(src->f[0]);
103 dst->i[1] = (int)floorf(src->f[1]);
104 dst->i[2] = (int)floorf(src->f[2]);
105 dst->i[3] = (int)floorf(src->f[3]);
109 micro_arr(union tgsi_exec_channel *dst,
112 dst->i[0] = (int)floorf(src->f[0] + 0.5f);
113 dst->i[1] = (int)floorf(src->f[1] + 0.5f);
114 dst->i[2] = (int)floorf(src->f[2] + 0.5f);
115 dst->i[3] = (int)floorf(src->f[3] + 0.5f);
119 micro_ceil(union tgsi_exec_channel *dst,
122 dst->f[0] = ceilf(src->f[0]);
123 dst->f[1] = ceilf(src->f[1]);
124 dst->f[2] = ceilf(src->f[2]);
125 dst->f[3] = ceilf(src->f[3]);
129 micro_cmp(union tgsi_exec_channel *dst,
134 dst->f[0] = src0->f[0] < 0.0f ? src1->f[0] : src2->f[0];
135 dst->f[1] = src0->f[1] < 0.0f ? src1->f[1] : src2->f[1];
136 dst->f[2] = src0->f[2] < 0.0f ? src1->f[2] : src2->f[2];
137 dst->f[3] = src0->f[3] < 0.0f ? src1->f[3] : src2->f[3];
141 micro_cos(union tgsi_exec_channel *dst,
144 dst->f[0] = cosf(src->f[0]);
145 dst->f[1] = cosf(src->f[1]);
146 dst->f[2] = cosf(src->f[2]);
147 dst->f[3] = cosf(src->f[3]);
151 micro_d2f(union tgsi_exec_channel *dst,
154 dst->f[0] = (float)src->d[0];
155 dst->f[1] = (float)src->d[1];
156 dst->f[2] = (float)src->d[2];
157 dst->f[3] = (float)src->d[3];
161 micro_d2i(union tgsi_exec_channel *dst,
164 dst->i[0] = (int)src->d[0];
165 dst->i[1] = (int)src->d[1];
166 dst->i[2] = (int)src->d[2];
167 dst->i[3] = (int)src->d[3];
171 micro_d2u(union tgsi_exec_channel *dst,
174 dst->u[0] = (unsigned)src->d[0];
175 dst->u[1] = (unsigned)src->d[1];
176 dst->u[2] = (unsigned)src->d[2];
177 dst->u[3] = (unsigned)src->d[3];
180 micro_dabs(union tgsi_double_channel *dst,
183 dst->d[0] = src->d[0] >= 0.0 ? src->d[0] : -src->d[0];
184 dst->d[1] = src->d[1] >= 0.0 ? src->d[1] : -src->d[1];
185 dst->d[2] = src->d[2] >= 0.0 ? src->d[2] : -src->d[2];
186 dst->d[3] = src->d[3] >= 0.0 ? src->d[3] : -src->d[3];
190 micro_dadd(union tgsi_double_channel *dst,
193 dst->d[0] = src[0].d[0] + src[1].d[0];
194 dst->d[1] = src[0].d[1] + src[1].d[1];
195 dst->d[2] = src[0].d[2] + src[1].d[2];
196 dst->d[3] = src[0].d[3] + src[1].d[3];
200 micro_ddiv(union tgsi_double_channel *dst,
203 dst->d[0] = src[0].d[0] / src[1].d[0];
204 dst->d[1] = src[0].d[1] / src[1].d[1];
205 dst->d[2] = src[0].d[2] / src[1].d[2];
206 dst->d[3] = src[0].d[3] / src[1].d[3];
210 micro_ddx(union tgsi_exec_channel *dst,
213 dst->f[0] =
214 dst->f[1] =
215 dst->f[2] =
216 dst->f[3] = src->f[TILE_BOTTOM_RIGHT] - src->f[TILE_BOTTOM_LEFT];
220 micro_ddx_fine(union tgsi_exec_channel *dst,
223 dst->f[0] =
224 dst->f[1] = src->f[TILE_TOP_RIGHT] - src->f[TILE_TOP_LEFT];
225 dst->f[2] =
226 dst->f[3] = src->f[TILE_BOTTOM_RIGHT] - src->f[TILE_BOTTOM_LEFT];
231 micro_ddy(union tgsi_exec_channel *dst,
234 dst->f[0] =
235 dst->f[1] =
236 dst->f[2] =
237 dst->f[3] = src->f[TILE_BOTTOM_LEFT] - src->f[TILE_TOP_LEFT];
241 micro_ddy_fine(union tgsi_exec_channel *dst,
244 dst->f[0] =
245 dst->f[2] = src->f[TILE_BOTTOM_LEFT] - src->f[TILE_TOP_LEFT];
246 dst->f[1] =
247 dst->f[3] = src->f[TILE_BOTTOM_RIGHT] - src->f[TILE_TOP_RIGHT];
251 micro_dmul(union tgsi_double_channel *dst,
254 dst->d[0] = src[0].d[0] * src[1].d[0];
255 dst->d[1] = src[0].d[1] * src[1].d[1];
256 dst->d[2] = src[0].d[2] * src[1].d[2];
257 dst->d[3] = src[0].d[3] * src[1].d[3];
261 micro_dmax(union tgsi_double_channel *dst,
264 dst->d[0] = fmax(src[0].d[0], src[1].d[0]);
265 dst->d[1] = fmax(src[0].d[1], src[1].d[1]);
266 dst->d[2] = fmax(src[0].d[2], src[1].d[2]);
267 dst->d[3] = fmax(src[0].d[3], src[1].d[3]);
271 micro_dmin(union tgsi_double_channel *dst,
274 dst->d[0] = fmin(src[0].d[0], src[1].d[0]);
275 dst->d[1] = fmin(src[0].d[1], src[1].d[1]);
276 dst->d[2] = fmin(src[0].d[2], src[1].d[2]);
277 dst->d[3] = fmin(src[0].d[3], src[1].d[3]);
281 micro_dneg(union tgsi_double_channel *dst,
284 dst->d[0] = -src->d[0];
285 dst->d[1] = -src->d[1];
286 dst->d[2] = -src->d[2];
287 dst->d[3] = -src->d[3];
291 micro_dslt(union tgsi_double_channel *dst,
294 dst->u[0][0] = src[0].d[0] < src[1].d[0] ? ~0U : 0U;
295 dst->u[1][0] = src[0].d[1] < src[1].d[1] ? ~0U : 0U;
296 dst->u[2][0] = src[0].d[2] < src[1].d[2] ? ~0U : 0U;
297 dst->u[3][0] = src[0].d[3] < src[1].d[3] ? ~0U : 0U;
301 micro_dsne(union tgsi_double_channel *dst,
304 dst->u[0][0] = src[0].d[0] != src[1].d[0] ? ~0U : 0U;
305 dst->u[1][0] = src[0].d[1] != src[1].d[1] ? ~0U : 0U;
306 dst->u[2][0] = src[0].d[2] != src[1].d[2] ? ~0U : 0U;
307 dst->u[3][0] = src[0].d[3] != src[1].d[3] ? ~0U : 0U;
311 micro_dsge(union tgsi_double_channel *dst,
314 dst->u[0][0] = src[0].d[0] >= src[1].d[0] ? ~0U : 0U;
315 dst->u[1][0] = src[0].d[1] >= src[1].d[1] ? ~0U : 0U;
316 dst->u[2][0] = src[0].d[2] >= src[1].d[2] ? ~0U : 0U;
317 dst->u[3][0] = src[0].d[3] >= src[1].d[3] ? ~0U : 0U;
321 micro_dseq(union tgsi_double_channel *dst,
324 dst->u[0][0] = src[0].d[0] == src[1].d[0] ? ~0U : 0U;
325 dst->u[1][0] = src[0].d[1] == src[1].d[1] ? ~0U : 0U;
326 dst->u[2][0] = src[0].d[2] == src[1].d[2] ? ~0U : 0U;
327 dst->u[3][0] = src[0].d[3] == src[1].d[3] ? ~0U : 0U;
331 micro_drcp(union tgsi_double_channel *dst,
334 dst->d[0] = 1.0 / src->d[0];
335 dst->d[1] = 1.0 / src->d[1];
336 dst->d[2] = 1.0 / src->d[2];
337 dst->d[3] = 1.0 / src->d[3];
341 micro_dsqrt(union tgsi_double_channel *dst,
344 dst->d[0] = sqrt(src->d[0]);
345 dst->d[1] = sqrt(src->d[1]);
346 dst->d[2] = sqrt(src->d[2]);
347 dst->d[3] = sqrt(src->d[3]);
351 micro_drsq(union tgsi_double_channel *dst,
354 dst->d[0] = 1.0 / sqrt(src->d[0]);
355 dst->d[1] = 1.0 / sqrt(src->d[1]);
356 dst->d[2] = 1.0 / sqrt(src->d[2]);
357 dst->d[3] = 1.0 / sqrt(src->d[3]);
361 micro_dmad(union tgsi_double_channel *dst,
364 dst->d[0] = src[0].d[0] * src[1].d[0] + src[2].d[0];
365 dst->d[1] = src[0].d[1] * src[1].d[1] + src[2].d[1];
366 dst->d[2] = src[0].d[2] * src[1].d[2] + src[2].d[2];
367 dst->d[3] = src[0].d[3] * src[1].d[3] + src[2].d[3];
371 micro_dfrac(union tgsi_double_channel *dst,
374 dst->d[0] = src->d[0] - floor(src->d[0]);
375 dst->d[1] = src->d[1] - floor(src->d[1]);
376 dst->d[2] = src->d[2] - floor(src->d[2]);
377 dst->d[3] = src->d[3] - floor(src->d[3]);
381 micro_dflr(union tgsi_double_channel *dst,
384 dst->d[0] = floor(src->d[0]);
385 dst->d[1] = floor(src->d[1]);
386 dst->d[2] = floor(src->d[2]);
387 dst->d[3] = floor(src->d[3]);
391 micro_dldexp(union tgsi_double_channel *dst,
395 dst->d[0] = ldexp(src0->d[0], src1->i[0]);
396 dst->d[1] = ldexp(src0->d[1], src1->i[1]);
397 dst->d[2] = ldexp(src0->d[2], src1->i[2]);
398 dst->d[3] = ldexp(src0->d[3], src1->i[3]);
402 micro_dfracexp(union tgsi_double_channel *dst,
406 dst->d[0] = frexp(src->d[0], &dst_exp->i[0]);
407 dst->d[1] = frexp(src->d[1], &dst_exp->i[1]);
408 dst->d[2] = frexp(src->d[2], &dst_exp->i[2]);
409 dst->d[3] = frexp(src->d[3], &dst_exp->i[3]);
413 micro_exp2(union tgsi_exec_channel *dst,
433 dst->f[0] = powf(2.0f, src->f[0]);
434 dst->f[1] = powf(2.0f, src->f[1]);
435 dst->f[2] = powf(2.0f, src->f[2]);
436 dst->f[3] = powf(2.0f, src->f[3]);
440 micro_f2d(union tgsi_double_channel *dst,
443 dst->d[0] = (double)src->f[0];
444 dst->d[1] = (double)src->f[1];
445 dst->d[2] = (double)src->f[2];
446 dst->d[3] = (double)src->f[3];
450 micro_flr(union tgsi_exec_channel *dst,
453 dst->f[0] = floorf(src->f[0]);
454 dst->f[1] = floorf(src->f[1]);
455 dst->f[2] = floorf(src->f[2]);
456 dst->f[3] = floorf(src->f[3]);
460 micro_frc(union tgsi_exec_channel *dst,
463 dst->f[0] = src->f[0] - floorf(src->f[0]);
464 dst->f[1] = src->f[1] - floorf(src->f[1]);
465 dst->f[2] = src->f[2] - floorf(src->f[2]);
466 dst->f[3] = src->f[3] - floorf(src->f[3]);
470 micro_i2d(union tgsi_double_channel *dst,
473 dst->d[0] = (double)src->i[0];
474 dst->d[1] = (double)src->i[1];
475 dst->d[2] = (double)src->i[2];
476 dst->d[3] = (double)src->i[3];
480 micro_iabs(union tgsi_exec_channel *dst,
483 dst->i[0] = src->i[0] >= 0 ? src->i[0] : -src->i[0];
484 dst->i[1] = src->i[1] >= 0 ? src->i[1] : -src->i[1];
485 dst->i[2] = src->i[2] >= 0 ? src->i[2] : -src->i[2];
486 dst->i[3] = src->i[3] >= 0 ? src->i[3] : -src->i[3];
490 micro_ineg(union tgsi_exec_channel *dst,
493 dst->i[0] = -src->i[0];
494 dst->i[1] = -src->i[1];
495 dst->i[2] = -src->i[2];
496 dst->i[3] = -src->i[3];
500 micro_lg2(union tgsi_exec_channel *dst,
503 dst->f[0] = logf(src->f[0]) * 1.442695f;
504 dst->f[1] = logf(src->f[1]) * 1.442695f;
505 dst->f[2] = logf(src->f[2]) * 1.442695f;
506 dst->f[3] = logf(src->f[3]) * 1.442695f;
510 micro_lrp(union tgsi_exec_channel *dst,
515 dst->f[0] = src0->f[0] * (src1->f[0] - src2->f[0]) + src2->f[0];
516 dst->f[1] = src0->f[1] * (src1->f[1] - src2->f[1]) + src2->f[1];
517 dst->f[2] = src0->f[2] * (src1->f[2] - src2->f[2]) + src2->f[2];
518 dst->f[3] = src0->f[3] * (src1->f[3] - src2->f[3]) + src2->f[3];
522 micro_mad(union tgsi_exec_channel *dst,
527 dst->f[0] = src0->f[0] * src1->f[0] + src2->f[0];
528 dst->f[1] = src0->f[1] * src1->f[1] + src2->f[1];
529 dst->f[2] = src0->f[2] * src1->f[2] + src2->f[2];
530 dst->f[3] = src0->f[3] * src1->f[3] + src2->f[3];
534 micro_mov(union tgsi_exec_channel *dst,
537 dst->u[0] = src->u[0];
538 dst->u[1] = src->u[1];
539 dst->u[2] = src->u[2];
540 dst->u[3] = src->u[3];
544 micro_rcp(union tgsi_exec_channel *dst,
553 dst->f[0] = 1.0f / src->f[0];
554 dst->f[1] = 1.0f / src->f[1];
555 dst->f[2] = 1.0f / src->f[2];
556 dst->f[3] = 1.0f / src->f[3];
560 micro_rnd(union tgsi_exec_channel *dst,
563 dst->f[0] = _mesa_roundevenf(src->f[0]);
564 dst->f[1] = _mesa_roundevenf(src->f[1]);
565 dst->f[2] = _mesa_roundevenf(src->f[2]);
566 dst->f[3] = _mesa_roundevenf(src->f[3]);
570 micro_rsq(union tgsi_exec_channel *dst,
579 dst->f[0] = 1.0f / sqrtf(src->f[0]);
580 dst->f[1] = 1.0f / sqrtf(src->f[1]);
581 dst->f[2] = 1.0f / sqrtf(src->f[2]);
582 dst->f[3] = 1.0f / sqrtf(src->f[3]);
586 micro_sqrt(union tgsi_exec_channel *dst,
589 dst->f[0] = sqrtf(src->f[0]);
590 dst->f[1] = sqrtf(src->f[1]);
591 dst->f[2] = sqrtf(src->f[2]);
592 dst->f[3] = sqrtf(src->f[3]);
596 micro_seq(union tgsi_exec_channel *dst,
600 dst->f[0] = src0->f[0] == src1->f[0] ? 1.0f : 0.0f;
601 dst->f[1] = src0->f[1] == src1->f[1] ? 1.0f : 0.0f;
602 dst->f[2] = src0->f[2] == src1->f[2] ? 1.0f : 0.0f;
603 dst->f[3] = src0->f[3] == src1->f[3] ? 1.0f : 0.0f;
607 micro_sge(union tgsi_exec_channel *dst,
611 dst->f[0] = src0->f[0] >= src1->f[0] ? 1.0f : 0.0f;
612 dst->f[1] = src0->f[1] >= src1->f[1] ? 1.0f : 0.0f;
613 dst->f[2] = src0->f[2] >= src1->f[2] ? 1.0f : 0.0f;
614 dst->f[3] = src0->f[3] >= src1->f[3] ? 1.0f : 0.0f;
618 micro_sgn(union tgsi_exec_channel *dst,
621 dst->f[0] = src->f[0] < 0.0f ? -1.0f : src->f[0] > 0.0f ? 1.0f : 0.0f;
622 dst->f[1] = src->f[1] < 0.0f ? -1.0f : src->f[1] > 0.0f ? 1.0f : 0.0f;
623 dst->f[2] = src->f[2] < 0.0f ? -1.0f : src->f[2] > 0.0f ? 1.0f : 0.0f;
624 dst->f[3] = src->f[3] < 0.0f ? -1.0f : src->f[3] > 0.0f ? 1.0f : 0.0f;
628 micro_isgn(union tgsi_exec_channel *dst,
631 dst->i[0] = src->i[0] < 0 ? -1 : src->i[0] > 0 ? 1 : 0;
632 dst->i[1] = src->i[1] < 0 ? -1 : src->i[1] > 0 ? 1 : 0;
633 dst->i[2] = src->i[2] < 0 ? -1 : src->i[2] > 0 ? 1 : 0;
634 dst->i[3] = src->i[3] < 0 ? -1 : src->i[3] > 0 ? 1 : 0;
638 micro_sgt(union tgsi_exec_channel *dst,
642 dst->f[0] = src0->f[0] > src1->f[0] ? 1.0f : 0.0f;
643 dst->f[1] = src0->f[1] > src1->f[1] ? 1.0f : 0.0f;
644 dst->f[2] = src0->f[2] > src1->f[2] ? 1.0f : 0.0f;
645 dst->f[3] = src0->f[3] > src1->f[3] ? 1.0f : 0.0f;
649 micro_sin(union tgsi_exec_channel *dst,
652 dst->f[0] = sinf(src->f[0]);
653 dst->f[1] = sinf(src->f[1]);
654 dst->f[2] = sinf(src->f[2]);
655 dst->f[3] = sinf(src->f[3]);
659 micro_sle(union tgsi_exec_channel *dst,
663 dst->f[0] = src0->f[0] <= src1->f[0] ? 1.0f : 0.0f;
664 dst->f[1] = src0->f[1] <= src1->f[1] ? 1.0f : 0.0f;
665 dst->f[2] = src0->f[2] <= src1->f[2] ? 1.0f : 0.0f;
666 dst->f[3] = src0->f[3] <= src1->f[3] ? 1.0f : 0.0f;
670 micro_slt(union tgsi_exec_channel *dst,
674 dst->f[0] = src0->f[0] < src1->f[0] ? 1.0f : 0.0f;
675 dst->f[1] = src0->f[1] < src1->f[1] ? 1.0f : 0.0f;
676 dst->f[2] = src0->f[2] < src1->f[2] ? 1.0f : 0.0f;
677 dst->f[3] = src0->f[3] < src1->f[3] ? 1.0f : 0.0f;
681 micro_sne(union tgsi_exec_channel *dst,
685 dst->f[0] = src0->f[0] != src1->f[0] ? 1.0f : 0.0f;
686 dst->f[1] = src0->f[1] != src1->f[1] ? 1.0f : 0.0f;
687 dst->f[2] = src0->f[2] != src1->f[2] ? 1.0f : 0.0f;
688 dst->f[3] = src0->f[3] != src1->f[3] ? 1.0f : 0.0f;
692 micro_trunc(union tgsi_exec_channel *dst,
695 dst->f[0] = truncf(src->f[0]);
696 dst->f[1] = truncf(src->f[1]);
697 dst->f[2] = truncf(src->f[2]);
698 dst->f[3] = truncf(src->f[3]);
702 micro_u2d(union tgsi_double_channel *dst,
705 dst->d[0] = (double)src->u[0];
706 dst->d[1] = (double)src->u[1];
707 dst->d[2] = (double)src->u[2];
708 dst->d[3] = (double)src->u[3];
712 micro_i64abs(union tgsi_double_channel *dst,
715 dst->i64[0] = src->i64[0] >= 0.0 ? src->i64[0] : -src->i64[0];
716 dst->i64[1] = src->i64[1] >= 0.0 ? src->i64[1] : -src->i64[1];
717 dst->i64[2] = src->i64[2] >= 0.0 ? src->i64[2] : -src->i64[2];
718 dst->i64[3] = src->i64[3] >= 0.0 ? src->i64[3] : -src->i64[3];
722 micro_i64sgn(union tgsi_double_channel *dst,
725 dst->i64[0] = src->i64[0] < 0 ? -1 : src->i64[0] > 0 ? 1 : 0;
726 dst->i64[1] = src->i64[1] < 0 ? -1 : src->i64[1] > 0 ? 1 : 0;
727 dst->i64[2] = src->i64[2] < 0 ? -1 : src->i64[2] > 0 ? 1 : 0;
728 dst->i64[3] = src->i64[3] < 0 ? -1 : src->i64[3] > 0 ? 1 : 0;
732 micro_i64neg(union tgsi_double_channel *dst,
735 dst->i64[0] = -src->i64[0];
736 dst->i64[1] = -src->i64[1];
737 dst->i64[2] = -src->i64[2];
738 dst->i64[3] = -src->i64[3];
742 micro_u64seq(union tgsi_double_channel *dst,
745 dst->u[0][0] = src[0].u64[0] == src[1].u64[0] ? ~0U : 0U;
746 dst->u[1][0] = src[0].u64[1] == src[1].u64[1] ? ~0U : 0U;
747 dst->u[2][0] = src[0].u64[2] == src[1].u64[2] ? ~0U : 0U;
748 dst->u[3][0] = src[0].u64[3] == src[1].u64[3] ? ~0U : 0U;
752 micro_u64sne(union tgsi_double_channel *dst,
755 dst->u[0][0] = src[0].u64[0] != src[1].u64[0] ? ~0U : 0U;
756 dst->u[1][0] = src[0].u64[1] != src[1].u64[1] ? ~0U : 0U;
757 dst->u[2][0] = src[0].u64[2] != src[1].u64[2] ? ~0U : 0U;
758 dst->u[3][0] = src[0].u64[3] != src[1].u64[3] ? ~0U : 0U;
762 micro_i64slt(union tgsi_double_channel *dst,
765 dst->u[0][0] = src[0].i64[0] < src[1].i64[0] ? ~0U : 0U;
766 dst->u[1][0] = src[0].i64[1] < src[1].i64[1] ? ~0U : 0U;
767 dst->u[2][0] = src[0].i64[2] < src[1].i64[2] ? ~0U : 0U;
768 dst->u[3][0] = src[0].i64[3] < src[1].i64[3] ? ~0U : 0U;
772 micro_u64slt(union tgsi_double_channel *dst,
775 dst->u[0][0] = src[0].u64[0] < src[1].u64[0] ? ~0U : 0U;
776 dst->u[1][0] = src[0].u64[1] < src[1].u64[1] ? ~0U : 0U;
777 dst->u[2][0] = src[0].u64[2] < src[1].u64[2] ? ~0U : 0U;
778 dst->u[3][0] = src[0].u64[3] < src[1].u64[3] ? ~0U : 0U;
782 micro_i64sge(union tgsi_double_channel *dst,
785 dst->u[0][0] = src[0].i64[0] >= src[1].i64[0] ? ~0U : 0U;
786 dst->u[1][0] = src[0].i64[1] >= src[1].i64[1] ? ~0U : 0U;
787 dst->u[2][0] = src[0].i64[2] >= src[1].i64[2] ? ~0U : 0U;
788 dst->u[3][0] = src[0].i64[3] >= src[1].i64[3] ? ~0U : 0U;
792 micro_u64sge(union tgsi_double_channel *dst,
795 dst->u[0][0] = src[0].u64[0] >= src[1].u64[0] ? ~0U : 0U;
796 dst->u[1][0] = src[0].u64[1] >= src[1].u64[1] ? ~0U : 0U;
797 dst->u[2][0] = src[0].u64[2] >= src[1].u64[2] ? ~0U : 0U;
798 dst->u[3][0] = src[0].u64[3] >= src[1].u64[3] ? ~0U : 0U;
802 micro_u64max(union tgsi_double_channel *dst,
805 dst->u64[0] = src[0].u64[0] > src[1].u64[0] ? src[0].u64[0] : src[1].u64[0];
806 dst->u64[1] = src[0].u64[1] > src[1].u64[1] ? src[0].u64[1] : src[1].u64[1];
807 dst->u64[2] = src[0].u64[2] > src[1].u64[2] ? src[0].u64[2] : src[1].u64[2];
808 dst->u64[3] = src[0].u64[3] > src[1].u64[3] ? src[0].u64[3] : src[1].u64[3];
812 micro_i64max(union tgsi_double_channel *dst,
815 dst->i64[0] = src[0].i64[0] > src[1].i64[0] ? src[0].i64[0] : src[1].i64[0];
816 dst->i64[1] = src[0].i64[1] > src[1].i64[1] ? src[0].i64[1] : src[1].i64[1];
817 dst->i64[2] = src[0].i64[2] > src[1].i64[2] ? src[0].i64[2] : src[1].i64[2];
818 dst->i64[3] = src[0].i64[3] > src[1].i64[3] ? src[0].i64[3] : src[1].i64[3];
822 micro_u64min(union tgsi_double_channel *dst,
825 dst->u64[0] = src[0].u64[0] < src[1].u64[0] ? src[0].u64[0] : src[1].u64[0];
826 dst->u64[1] = src[0].u64[1] < src[1].u64[1] ? src[0].u64[1] : src[1].u64[1];
827 dst->u64[2] = src[0].u64[2] < src[1].u64[2] ? src[0].u64[2] : src[1].u64[2];
828 dst->u64[3] = src[0].u64[3] < src[1].u64[3] ? src[0].u64[3] : src[1].u64[3];
832 micro_i64min(union tgsi_double_channel *dst,
835 dst->i64[0] = src[0].i64[0] < src[1].i64[0] ? src[0].i64[0] : src[1].i64[0];
836 dst->i64[1] = src[0].i64[1] < src[1].i64[1] ? src[0].i64[1] : src[1].i64[1];
837 dst->i64[2] = src[0].i64[2] < src[1].i64[2] ? src[0].i64[2] : src[1].i64[2];
838 dst->i64[3] = src[0].i64[3] < src[1].i64[3] ? src[0].i64[3] : src[1].i64[3];
842 micro_u64add(union tgsi_double_channel *dst,
845 dst->u64[0] = src[0].u64[0] + src[1].u64[0];
846 dst->u64[1] = src[0].u64[1] + src[1].u64[1];
847 dst->u64[2] = src[0].u64[2] + src[1].u64[2];
848 dst->u64[3] = src[0].u64[3] + src[1].u64[3];
852 micro_u64mul(union tgsi_double_channel *dst,
855 dst->u64[0] = src[0].u64[0] * src[1].u64[0];
856 dst->u64[1] = src[0].u64[1] * src[1].u64[1];
857 dst->u64[2] = src[0].u64[2] * src[1].u64[2];
858 dst->u64[3] = src[0].u64[3] * src[1].u64[3];
862 micro_u64div(union tgsi_double_channel *dst,
865 dst->u64[0] = src[1].u64[0] ? src[0].u64[0] / src[1].u64[0] : ~0ull;
866 dst->u64[1] = src[1].u64[1] ? src[0].u64[1] / src[1].u64[1] : ~0ull;
867 dst->u64[2] = src[1].u64[2] ? src[0].u64[2] / src[1].u64[2] : ~0ull;
868 dst->u64[3] = src[1].u64[3] ? src[0].u64[3] / src[1].u64[3] : ~0ull;
872 micro_i64div(union tgsi_double_channel *dst,
875 dst->i64[0] = src[1].i64[0] ? src[0].i64[0] / src[1].i64[0] : 0;
876 dst->i64[1] = src[1].i64[1] ? src[0].i64[1] / src[1].i64[1] : 0;
877 dst->i64[2] = src[1].i64[2] ? src[0].i64[2] / src[1].i64[2] : 0;
878 dst->i64[3] = src[1].i64[3] ? src[0].i64[3] / src[1].i64[3] : 0;
882 micro_u64mod(union tgsi_double_channel *dst,
885 dst->u64[0] = src[1].u64[0] ? src[0].u64[0] % src[1].u64[0] : ~0ull;
886 dst->u64[1] = src[1].u64[1] ? src[0].u64[1] % src[1].u64[1] : ~0ull;
887 dst->u64[2] = src[1].u64[2] ? src[0].u64[2] % src[1].u64[2] : ~0ull;
888 dst->u64[3] = src[1].u64[3] ? src[0].u64[3] % src[1].u64[3] : ~0ull;
892 micro_i64mod(union tgsi_double_channel *dst,
895 dst->i64[0] = src[1].i64[0] ? src[0].i64[0] % src[1].i64[0] : ~0ll;
896 dst->i64[1] = src[1].i64[1] ? src[0].i64[1] % src[1].i64[1] : ~0ll;
897 dst->i64[2] = src[1].i64[2] ? src[0].i64[2] % src[1].i64[2] : ~0ll;
898 dst->i64[3] = src[1].i64[3] ? src[0].i64[3] % src[1].i64[3] : ~0ll;
902 micro_u64shl(union tgsi_double_channel *dst,
908 dst->u64[0] = src0->u64[0] << masked_count;
910 dst->u64[1] = src0->u64[1] << masked_count;
912 dst->u64[2] = src0->u64[2] << masked_count;
914 dst->u64[3] = src0->u64[3] << masked_count;
918 micro_i64shr(union tgsi_double_channel *dst,
924 dst->i64[0] = src0->i64[0] >> masked_count;
926 dst->i64[1] = src0->i64[1] >> masked_count;
928 dst->i64[2] = src0->i64[2] >> masked_count;
930 dst->i64[3] = src0->i64[3] >> masked_count;
934 micro_u64shr(union tgsi_double_channel *dst,
940 dst->u64[0] = src0->u64[0] >> masked_count;
942 dst->u64[1] = src0->u64[1] >> masked_count;
944 dst->u64[2] = src0->u64[2] >> masked_count;
946 dst->u64[3] = src0->u64[3] >> masked_count;
1275 micro_add(union tgsi_exec_channel *dst,
1279 dst->f[0] = src0->f[0] + src1->f[0];
1280 dst->f[1] = src0->f[1] + src1->f[1];
1281 dst->f[2] = src0->f[2] + src1->f[2];
1282 dst->f[3] = src0->f[3] + src1->f[3];
1287 union tgsi_exec_channel *dst,
1291 dst->f[0] = src0->f[0] / src1->f[0];
1292 dst->f[1] = src0->f[1] / src1->f[1];
1293 dst->f[2] = src0->f[2] / src1->f[2];
1294 dst->f[3] = src0->f[3] / src1->f[3];
1299 union tgsi_exec_channel *dst,
1305 dst->f[0] = src0->f[0] < src1->f[0] ? src2->f[0] : src3->f[0];
1306 dst->f[1] = src0->f[1] < src1->f[1] ? src2->f[1] : src3->f[1];
1307 dst->f[2] = src0->f[2] < src1->f[2] ? src2->f[2] : src3->f[2];
1308 dst->f[3] = src0->f[3] < src1->f[3] ? src2->f[3] : src3->f[3];
1312 micro_max(union tgsi_exec_channel *dst,
1316 dst->f[0] = fmaxf(src0->f[0], src1->f[0]);
1317 dst->f[1] = fmaxf(src0->f[1], src1->f[1]);
1318 dst->f[2] = fmaxf(src0->f[2], src1->f[2]);
1319 dst->f[3] = fmaxf(src0->f[3], src1->f[3]);
1323 micro_min(union tgsi_exec_channel *dst,
1327 dst->f[0] = fminf(src0->f[0], src1->f[0]);
1328 dst->f[1] = fminf(src0->f[1], src1->f[1]);
1329 dst->f[2] = fminf(src0->f[2], src1->f[2]);
1330 dst->f[3] = fminf(src0->f[3], src1->f[3]);
1334 micro_mul(union tgsi_exec_channel *dst,
1338 dst->f[0] = src0->f[0] * src1->f[0];
1339 dst->f[1] = src0->f[1] * src1->f[1];
1340 dst->f[2] = src0->f[2] * src1->f[2];
1341 dst->f[3] = src0->f[3] * src1->f[3];
1346 union tgsi_exec_channel *dst,
1349 dst->f[0] = -src->f[0];
1350 dst->f[1] = -src->f[1];
1351 dst->f[2] = -src->f[2];
1352 dst->f[3] = -src->f[3];
1357 union tgsi_exec_channel *dst,
1361 dst->f[0] = powf( src0->f[0], src1->f[0] );
1362 dst->f[1] = powf( src0->f[1], src1->f[1] );
1363 dst->f[2] = powf( src0->f[2], src1->f[2] );
1364 dst->f[3] = powf( src0->f[3], src1->f[3] );
1368 micro_ldexp(union tgsi_exec_channel *dst,
1372 dst->f[0] = ldexpf(src0->f[0], src1->i[0]);
1373 dst->f[1] = ldexpf(src0->f[1], src1->i[1]);
1374 dst->f[2] = ldexpf(src0->f[2], src1->i[2]);
1375 dst->f[3] = ldexpf(src0->f[3], src1->i[3]);
1379 micro_sub(union tgsi_exec_channel *dst,
1383 dst->f[0] = src0->f[0] - src1->f[0];
1384 dst->f[1] = src0->f[1] - src1->f[1];
1385 dst->f[2] = src0->f[2] - src1->f[2];
1386 dst->f[3] = src0->f[3] - src1->f[3];
1643 union tgsi_exec_channel *dst;
1686 dst = &null;
1691 dst = &mach->Outputs[offset + index].xyzw[chan_index];
1709 dst = &mach->Temps[offset + index].xyzw[chan_index];
1715 dst = &mach->Addrs[index].xyzw[chan_index];
1722 return dst;
1731 union tgsi_exec_channel *dst;
1735 dst = store_dest_dstret(mach, chan, reg, chan_index);
1736 if (!dst)
1742 dst->i[i] = chan->i[i];
1752 union tgsi_exec_channel *dst;
1756 dst = store_dest_dstret(mach, chan, reg, chan_index);
1757 if (!dst)
1763 dst->i[i] = chan->i[i];
1768 dst->f[i] = fminf(fmaxf(chan->f[i], 0.0f), 1.0f);
2866 typedef void (* micro_unary_op)(union tgsi_exec_channel *dst,
2877 union tgsi_exec_channel dst;
2880 op(&dst, &src);
2883 store_dest(mach, &dst, &inst->Dst[0], inst, chan);
2895 struct tgsi_exec_vector dst;
2902 op(&dst.xyzw[chan], &src);
2907 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan);
2912 typedef void (* micro_binary_op)(union tgsi_exec_channel *dst,
2924 union tgsi_exec_channel dst;
2928 op(&dst, &src[0], &src[1]);
2931 store_dest(mach, &dst, &inst->Dst[0], inst, chan);
2943 struct tgsi_exec_vector dst;
2951 op(&dst.xyzw[chan], &src[0], &src[1]);
2956 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan);
2961 typedef void (* micro_trinary_op)(union tgsi_exec_channel *dst,
2973 struct tgsi_exec_vector dst;
2982 op(&dst.xyzw[chan], &src[0], &src[1], &src[2]);
2987 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan);
2992 typedef void (* micro_quaternary_op)(union tgsi_exec_channel *dst,
3005 struct tgsi_exec_vector dst;
3015 op(&dst.xyzw[chan], &src[0], &src[1], &src[2], &src[3]);
3020 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan);
3100 union tgsi_exec_channel arg[2], dst;
3105 dst.u[chan] = _mesa_float_to_half(arg[0].f[chan]) |
3110 store_dest(mach, &dst, &inst->Dst[0], inst, chan);
3120 union tgsi_exec_channel arg, dst[2];
3124 dst[0].f[chan] = _mesa_half_to_float(arg.u[chan] & 0xffff);
3125 dst[1].f[chan] = _mesa_half_to_float(arg.u[chan] >> 16);
3129 store_dest(mach, &dst[chan & 1], &inst->Dst[0], inst, chan);
3135 micro_ucmp(union tgsi_exec_channel *dst,
3140 dst->f[0] = src0->u[0] ? src1->f[0] : src2->f[0];
3141 dst->f[1] = src0->u[1] ? src1->f[1] : src2->f[1];
3142 dst->f[2] = src0->u[2] ? src1->f[2] : src2->f[2];
3143 dst->f[3] = src0->u[3] ? src1->f[3] : src2->f[3];
3151 struct tgsi_exec_vector dst;
3163 micro_ucmp(&dst.xyzw[chan], &src[0], &src[1], &src[2]);
3168 store_dest(mach, &dst.xyzw[chan], &inst->Dst[0], inst, chan);
3376 typedef void (* micro_dop)(union tgsi_double_channel *dst,
3379 typedef void (* micro_dop_sop)(union tgsi_double_channel *dst,
3383 typedef void (* micro_dop_s)(union tgsi_double_channel *dst,
3386 typedef void (* micro_sop_d)(union tgsi_exec_channel *dst,
3418 union tgsi_exec_channel dst[2];
3426 dst[0].u[i] = chan->u[i][0];
3427 dst[1].u[i] = chan->u[i][1];
3440 dst[0].u[i] = temp.u[i][0];
3441 dst[1].u[i] = temp.u[i][1];
3445 store_dest_double(mach, &dst[0], reg, chan_0);
3447 store_dest_double(mach, &dst[1], reg, chan_1);
3456 union tgsi_double_channel dst;
3460 op(&dst, &src);
3461 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_X, TGSI_CHAN_Y);
3465 op(&dst, &src);
3466 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_Z, TGSI_CHAN_W);
3477 union tgsi_double_channel dst;
3493 op(&dst, src);
3494 store_double_channel(mach, &dst, &inst->Dst[0], inst, first_dest_chan, second_dest_chan);
3507 op(&dst, src);
3508 store_double_channel(mach, &dst, &inst->Dst[0], inst, first_dest_chan, second_dest_chan);
3518 union tgsi_double_channel dst;
3524 op(&dst, src);
3525 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_X, TGSI_CHAN_Y);
3531 op(&dst, src);
3532 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_Z, TGSI_CHAN_W);
3542 union tgsi_double_channel dst;
3549 micro_dldexp(&dst, &src0, &src1);
3550 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_X, TGSI_CHAN_Y);
3556 micro_dldexp(&dst, &src0, &src1);
3557 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_Z, TGSI_CHAN_W);
3566 union tgsi_double_channel dst;
3570 micro_dfracexp(&dst, &dst_exp, &src);
3572 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_X, TGSI_CHAN_Y);
3574 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_Z, TGSI_CHAN_W);
3588 union tgsi_double_channel dst;
3595 op(&dst, &src0, &src1);
3596 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_X, TGSI_CHAN_Y);
3602 op(&dst, &src0, &src1);
3603 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_Z, TGSI_CHAN_W);
3767 const struct tgsi_full_dst_register *dst)
3771 if (dst->Register.Indirect) {
3777 index2.i[3] = dst->Indirect.Index;
3780 dst->Indirect.File,
3781 dst->Indirect.Swizzle,
3787 unit = dst->Register.Index + indir_index.i[i];
3792 unit = dst->Register.Index;
4138 micro_f2u64(union tgsi_double_channel *dst,
4141 dst->u64[0] = (uint64_t)src->f[0];
4142 dst->u64[1] = (uint64_t)src->f[1];
4143 dst->u64[2] = (uint64_t)src->f[2];
4144 dst->u64[3] = (uint64_t)src->f[3];
4148 micro_f2i64(union tgsi_double_channel *dst,
4151 dst->i64[0] = (int64_t)src->f[0];
4152 dst->i64[1] = (int64_t)src->f[1];
4153 dst->i64[2] = (int64_t)src->f[2];
4154 dst->i64[3] = (int64_t)src->f[3];
4158 micro_u2i64(union tgsi_double_channel *dst,
4161 dst->u64[0] = (uint64_t)src->u[0];
4162 dst->u64[1] = (uint64_t)src->u[1];
4163 dst->u64[2] = (uint64_t)src->u[2];
4164 dst->u64[3] = (uint64_t)src->u[3];
4168 micro_i2i64(union tgsi_double_channel *dst,
4171 dst->i64[0] = (int64_t)src->i[0];
4172 dst->i64[1] = (int64_t)src->i[1];
4173 dst->i64[2] = (int64_t)src->i[2];
4174 dst->i64[3] = (int64_t)src->i[3];
4178 micro_d2u64(union tgsi_double_channel *dst,
4181 dst->u64[0] = (uint64_t)src->d[0];
4182 dst->u64[1] = (uint64_t)src->d[1];
4183 dst->u64[2] = (uint64_t)src->d[2];
4184 dst->u64[3] = (uint64_t)src->d[3];
4188 micro_d2i64(union tgsi_double_channel *dst,
4191 dst->i64[0] = (int64_t)src->d[0];
4192 dst->i64[1] = (int64_t)src->d[1];
4193 dst->i64[2] = (int64_t)src->d[2];
4194 dst->i64[3] = (int64_t)src->d[3];
4198 micro_u642d(union tgsi_double_channel *dst,
4201 dst->d[0] = (double)src->u64[0];
4202 dst->d[1] = (double)src->u64[1];
4203 dst->d[2] = (double)src->u64[2];
4204 dst->d[3] = (double)src->u64[3];
4208 micro_i642d(union tgsi_double_channel *dst,
4211 dst->d[0] = (double)src->i64[0];
4212 dst->d[1] = (double)src->i64[1];
4213 dst->d[2] = (double)src->i64[2];
4214 dst->d[3] = (double)src->i64[3];
4218 micro_u642f(union tgsi_exec_channel *dst,
4221 dst->f[0] = (float)src->u64[0];
4222 dst->f[1] = (float)src->u64[1];
4223 dst->f[2] = (float)src->u64[2];
4224 dst->f[3] = (float)src->u64[3];
4228 micro_i642f(union tgsi_exec_channel *dst,
4231 dst->f[0] = (float)src->i64[0];
4232 dst->f[1] = (float)src->i64[1];
4233 dst->f[2] = (float)src->i64[2];
4234 dst->f[3] = (float)src->i64[3];
4244 union tgsi_double_channel dst;
4248 op(&dst, &src);
4249 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_X, TGSI_CHAN_Y);
4253 op(&dst, &src);
4254 store_double_channel(mach, &dst, &inst->Dst[0], inst, TGSI_CHAN_Z, TGSI_CHAN_W);
4264 union tgsi_exec_channel dst;
4276 op(&dst, &src);
4277 store_dest(mach, &dst, &inst->Dst[0], inst, bit - 1);
4283 micro_i2f(union tgsi_exec_channel *dst,
4286 dst->f[0] = (float)src->i[0];
4287 dst->f[1] = (float)src->i[1];
4288 dst->f[2] = (float)src->i[2];
4289 dst->f[3] = (float)src->i[3];
4293 micro_not(union tgsi_exec_channel *dst,
4296 dst->u[0] = ~src->u[0];
4297 dst->u[1] = ~src->u[1];
4298 dst->u[2] = ~src->u[2];
4299 dst->u[3] = ~src->u[3];
4303 micro_shl(union tgsi_exec_channel *dst,
4309 dst->u[0] = src0->u[0] << masked_count;
4311 dst->u[1] = src0->u[1] << masked_count;
4313 dst->u[2] = src0->u[2] << masked_count;
4315 dst->u[3] = src0->u[3] << masked_count;
4319 micro_and(union tgsi_exec_channel *dst,
4323 dst->u[0] = src0->u[0] & src1->u[0];
4324 dst->u[1] = src0->u[1] & src1->u[1];
4325 dst->u[2] = src0->u[2] & src1->u[2];
4326 dst->u[3] = src0->u[3] & src1->u[3];
4330 micro_or(union tgsi_exec_channel *dst,
4334 dst->u[0] = src0->u[0] | src1->u[0];
4335 dst->u[1] = src0->u[1] | src1->u[1];
4336 dst->u[2] = src0->u[2] | src1->u[2];
4337 dst->u[3] = src0->u[3] | src1->u[3];
4341 micro_xor(union tgsi_exec_channel *dst,
4345 dst->u[0] = src0->u[0] ^ src1->u[0];
4346 dst->u[1] = src0->u[1] ^ src1->u[1];
4347 dst->u[2] = src0->u[2] ^ src1->u[2];
4348 dst->u[3] = src0->u[3] ^ src1->u[3];
4352 micro_mod(union tgsi_exec_channel *dst,
4356 dst->i[0] = src1->i[0] ? src0->i[0] % src1->i[0] : ~0;
4357 dst->i[1] = src1->i[1] ? src0->i[1] % src1->i[1] : ~0;
4358 dst->i[2] = src1->i[2] ? src0->i[2] % src1->i[2] : ~0;
4359 dst->i[3] = src1->i[3] ? src0->i[3] % src1->i[3] : ~0;
4363 micro_f2i(union tgsi_exec_channel *dst,
4366 dst->i[0] = (int)src->f[0];
4367 dst->i[1] = (int)src->f[1];
4368 dst->i[2] = (int)src->f[2];
4369 dst->i[3] = (int)src->f[3];
4373 micro_fseq(union tgsi_exec_channel *dst,
4377 dst->u[0] = src0->f[0] == src1->f[0] ? ~0 : 0;
4378 dst->u[1] = src0->f[1] == src1->f[1] ? ~0 : 0;
4379 dst->u[2] = src0->f[2] == src1->f[2] ? ~0 : 0;
4380 dst->u[3] = src0->f[3] == src1->f[3] ? ~0 : 0;
4384 micro_fsge(union tgsi_exec_channel *dst,
4388 dst->u[0] = src0->f[0] >= src1->f[0] ? ~0 : 0;
4389 dst->u[1] = src0->f[1] >= src1->f[1] ? ~0 : 0;
4390 dst->u[2] = src0->f[2] >= src1->f[2] ? ~0 : 0;
4391 dst->u[3] = src0->f[3] >= src1->f[3] ? ~0 : 0;
4395 micro_fslt(union tgsi_exec_channel *dst,
4399 dst->u[0] = src0->f[0] < src1->f[0] ? ~0 : 0;
4400 dst->u[1] = src0->f[1] < src1->f[1] ? ~0 : 0;
4401 dst->u[2] = src0->f[2] < src1->f[2] ? ~0 : 0;
4402 dst->u[3] = src0->f[3] < src1->f[3] ? ~0 : 0;
4406 micro_fsne(union tgsi_exec_channel *dst,
4410 dst->u[0] = src0->f[0] != src1->f[0] ? ~0 : 0;
4411 dst->u[1] = src0->f[1] != src1->f[1] ? ~0 : 0;
4412 dst->u[2] = src0->f[2] != src1->f[2] ? ~0 : 0;
4413 dst->u[3] = src0->f[3] != src1->f[3] ? ~0 : 0;
4417 micro_idiv(union tgsi_exec_channel *dst,
4421 dst->i[0] = src1->i[0] ? src0->i[0] / src1->i[0] : 0;
4422 dst->i[1] = src1->i[1] ? src0->i[1] / src1->i[1] : 0;
4423 dst->i[2] = src1->i[2] ? src0->i[2] / src1->i[2] : 0;
4424 dst->i[3] = src1->i[3] ? src0->i[3] / src1->i[3] : 0;
4428 micro_imax(union tgsi_exec_channel *dst,
4432 dst->i[0] = src0->i[0] > src1->i[0] ? src0->i[0] : src1->i[0];
4433 dst->i[1] = src0->i[1] > src1->i[1] ? src0->i[1] : src1->i[1];
4434 dst->i[2] = src0->i[2] > src1->i[2] ? src0->i[2] : src1->i[2];
4435 dst->i[3] = src0->i[3] > src1->i[3] ? src0->i[3] : src1->i[3];
4439 micro_imin(union tgsi_exec_channel *dst,
4443 dst->i[0] = src0->i[0] < src1->i[0] ? src0->i[0] : src1->i[0];
4444 dst->i[1] = src0->i[1] < src1->i[1] ? src0->i[1] : src1->i[1];
4445 dst->i[2] = src0->i[2] < src1->i[2] ? src0->i[2] : src1->i[2];
4446 dst->i[3] = src0->i[3] < src1->i[3] ? src0->i[3] : src1->i[3];
4450 micro_isge(union tgsi_exec_channel *dst,
4454 dst->i[0] = src0->i[0] >= src1->i[0] ? -1 : 0;
4455 dst->i[1] = src0->i[1] >= src1->i[1] ? -1 : 0;
4456 dst->i[2] = src0->i[2] >= src1->i[2] ? -1 : 0;
4457 dst->i[3] = src0->i[3] >= src1->i[3] ? -1 : 0;
4461 micro_ishr(union tgsi_exec_channel *dst,
4467 dst->i[0] = src0->i[0] >> masked_count;
4469 dst->i[1] = src0->i[1] >> masked_count;
4471 dst->i[2] = src0->i[2] >> masked_count;
4473 dst->i[3] = src0->i[3] >> masked_count;
4477 micro_islt(union tgsi_exec_channel *dst,
4481 dst->i[0] = src0->i[0] < src1->i[0] ? -1 : 0;
4482 dst->i[1] = src0->i[1] < src1->i[1] ? -1 : 0;
4483 dst->i[2] = src0->i[2] < src1->i[2] ? -1 : 0;
4484 dst->i[3] = src0->i[3] < src1->i[3] ? -1 : 0;
4488 micro_f2u(union tgsi_exec_channel *dst,
4491 dst->u[0] = (uint)src->f[0];
4492 dst->u[1] = (uint)src->f[1];
4493 dst->u[2] = (uint)src->f[2];
4494 dst->u[3] = (uint)src->f[3];
4498 micro_u2f(union tgsi_exec_channel *dst,
4501 dst->f[0] = (float)src->u[0];
4502 dst->f[1] = (float)src->u[1];
4503 dst->f[2] = (float)src->u[2];
4504 dst->f[3] = (float)src->u[3];
4508 micro_uadd(union tgsi_exec_channel *dst,
4512 dst->u[0] = src0->u[0] + src1->u[0];
4513 dst->u[1] = src0->u[1] + src1->u[1];
4514 dst->u[2] = src0->u[2] + src1->u[2];
4515 dst->u[3] = src0->u[3] + src1->u[3];
4519 micro_udiv(union tgsi_exec_channel *dst,
4523 dst->u[0] = src1->u[0] ? src0->u[0] / src1->u[0] : ~0u;
4524 dst->u[1] = src1->u[1] ? src0->u[1] / src1->u[1] : ~0u;
4525 dst->u[2] = src1->u[2] ? src0->u[2] / src1->u[2] : ~0u;
4526 dst->u[3] = src1->u[3] ? src0->u[3] / src1->u[3] : ~0u;
4530 micro_umad(union tgsi_exec_channel *dst,
4535 dst->u[0] = src0->u[0] * src1->u[0] + src2->u[0];
4536 dst->u[1] = src0->u[1] * src1->u[1] + src2->u[1];
4537 dst->u[2] = src0->u[2] * src1->u[2] + src2->u[2];
4538 dst->u[3] = src0->u[3] * src1->u[3] + src2->u[3];
4542 micro_umax(union tgsi_exec_channel *dst,
4546 dst->u[0] = src0->u[0] > src1->u[0] ? src0->u[0] : src1->u[0];
4547 dst->u[1] = src0->u[1] > src1->u[1] ? src0->u[1] : src1->u[1];
4548 dst->u[2] = src0->u[2] > src1->u[2] ? src0->u[2] : src1->u[2];
4549 dst->u[3] = src0->u[3] > src1->u[3] ? src0->u[3] : src1->u[3];
4553 micro_umin(union tgsi_exec_channel *dst,
4557 dst->u[0] = src0->u[0] < src1->u[0] ? src0->u[0] : src1->u[0];
4558 dst->u[1] = src0->u[1] < src1->u[1] ? src0->u[1] : src1->u[1];
4559 dst->u[2] = src0->u[2] < src1->u[2] ? src0->u[2] : src1->u[2];
4560 dst->u[3] = src0->u[3] < src1->u[3] ? src0->u[3] : src1->u[3];
4564 micro_umod(union tgsi_exec_channel *dst,
4568 dst->u[0] = src1->u[0] ? src0->u[0] % src1->u[0] : ~0u;
4569 dst->u[1] = src1->u[1] ? src0->u[1] % src1->u[1] : ~0u;
4570 dst->u[2] = src1->u[2] ? src0->u[2] % src1->u[2] : ~0u;
4571 dst->u[3] = src1->u[3] ? src0->u[3] % src1->u[3] : ~0u;
4575 micro_umul(union tgsi_exec_channel *dst,
4579 dst->u[0] = src0->u[0] * src1->u[0];
4580 dst->u[1] = src0->u[1] * src1->u[1];
4581 dst->u[2] = src0->u[2] * src1->u[2];
4582 dst->u[3] = src0->u[3] * src1->u[3];
4586 micro_imul_hi(union tgsi_exec_channel *dst,
4591 dst->i[0] = I64M(src0->i[0], src1->i[0]);
4592 dst->i[1] = I64M(src0->i[1], src1->i[1]);
4593 dst->i[2] = I64M(src0->i[2], src1->i[2]);
4594 dst->i[3] = I64M(src0->i[3], src1->i[3]);
4599 micro_umul_hi(union tgsi_exec_channel *dst,
4604 dst->u[0] = U64M(src0->u[0], src1->u[0]);
4605 dst->u[1] = U64M(src0->u[1], src1->u[1]);
4606 dst->u[2] = U64M(src0->u[2], src1->u[2]);
4607 dst->u[3] = U64M(src0->u[3], src1->u[3]);
4612 micro_useq(union tgsi_exec_channel *dst,
4616 dst->u[0] = src0->u[0] == src1->u[0] ? ~0 : 0;
4617 dst->u[1] = src0->u[1] == src1->u[1] ? ~0 : 0;
4618 dst->u[2] = src0->u[2] == src1->u[2] ? ~0 : 0;
4619 dst->u[3] = src0->u[3] == src1->u[3] ? ~0 : 0;
4623 micro_usge(union tgsi_exec_channel *dst,
4627 dst->u[0] = src0->u[0] >= src1->u[0] ? ~0 : 0;
4628 dst->u[1] = src0->u[1] >= src1->u[1] ? ~0 : 0;
4629 dst->u[2] = src0->u[2] >= src1->u[2] ? ~0 : 0;
4630 dst->u[3] = src0->u[3] >= src1->u[3] ? ~0 : 0;
4634 micro_ushr(union tgsi_exec_channel *dst,
4640 dst->u[0] = src0->u[0] >> masked_count;
4642 dst->u[1] = src0->u[1] >> masked_count;
4644 dst->u[2] = src0->u[2] >> masked_count;
4646 dst->u[3] = src0->u[3] >> masked_count;
4650 micro_uslt(union tgsi_exec_channel *dst,
4654 dst->u[0] = src0->u[0] < src1->u[0] ? ~0 : 0;
4655 dst->u[1] = src0->u[1] < src1->u[1] ? ~0 : 0;
4656 dst->u[2] = src0->u[2] < src1->u[2] ? ~0 : 0;
4657 dst->u[3] = src0->u[3] < src1->u[3] ? ~0 : 0;
4661 micro_usne(union tgsi_exec_channel *dst,
4665 dst->u[0] = src0->u[0] != src1->u[0] ? ~0 : 0;
4666 dst->u[1] = src0->u[1] != src1->u[1] ? ~0 : 0;
4667 dst->u[2] = src0->u[2] != src1->u[2] ? ~0 : 0;
4668 dst->u[3] = src0->u[3] != src1->u[3] ? ~0 : 0;
4672 micro_uarl(union tgsi_exec_channel *dst,
4675 dst->i[0] = src->u[0];
4676 dst->i[1] = src->u[1];
4677 dst->i[2] = src->u[2];
4678 dst->i[3] = src->u[3];
4685 micro_ibfe(union tgsi_exec_channel *dst,
4695 dst->i[i] = src0->i[i];
4700 dst->i[i] = 0;
4702 dst->i[i] = (src0->i[i] << (32 - width - offset)) >> (32 - width);
4704 dst->i[i] = src0->i[i] >> offset;
4712 micro_ubfe(union tgsi_exec_channel *dst,
4722 dst->u[i] = src0->u[i];
4727 dst->u[i] = 0;
4729 dst->u[i] = (src0->u[i] << (32 - width - offset)) >> (32 - width);
4731 dst->u[i] = src0->u[i] >> offset;
4739 micro_bfi(union tgsi_exec_channel *dst,
4750 dst->u[i] = src1->u[i];
4753 dst->u[i] = ((src1->u[i] << offset) & bitmask) | (src0->u[i] & ~bitmask);
4759 micro_brev(union tgsi_exec_channel *dst,
4762 dst->u[0] = util_bitreverse(src->u[0]);
4763 dst->u[1] = util_bitreverse(src->u[1]);
4764 dst->u[2] = util_bitreverse(src->u[2]);
4765 dst->u[3] = util_bitreverse(src->u[3]);
4769 micro_popc(union tgsi_exec_channel *dst,
4772 dst->u[0] = util_bitcount(src->u[0]);
4773 dst->u[1] = util_bitcount(src->u[1]);
4774 dst->u[2] = util_bitcount(src->u[2]);
4775 dst->u[3] = util_bitcount(src->u[3]);
4779 micro_lsb(union tgsi_exec_channel *dst,
4782 dst->i[0] = ffs(src->u[0]) - 1;
4783 dst->i[1] = ffs(src->u[1]) - 1;
4784 dst->i[2] = ffs(src->u[2]) - 1;
4785 dst->i[3] = ffs(src->u[3]) - 1;
4789 micro_imsb(union tgsi_exec_channel *dst,
4792 dst->i[0] = util_last_bit_signed(src->i[0]) - 1;
4793 dst->i[1] = util_last_bit_signed(src->i[1]) - 1;
4794 dst->i[2] = util_last_bit_signed(src->i[2]) - 1;
4795 dst->i[3] = util_last_bit_signed(src->i[3]) - 1;
4799 micro_umsb(union tgsi_exec_channel *dst,
4802 dst->i[0] = util_last_bit(src->u[0]) - 1;
4803 dst->i[1] = util_last_bit(src->u[1]) - 1;
4804 dst->i[2] = util_last_bit(src->u[2]) - 1;
4805 dst->i[3] = util_last_bit(src->u[3]) - 1;