Text file src/simd/archsimd/_gen/simdgen/ops/AddSub/categories.yaml

     1  !sum
     2  - go: Add
     3    commutative: true
     4    documentation: !string |-
     5      // NAME adds corresponding elements of two vectors.
     6  - go: AddSaturated
     7    commutative: true
     8    documentation: !string |-
     9      // NAME adds corresponding elements of two vectors with saturation.
    10  - go: Sub
    11    commutative: false
    12    documentation: !string |-
    13      // NAME subtracts corresponding elements of two vectors.
    14  - go: SubSaturated
    15    commutative: false
    16    documentation: !string |-
    17      // NAME subtracts corresponding elements of two vectors with saturation.
    18  - go: AddPairs
    19    commutative: false
    20    out:
    21    - elemBits: 16|32
    22    documentation: !string |-
    23      // NAME horizontally adds adjacent pairs of elements.
    24      // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
    25  - go: AddPairs
    26    commutative: false
    27    out:
    28    - elemBits: 64
    29    documentation: !string |-
    30      // NAME horizontally adds adjacent pairs of elements.
    31      // For x = [x0, x1] and y = [y0, y1], the result is [x0+x1, y0+y1].
    32  - go: SubPairs
    33    commutative: false
    34    out:
    35    - elemBits: 16|32
    36    documentation: !string |-
    37      // NAME horizontally subtracts adjacent pairs of elements.
    38      // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
    39  - go: SubPairs
    40    commutative: false
    41    out:
    42    - elemBits: 64
    43    documentation: !string |-
    44      // NAME horizontally subtracts adjacent pairs of elements.
    45      // For x = [x0, x1] and y = [y0, y1], the result is [x0-x1, y0-y1].
    46  - go: AddPairsSaturated
    47    commutative: false
    48    documentation: !string |-
    49      // NAME horizontally adds adjacent pairs of elements with saturation.
    50      // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
    51  - go: SubPairsSaturated
    52    commutative: false
    53    documentation: !string |-
    54      // NAME horizontally subtracts adjacent pairs of elements with saturation.
    55      // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
    56  - go: AddPairsGrouped
    57    commutative: false
    58    out:
    59    - elemBits: 16|32
    60    documentation: !string |-
    61      // NAME horizontally adds adjacent pairs of elements.
    62      // With each 128-bit as a group:
    63      // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
    64  - go: AddPairsGrouped
    65    commutative: false
    66    out:
    67    - elemBits: 64
    68    documentation: !string |-
    69      // NAME horizontally adds adjacent pairs of elements.
    70      // With each 128-bit as a group:
    71      // for x = [x0, x1] and y = [y0, y1], the result is [x0+x1, y0+y1].
    72  - go: SubPairsGrouped
    73    commutative: false
    74    out:
    75    - elemBits: 16|32
    76    documentation: !string |-
    77      // NAME horizontally subtracts adjacent pairs of elements.
    78      // With each 128-bit as a group:
    79      // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
    80  - go: SubPairsGrouped
    81    commutative: false
    82    out:
    83    - elemBits: 64
    84    documentation: !string |-
    85      // NAME horizontally subtracts adjacent pairs of elements.
    86      // With each 128-bit as a group:
    87      // for x = [x0, x1] and y = [y0, y1], the result is [x0-x1, y0-y1].
    88  - go: AddPairsSaturatedGrouped
    89    commutative: false
    90    documentation: !string |-
    91      // NAME horizontally adds adjacent pairs of elements with saturation.
    92      // With each 128-bit as a group:
    93      // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
    94  - go: SubPairsSaturatedGrouped
    95    commutative: false
    96    documentation: !string |-
    97      // NAME horizontally subtracts adjacent pairs of elements with saturation.
    98      // With each 128-bit as a group:
    99      // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
   100  

View as plain text