blob: 0a7a38a9d54eb647e96c60f7dbc4b30667fd969a [file]
!sum
# Abs — signed integer absolute value. ZABS is predicated-only: it has no
# unpredicated encoding, so its governing predicate is implicit-all-true and
# its merging qualifier becomes the predicated machine op.
- go: Abs
asm: "ZABS"
in:
- &int
go: $t
base: int
- class: mask # governing predicate
out:
# ZABS "wraps" in the signed domain for MinIntN, which is equivalent to just
# producing the full range in the unsigned domain.
- base: int
overwriteBase: uint
# Div — signed and unsigned integer divide (ZSDIV/ZUDIV), 32- and 64-bit
# elements only (the narrower widths have no encoding). Predicated-only and
# destructive like the float Div.
- go: Div
asm: "ZSDIV"
in:
- *int
- *int
- class: mask # governing predicate
out:
- *int
- go: Div
asm: "ZUDIV"
in:
- &uint
go: $t
base: uint
- *uint
- class: mask # governing predicate
out:
- *uint