Lines Matching defs:binop

346 def binop(name, ty, alg_props, const_expr):
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")
388 binop("imul_high", tint32, commutative,
391 binop("umul_high", tuint32, commutative,
394 binop("fdiv", tfloat, "", "src0 / src1")
395 binop("idiv", tint, "", "src0 / src1")
396 binop("udiv", tuint, "", "src0 / src1")
408 binop("umod", tuint, "", "src1 == 0 ? 0 : src0 % src1")
418 binop("irem", tint, "", "src1 == 0 ? 0 : src0 % src1")
419 binop("imod", tint, "",
422 binop("fmod", tfloat, "", "src0 - src1 * floorf(src0 / src1)")
423 binop("frem", tfloat, "", "src0 - src1 * truncf(src0 / src1)")
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")
490 binop("fand", tfloat32, commutative,
492 binop("for", tfloat32, commutative,
494 binop("fxor", tfloat32, commutative,
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")
516 binop("usadd_4x8", tint32, commutative + associative, """
524 binop("ussub_4x8", tint32, "", """
535 binop("umin_4x8", tint32, commutative + associative, """
543 binop("umax_4x8", tint32, commutative + associative, """
551 binop("umul_unorm_4x8", tint32, commutative + associative, """
560 binop("fpow", tfloat, "", "bit_size == 64 ? powf(src0, src1) : pow(src0, src1)")
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))")