Lines Matching refs:binop

566 def binop(name, ty, alg_props, const_expr):
627 binop("fadd", tfloat, _2src_commutative + associative,"""
637 binop("iadd", tint, _2src_commutative + associative, "(uint64_t)src0 + (uint64_t)src1")
638 binop("iadd_sat", tint, _2src_commutative, """
643 binop("uadd_sat", tuint, _2src_commutative,
645 binop("isub_sat", tint, "", """
650 binop("usub_sat", tuint, "", "src0 < src1 ? 0 : src0 - src1")
652 binop("fsub", tfloat, "", """
662 binop("isub", tint, "", "src0 - src1")
667 binop("uabs_usub", tuint, "", "(src1 > src0) ? (src1 - src0) : (src0 - src1)")
669 binop("fmul", tfloat, _2src_commutative + associative, """
684 binop("fmulz", tfloat32, _2src_commutative + associative, """
694 binop("imul", tint, _2src_commutative + associative, """
706 binop("imul_high", tint, _2src_commutative, """
735 binop("umul_high", tuint, _2src_commutative, """
749 binop("umul_low", tuint32, _2src_commutative, """
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)")
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")
809 binop("imod", tint, "",
812 binop("fmod", tfloat, "", "src0 - src1 * floorf(src0 / src1)")
813 binop("frem", tfloat, "", "src0 - src1 * truncf(src0 / src1)")
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
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")
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)")
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)")
1210 binop("amul", tint, _2src_commutative + associative, "src0 * src1")
1274 binop("imul24", tint32, _2src_commutative + associative,
1282 binop("umul24", tint32, _2src_commutative + associative,
1286 binop("imul24_relaxed", tint32, _2src_commutative + associative, "src0 * src1")
1288 binop("umul24_relaxed", tuint32, _2src_commutative + associative, "src0 * src1")
1297 binop("usadd_4x8_vc4", tint32, _2src_commutative + associative, """
1305 binop("ussub_4x8_vc4", tint32, "", """
1316 binop("umin_4x8_vc4", tint32, _2src_commutative + associative, """
1324 binop("umax_4x8_vc4", tint32, _2src_commutative + associative, """
1332 binop("umul_unorm_4x8_vc4", tint32, _2src_commutative + associative, """