Lines Matching refs:src1
48 Constant expressions are formed from the variables src0, src1, ...,
178 def reduce_(src0, src1):
179 return reduce_expr.format(src0=src0, src1=src1)
181 src1 = prereduce("src0.y")
185 final(reduce_(src0, src1)))
187 final(reduce_(reduce_(src0, src1), src2)))
189 final(reduce_(reduce_(src0, src1), reduce_(src2, src3))))
560 unop_reduce("fsum", 1, tfloat, tfloat, "{src}", "{src0} + {src1}", "{src}")
596 def reduce_(src0, src1):
597 return reduce_expr.format(src0=src0, src1=src1)
598 def prereduce(src0, src1):
599 return "(" + prereduce_expr.format(src0=src0, src1=src1) + ")"
600 srcs = [prereduce("src0." + letter, "src1." + letter) for letter in "xyzwefghijklmnop"]
630 dst = _mesa_double_add_rtz(src0, src1);
632 dst = _mesa_double_to_float_rtz((double)src0 + (double)src1);
634 dst = src0 + src1;
637 binop("iadd", tint, _2src_commutative + associative, "(uint64_t)src0 + (uint64_t)src1")
639 src1 > 0 ?
640 (src0 + src1 < src0 ? u_intN_max(bit_size) : src0 + src1) :
641 (src0 < src0 + src1 ? u_intN_min(bit_size) : src0 + src1)
644 "(src0 + src1) < src0 ? u_uintN_max(sizeof(src0) * 8) : (src0 + src1)")
646 src1 < 0 ?
647 (src0 - src1 < src0 ? u_intN_max(bit_size) : src0 - src1) :
648 (src0 < src0 - src1 ? u_intN_min(bit_size) : src0 - src1)
650 binop("usub_sat", tuint, "", "src0 < src1 ? 0 : src0 - src1")
655 dst = _mesa_double_sub_rtz(src0, src1);
657 dst = _mesa_double_to_float_rtz((double)src0 - (double)src1);
659 dst = src0 - src1;
662 binop("isub", tint, "", "src0 - src1")
664 src1 > src0 ? (uint64_t) src1 - (uint64_t) src0
665 : (uint64_t) src0 - (uint64_t) src1
667 binop("uabs_usub", tuint, "", "(src1 > src0) ? (src1 - src0) : (src0 - src1)")
672 dst = _mesa_double_mul_rtz(src0, src1);
674 dst = _mesa_double_to_float_rtz((double)src0 * (double)src1);
676 dst = src0 * src1;
685 if (src0 == 0.0 || src1 == 0.0)
688 dst = _mesa_double_to_float_rtz((double)src0 * (double)src1);
690 dst = src0 * src1;
696 dst = (uint64_t)src0 * (uint64_t)src1;
701 "(int64_t)src0 * (int64_t)src1")
703 "(uint64_t)src0 * (uint64_t)src1")
719 src1,
720 (int64_t)src1 >> 32,
721 (int64_t)src1 >> 63,
722 (int64_t)src1 >> 63,
730 dst = ((uint64_t)(int64_t)src0 * (uint64_t)(int64_t)src1) >> bit_size;
739 uint32_t src1_u32[2] = { src1, (uint64_t)src1 >> 32 };
744 dst = ((uint64_t)src0 * (uint64_t)src1) >> bit_size;
751 dst = ((uint64_t)src0 & mask) * ((uint64_t)src1 & mask);
755 binop("imul_32x16", tint32, "", "src0 * (int16_t) src1")
756 binop("umul_32x16", tuint32, "", "src0 * (uint16_t) src1")
758 binop("fdiv", tfloat, "", "src0 / src1")
759 binop("idiv", tint, "", "src1 == 0 ? 0 : (src0 / src1)")
760 binop("udiv", tuint, "", "src1 == 0 ? 0 : (src0 / src1)")
765 binop_convert("uadd_carry", tuint, tuint, _2src_commutative, "src0 + src1 < src0")
770 binop_convert("usub_borrow", tuint, tuint, "", "src0 < src1")
782 binop("ihadd", tint, _2src_commutative, "(src0 & src1) + ((src0 ^ src1) >> 1)")
783 binop("uhadd", tuint, _2src_commutative, "(src0 & src1) + ((src0 ^ src1) >> 1)")
795 binop("irhadd", tint, _2src_commutative, "(src0 | src1) - ((src0 ^ src1) >> 1)")
796 binop("urhadd", tuint, _2src_commutative, "(src0 | src1) - ((src0 ^ src1) >> 1)")
798 binop("umod", tuint, "", "src1 == 0 ? 0 : src0 % src1")
808 binop("irem", tint, "", "src1 == 0 ? 0 : src0 % src1")
810 "src1 == 0 ? 0 : ((src0 % src1 == 0 || (src0 >= 0) == (src1 >= 0)) ?"
811 " src0 % src1 : src0 % src1 + src1)")
812 binop("fmod", tfloat, "", "src0 - src1 * floorf(src0 / src1)")
813 binop("frem", tfloat, "", "src0 - src1 * truncf(src0 / src1)")
822 binop_compare_all_sizes("flt", tfloat, "", "src0 < src1")
823 binop_compare_all_sizes("fge", tfloat, "", "src0 >= src1")
824 binop_compare_all_sizes("feq", tfloat, _2src_commutative, "src0 == src1")
825 binop_compare_all_sizes("fneu", tfloat, _2src_commutative, "src0 != src1")
826 binop_compare_all_sizes("ilt", tint, "", "src0 < src1")
827 binop_compare_all_sizes("ige", tint, "", "src0 >= src1")
828 binop_compare_all_sizes("ieq", tint, _2src_commutative, "src0 == src1")
829 binop_compare_all_sizes("ine", tint, _2src_commutative, "src0 != src1")
830 binop_compare_all_sizes("ult", tuint, "", "src0 < src1")
831 binop_compare_all_sizes("uge", tuint, "", "src0 >= src1")
835 binop_reduce_all_sizes("ball_fequal", 1, tfloat, "{src0} == {src1}",
836 "{src0} && {src1}", "{src}")
837 binop_reduce_all_sizes("bany_fnequal", 1, tfloat, "{src0} != {src1}",
838 "{src0} || {src1}", "{src}")
839 binop_reduce_all_sizes("ball_iequal", 1, tint, "{src0} == {src1}",
840 "{src0} && {src1}", "{src}")
841 binop_reduce_all_sizes("bany_inequal", 1, tint, "{src0} != {src1}",
842 "{src0} || {src1}", "{src}")
846 binop_reduce("fall_equal", 1, tfloat32, tfloat32, "{src0} == {src1}",
847 "{src0} && {src1}", "{src} ? 1.0f : 0.0f")
848 binop_reduce("fany_nequal", 1, tfloat32, tfloat32, "{src0} != {src1}",
849 "{src0} || {src1}", "{src} ? 1.0f : 0.0f")
854 binop("slt", tfloat, "", "(src0 < src1) ? 1.0f : 0.0f") # Set on Less Than
855 binop("sge", tfloat, "", "(src0 >= src1) ? 1.0f : 0.0f") # Set on Greater or Equal
856 binop("seq", tfloat, _2src_commutative, "(src0 == src1) ? 1.0f : 0.0f") # Set on Equal
857 binop("sne", tfloat, _2src_commutative, "(src0 != src1) ? 1.0f : 0.0f") # Set on Not Equal
863 "(uint64_t)src0 << (src1 & (sizeof(src0) * 8 - 1))")
865 "src0 >> (src1 & (sizeof(src0) * 8 - 1))")
867 "src0 >> (src1 & (sizeof(src0) * 8 - 1))")
871 dst = (src0 << (src1 & rotate_mask)) |
872 (src0 >> (-src1 & rotate_mask));
876 dst = (src0 >> (src1 & rotate_mask)) |
877 (src0 << (-src1 & rotate_mask));
886 binop("iand", tuint, _2src_commutative + associative, "src0 & src1")
887 binop("ior", tuint, _2src_commutative + associative, "src0 | src1")
888 binop("ixor", tuint, _2src_commutative + associative, "src0 ^ src1")
891 binop_reduce("fdot", 1, tfloat, tfloat, "{src0} * {src1}", "{src0} + {src1}",
895 "{src0} * {src1}", "{src0} + {src1}", "{src}",
899 "src0.x * src1.x + src0.y * src1.y + src0.z * src1.z + src1.w")
901 "src0.x * src1.x + src0.y * src1.y + src0.z * src1.z + src1.w")
903 binop("fmin", tfloat, _2src_commutative + associative, "fmin(src0, src1)")
904 binop("imin", tint, _2src_commutative + associative, "src1 > src0 ? src0 : src1")
905 binop("umin", tuint, _2src_commutative + associative, "src1 > src0 ? src0 : src1")
906 binop("fmax", tfloat, _2src_commutative + associative, "fmax(src0, src1)")
907 binop("imax", tint, _2src_commutative + associative, "src1 > src0 ? src1 : src0")
908 binop("umax", tuint, _2src_commutative + associative, "src1 > src0 ? src1 : src0")
910 binop("fpow", tfloat, "", "bit_size == 64 ? powf(src0, src1) : pow(src0, src1)")
913 "pack_half_1x16(src0.x) | (pack_half_1x16(src1.x) << 16)")
916 "src0 | ((uint64_t)src1 << 32)")
919 "src0 | ((uint32_t)src1 << 16)")
923 "src0 | ((uint32_t)src1 << 8) | ((uint32_t)src2 << 16) | ((uint32_t)src3 << 24)")
927 # are from the low five bits of src0 and src1, respectively.
930 int offset = src1 & 0x1F;
935 dst = (bit_size == 64) ? ldexp(src0, src1) : ldexpf(src0, src1);
945 dst.y = src1.x;
949 binop("extract_u8", tuint, "", "(uint8_t)(src0 >> (src1 * 8))")
950 binop("extract_i8", tint, "", "(int8_t)(src0 >> (src1 * 8))")
953 binop("extract_u16", tuint, "", "(uint16_t)(src0 >> (src1 * 16))")
954 binop("extract_i16", tint, "", "(int16_t)(src0 >> (src1 * 16))")
957 binop("insert_u8", tuint, "", "(src0 & 0xff) << (src1 * 8)")
958 binop("insert_u16", tuint, "", "(src0 & 0xffff) << (src1 * 16)")
971 dst = _mesa_double_fma_rtz(src0, src1, src2);
973 dst = _mesa_float_fma_rtz(src0, src1, src2);
975 dst = _mesa_double_to_float_rtz(_mesa_double_fma_rtz(src0, src1, src2));
978 dst = fmaf(src0, src1, src2);
980 dst = fma(src0, src1, src2);
987 # the result must be a positive zero plus src2 if either src0 or src1 is zero.
989 if (src0 == 0.0 || src1 == 0.0)
992 dst = _mesa_float_fma_rtz(src0, src1, src2);
994 dst = fmaf(src0, src1, src2);
997 triop("flrp", tfloat, "", "src0 * (1 - src2) + src1 * src2")
1000 triop("iadd3", tint, _2src_commutative + associative, "src0 + src1 + src2")
1008 triop("fcsel", tfloat32, selection, "(src0 != 0.0f) ? src1 : src2")
1011 [tbool1, tuint, tuint], False, selection, "src0 ? src1 : src2")
1013 [tbool8, tuint, tuint], False, selection, "src0 ? src1 : src2")
1015 [tbool16, tuint, tuint], False, selection, "src0 ? src1 : src2")
1017 [tbool32, tuint, tuint], False, selection, "src0 ? src1 : src2")
1019 triop("i32csel_gt", tint32, selection, "(src0 > 0) ? src1 : src2")
1020 triop("i32csel_ge", tint32, selection, "(src0 >= 0) ? src1 : src2")
1022 triop("fcsel_gt", tfloat32, selection, "(src0 > 0.0f) ? src1 : src2")
1023 triop("fcsel_ge", tfloat32, selection, "(src0 >= 0.0f) ? src1 : src2")
1027 unsigned mask = src0, insert = src1, base = src2;
1041 triop("bitfield_select", tuint, "", "(src0 & src1) | (~src0 & src2)")
1047 unsigned offset = src1 & 0x1F;
1060 unsigned offset = src1 & 0x1F;
1075 int offset = src1, bits = src2;
1087 int offset = src1, bits = src2;
1108 uint8_t s1_b0 = (src1.x & 0x000000ff) >> 0;
1109 uint8_t s1_b1 = (src1.x & 0x0000ff00) >> 8;
1110 uint8_t s1_b2 = (src1.x & 0x00ff0000) >> 16;
1111 uint8_t s1_b3 = (src1.x & 0xff000000) >> 24;
1124 dst.y = src1.x;
1137 unsigned base = src0, insert = src1;
1151 dst.y = src1.x;
1160 dst.y = src1.x;
1170 dst.y = src1.x;
1183 dst.y = src1.x;
1210 binop("amul", tint, _2src_commutative + associative, "src0 * src1")
1217 dst = ((((src0 & 0xffff0000) >> 16) * (src1 & 0x0000ffff)) << 16) + src2;
1224 "(((int32_t)src0 << 8) >> 8) * (((int32_t)src1 << 8) >> 8) + src2")
1275 "(((int32_t)src0 << 8) >> 8) * (((int32_t)src1 << 8) >> 8)")
1279 "(((uint32_t)src0 << 8) >> 8) * (((uint32_t)src1 << 8) >> 8) + src2")
1283 "(((uint32_t)src0 << 8) >> 8) * (((uint32_t)src1 << 8) >> 8)")
1286 binop("imul24_relaxed", tint32, _2src_commutative + associative, "src0 * src1")
1287 triop("umad24_relaxed", tuint32, _2src_commutative, "src0 * src1 + src2")
1288 binop("umul24_relaxed", tuint32, _2src_commutative + associative, "src0 * src1")
1300 dst |= MIN2(((src0 >> i) & 0xff) + ((src1 >> i) & 0xff), 0xff) << i;
1309 int src1_chan = (src1 >> i) & 0xff;
1319 dst |= MIN2((src0 >> i) & 0xff, (src1 >> i) & 0xff) << i;
1327 dst |= MAX2((src0 >> i) & 0xff, (src1 >> i) & 0xff) << i;
1336 int src1_chan = (src1 >> i) & 0xff;
1361 # src0 and src1 are i8vec4 packed in an int32, and src2 is an int32. The int8
1370 const int32_t v1x = (int8_t)(src1 );
1371 const int32_t v1y = (int8_t)(src1 >> 8);
1372 const int32_t v1z = (int8_t)(src1 >> 16);
1373 const int32_t v1w = (int8_t)(src1 >> 24);
1385 const uint32_t v1x = (uint8_t)(src1 );
1386 const uint32_t v1y = (uint8_t)(src1 >> 8);
1387 const uint32_t v1z = (uint8_t)(src1 >> 16);
1388 const uint32_t v1w = (uint8_t)(src1 >> 24);
1393 # src0 is i8vec4 packed in an int32, src1 is u8vec4 packed in an int32, and
1406 const uint32_t v1x = (uint8_t)(src1 );
1407 const uint32_t v1y = (uint8_t)(src1 >> 8);
1408 const uint32_t v1z = (uint8_t)(src1 >> 16);
1409 const uint32_t v1w = (uint8_t)(src1 >> 24);
1421 const int64_t v1x = (int8_t)(src1 );
1422 const int64_t v1y = (int8_t)(src1 >> 8);
1423 const int64_t v1z = (int8_t)(src1 >> 16);
1424 const int64_t v1w = (int8_t)(src1 >> 24);
1438 const uint64_t v1x = (uint8_t)(src1 );
1439 const uint64_t v1y = (uint8_t)(src1 >> 8);
1440 const uint64_t v1z = (uint8_t)(src1 >> 16);
1441 const uint64_t v1w = (uint8_t)(src1 >> 24);
1458 const uint64_t v1x = (uint8_t)(src1 );
1459 const uint64_t v1y = (uint8_t)(src1 >> 8);
1460 const uint64_t v1z = (uint8_t)(src1 >> 16);
1461 const uint64_t v1w = (uint8_t)(src1 >> 24);
1468 # src0 and src1 are i16vec2 packed in an int32, and src2 is an int32. The int16
1475 const int32_t v1x = (int16_t)(src1 );
1476 const int32_t v1y = (int16_t)(src1 >> 16);
1486 const uint32_t v1x = (uint16_t)(src1 );
1487 const uint32_t v1y = (uint16_t)(src1 >> 16);
1497 const int64_t v1x = (int16_t)(src1 );
1498 const int64_t v1y = (int16_t)(src1 >> 16);
1510 const uint64_t v1x = (uint16_t)(src1 );
1511 const uint64_t v1y = (uint16_t)(src1 >> 16);