Lines Matching refs:src1

47       Constant expressions are formed from the variables src0, src1, ...,
130 def reduce_(src0, src1):
131 return reduce_expr.format(src0=src0, src1=src1)
133 src1 = prereduce("src0.y")
137 final(reduce_(src0, src1)))
139 final(reduce_(reduce_(src0, src1), src2)))
141 final(reduce_(reduce_(src0, src1), reduce_(src2, src3))))
361 def reduce_(src0, src1):
362 return reduce_expr.format(src0=src0, src1=src1)
363 def prereduce(src0, src1):
364 return "(" + prereduce_expr.format(src0=src0, src1=src1) + ")"
365 src0 = prereduce("src0.x", "src1.x")
366 src1 = prereduce("src0.y", "src1.y")
367 src2 = prereduce("src0.z", "src1.z")
368 src3 = prereduce("src0.w", "src1.w")
371 final(reduce_(src0, src1)))
374 final(reduce_(reduce_(src0, src1), src2)))
377 final(reduce_(reduce_(src0, src1), reduce_(src2, src3))))
379 binop("fadd", tfloat, commutative + associative, "src0 + src1")
380 binop("iadd", tint, commutative + associative, "src0 + src1")
381 binop("fsub", tfloat, "", "src0 - src1")
382 binop("isub", tint, "", "src0 - src1")
384 binop("fmul", tfloat, commutative + associative, "src0 * src1")
386 binop("imul", tint, commutative + associative, "src0 * src1")
389 "(int32_t)(((int64_t) src0 * (int64_t) src1) >> 32)")
392 "(uint32_t)(((uint64_t) src0 * (uint64_t) src1) >> 32)")
394 binop("fdiv", tfloat, "", "src0 / src1")
395 binop("idiv", tint, "", "src0 / src1")
396 binop("udiv", tuint, "", "src0 / src1")
401 binop_convert("uadd_carry", tuint, tuint, commutative, "src0 + src1 < src0")
406 binop_convert("usub_borrow", tuint, tuint, "", "src0 < src1")
408 binop("umod", tuint, "", "src1 == 0 ? 0 : src0 % src1")
418 binop("irem", tint, "", "src1 == 0 ? 0 : src0 % src1")
420 "src1 == 0 ? 0 : ((src0 % src1 == 0 || (src0 >= 0) == (src1 >= 0)) ?"
421 " src0 % src1 : src0 % src1 + src1)")
422 binop("fmod", tfloat, "", "src0 - src1 * floorf(src0 / src1)")
423 binop("frem", tfloat, "", "src0 - src1 * truncf(src0 / src1)")
432 binop_compare("flt", tfloat, "", "src0 < src1")
433 binop_compare("fge", tfloat, "", "src0 >= src1")
434 binop_compare("feq", tfloat, commutative, "src0 == src1")
435 binop_compare("fne", tfloat, commutative, "src0 != src1")
436 binop_compare("ilt", tint, "", "src0 < src1")
437 binop_compare("ige", tint, "", "src0 >= src1")
438 binop_compare("ieq", tint, commutative, "src0 == src1")
439 binop_compare("ine", tint, commutative, "src0 != src1")
440 binop_compare("ult", tuint, "", "src0 < src1")
441 binop_compare("uge", tuint, "", "src0 >= src1")
445 binop_reduce("ball_fequal", 1, tbool, tfloat, "{src0} == {src1}",
446 "{src0} && {src1}", "{src}")
447 binop_reduce("bany_fnequal", 1, tbool, tfloat, "{src0} != {src1}",
448 "{src0} || {src1}", "{src}")
449 binop_reduce("ball_iequal", 1, tbool, tint, "{src0} == {src1}",
450 "{src0} && {src1}", "{src}")
451 binop_reduce("bany_inequal", 1, tbool, tint, "{src0} != {src1}",
452 "{src0} || {src1}", "{src}")
456 binop_reduce("fall_equal", 1, tfloat32, tfloat32, "{src0} == {src1}",
457 "{src0} && {src1}", "{src} ? 1.0f : 0.0f")
458 binop_reduce("fany_nequal", 1, tfloat32, tfloat32, "{src0} != {src1}",
459 "{src0} || {src1}", "{src} ? 1.0f : 0.0f")
464 binop("slt", tfloat32, "", "(src0 < src1) ? 1.0f : 0.0f") # Set on Less Than
465 binop("sge", tfloat32, "", "(src0 >= src1) ? 1.0f : 0.0f") # Set on Greater or Equal
466 binop("seq", tfloat32, commutative, "(src0 == src1) ? 1.0f : 0.0f") # Set on Equal
467 binop("sne", tfloat32, commutative, "(src0 != src1) ? 1.0f : 0.0f") # Set on Not Equal
470 binop("ishl", tint, "", "src0 << src1")
471 binop("ishr", tint, "", "src0 >> src1")
472 binop("ushr", tuint, "", "src0 >> src1")
480 binop("iand", tuint, commutative + associative, "src0 & src1")
481 binop("ior", tuint, commutative + associative, "src0 | src1")
482 binop("ixor", tuint, commutative + associative, "src0 ^ src1")
491 "((src0 != 0.0f) && (src1 != 0.0f)) ? 1.0f : 0.0f")
493 "((src0 != 0.0f) || (src1 != 0.0f)) ? 1.0f : 0.0f")
495 "(src0 != 0.0f && src1 == 0.0f) || (src0 == 0.0f && src1 != 0.0f) ? 1.0f : 0.0f")
497 binop_reduce("fdot", 1, tfloat, tfloat, "{src0} * {src1}", "{src0} + {src1}",
501 "{src0} * {src1}", "{src0} + {src1}", "{src}")
504 "src0.x * src1.x + src0.y * src1.y + src0.z * src1.z + src1.w")
506 "src0.x * src1.x + src0.y * src1.y + src0.z * src1.z + src1.w")
508 binop("fmin", tfloat, "", "fminf(src0, src1)")
509 binop("imin", tint, commutative + associative, "src1 > src0 ? src0 : src1")
510 binop("umin", tuint, commutative + associative, "src1 > src0 ? src0 : src1")
511 binop("fmax", tfloat, "", "fmaxf(src0, src1)")
512 binop("imax", tint, commutative + associative, "src1 > src0 ? src1 : src0")
513 binop("umax", tuint, commutative + associative, "src1 > src0 ? src1 : src0")
519 dst |= MIN2(((src0 >> i) & 0xff) + ((src1 >> i) & 0xff), 0xff) << i;
528 int src1_chan = (src1 >> i) & 0xff;
538 dst |= MIN2((src0 >> i) & 0xff, (src1 >> i) & 0xff) << i;
546 dst |= MAX2((src0 >> i) & 0xff, (src1 >> i) & 0xff) << i;
555 int src1_chan = (src1 >> i) & 0xff;
560 binop("fpow", tfloat, "", "bit_size == 64 ? powf(src0, src1) : pow(src0, src1)")
563 "pack_half_1x16(src0.x) | (pack_half_1x16(src1.x) << 16)")
566 "src0 | ((uint64_t)src1 << 32)")
572 int bits = src0, offset = src1;
580 dst = (bit_size == 64) ? ldexp(src0, src1) : ldexpf(src0, src1);
590 dst.y = src1.x;
594 binop("extract_u8", tuint, "", "(uint8_t)(src0 >> (src1 * 8))")
595 binop("extract_i8", tint, "", "(int8_t)(src0 >> (src1 * 8))")
598 binop("extract_u16", tuint, "", "(uint16_t)(src0 >> (src1 * 16))")
599 binop("extract_i16", tint, "", "(int16_t)(src0 >> (src1 * 16))")
609 triop("ffma", tfloat, "src0 * src1 + src2")
611 triop("flrp", tfloat, "src0 * (1 - src2) + src1 * src2")
620 triop("fcsel", tfloat32, "(src0 != 0.0f) ? src1 : src2")
622 [tbool, tuint, tuint], "", "src0 ? src1 : src2")
626 unsigned mask = src0, insert = src1, base = src2;
643 int offset = src1, bits = src2;
657 int offset = src1, bits = src2;
673 int offset = src1, bits = src2;
685 int offset = src1, bits = src2;
699 dst.y = src1.x;
712 unsigned base = src0, insert = src1;
726 dst.y = src1.x;