Text file src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/go_sve.yaml

     1  !sum
     2  # Abs — signed integer absolute value. ZABS is predicated-only: it has no
     3  # unpredicated encoding, so its governing predicate is implicit-all-true and
     4  # its merging qualifier becomes the predicated machine op.
     5  - go: Abs
     6    asm: "ZABS"
     7    in:
     8    - &int
     9      go: $t
    10      base: int
    11    - class: mask # governing predicate
    12    out:
    13    # ZABS "wraps" in the signed domain for MinIntN, which is equivalent to just
    14    # producing the full range in the unsigned domain.
    15    - base: int
    16      overwriteBase: uint
    17  
    18  # Div — signed and unsigned integer divide (ZSDIV/ZUDIV), 32- and 64-bit
    19  # elements only (the narrower widths have no encoding). Predicated-only and
    20  # destructive like the float Div.
    21  - go: Div
    22    asm: "ZSDIV"
    23    in:
    24    - *int
    25    - *int
    26    - class: mask # governing predicate
    27    out:
    28    - *int
    29  - go: Div
    30    asm: "ZUDIV"
    31    in:
    32    - &uint
    33      go: $t
    34      base: uint
    35    - *uint
    36    - class: mask # governing predicate
    37    out:
    38    - *uint
    39  

View as plain text