Lines Matching refs:binop

559 def binop(name, ty, alg_props, const_expr):
620 binop("fadd", tfloat, _2src_commutative + associative,"""
630 binop("iadd", tint, _2src_commutative + associative, "(uint64_t)src0 + (uint64_t)src1")
631 binop("iadd_sat", tint, _2src_commutative, """
636 binop("uadd_sat", tuint, _2src_commutative,
638 binop("isub_sat", tint, "", """
643 binop("usub_sat", tuint, "", "src0 < src1 ? 0 : src0 - src1")
645 binop("fsub", tfloat, "", """
655 binop("isub", tint, "", "src0 - src1")
660 binop("uabs_usub", tuint, "", "(src1 > src0) ? (src1 - src0) : (src0 - src1)")
662 binop("fmul", tfloat, _2src_commutative + associative, """
673 binop("imul", tint, _2src_commutative + associative, """
685 binop("imul_high", tint, _2src_commutative, """
714 binop("umul_high", tuint, _2src_commutative, """
728 binop("umul_low", tuint32, _2src_commutative, """
734 binop("imul_32x16", tint32, "", "src0 * (int16_t) src1")
735 binop("umul_32x16", tuint32, "", "src0 * (uint16_t) src1")
737 binop("fdiv", tfloat, "", "src0 / src1")
738 binop("idiv", tint, "", "src1 == 0 ? 0 : (src0 / src1)")
739 binop("udiv", tuint, "", "src1 == 0 ? 0 : (src0 / src1)")
761 binop("ihadd", tint, _2src_commutative, "(src0 & src1) + ((src0 ^ src1) >> 1)")
762 binop("uhadd", tuint, _2src_commutative, "(src0 & src1) + ((src0 ^ src1) >> 1)")
774 binop("irhadd", tint, _2src_commutative, "(src0 | src1) - ((src0 ^ src1) >> 1)")
775 binop("urhadd", tuint, _2src_commutative, "(src0 | src1) - ((src0 ^ src1) >> 1)")
777 binop("umod", tuint, "", "src1 == 0 ? 0 : src0 % src1")
787 binop("irem", tint, "", "src1 == 0 ? 0 : src0 % src1")
788 binop("imod", tint, "",
791 binop("fmod", tfloat, "", "src0 - src1 * floorf(src0 / src1)")
792 binop("frem", tfloat, "", "src0 - src1 * truncf(src0 / src1)")
833 binop("slt", tfloat, "", "(src0 < src1) ? 1.0f : 0.0f") # Set on Less Than
834 binop("sge", tfloat, "", "(src0 >= src1) ? 1.0f : 0.0f") # Set on Greater or Equal
835 binop("seq", tfloat, _2src_commutative, "(src0 == src1) ? 1.0f : 0.0f") # Set on Equal
836 binop("sne", tfloat, _2src_commutative, "(src0 != src1) ? 1.0f : 0.0f") # Set on Not Equal
865 binop("iand", tuint, _2src_commutative + associative, "src0 & src1")
866 binop("ior", tuint, _2src_commutative + associative, "src0 | src1")
867 binop("ixor", tuint, _2src_commutative + associative, "src0 ^ src1")
882 binop("fmin", tfloat, _2src_commutative + associative, "fmin(src0, src1)")
883 binop("imin", tint, _2src_commutative + associative, "src1 > src0 ? src0 : src1")
884 binop("umin", tuint, _2src_commutative + associative, "src1 > src0 ? src0 : src1")
885 binop("fmax", tfloat, _2src_commutative + associative, "fmax(src0, src1)")
886 binop("imax", tint, _2src_commutative + associative, "src1 > src0 ? src1 : src0")
887 binop("umax", tuint, _2src_commutative + associative, "src1 > src0 ? src1 : src0")
889 binop("fpow", tfloat, "", "bit_size == 64 ? powf(src0, src1) : pow(src0, src1)")
928 binop("extract_u8", tuint, "", "(uint8_t)(src0 >> (src1 * 8))")
929 binop("extract_i8", tint, "", "(int8_t)(src0 >> (src1 * 8))")
932 binop("extract_u16", tuint, "", "(uint16_t)(src0 >> (src1 * 16))")
933 binop("extract_i16", tint, "", "(int16_t)(src0 >> (src1 * 16))")
936 binop("insert_u8", tuint, "", "(src0 & 0xff) << (src1 * 8)")
937 binop("insert_u16", tuint, "", "(src0 & 0xffff) << (src1 * 16)")
1176 binop("amul", tint, _2src_commutative + associative, "src0 * src1")
1240 binop("imul24", tint32, _2src_commutative + associative,
1248 binop("umul24", tint32, _2src_commutative + associative,
1252 binop("imul24_relaxed", tint32, _2src_commutative + associative, "src0 * src1")
1254 binop("umul24_relaxed", tuint32, _2src_commutative + associative, "src0 * src1")
1263 binop("usadd_4x8_vc4", tint32, _2src_commutative + associative, """
1271 binop("ussub_4x8_vc4", tint32, "", """
1282 binop("umin_4x8_vc4", tint32, _2src_commutative + associative, """
1290 binop("umax_4x8_vc4", tint32, _2src_commutative + associative, """
1298 binop("umul_unorm_4x8_vc4", tint32, _2src_commutative + associative, """