Text file src/simd/archsimd/_gen/simdgen/ops/Reduce/go_arm64.yaml

     1  !sum
     2  
     3  # Sum all elements — VADDV (integer)
     4  - go: reduceSum
     5    asm: "VADDV"
     6    in:
     7    - &any
     8      go: $t
     9      base: int|uint
    10    out:
    11    - &scalarOut
    12      go: $t
    13      treatLikeAScalarOfSize: 0
    14  
    15  # Max of all elements — VSMAXV (signed)
    16  - go: reduceMax
    17    signed: true
    18    asm: "VSMAXV"
    19    in:
    20    - &int
    21      go: $t
    22      base: int
    23    out:
    24    - *scalarOut
    25  
    26  # Max of all elements — VUMAXV (unsigned)
    27  - go: reduceMax
    28    signed: false
    29    asm: "VUMAXV"
    30    in:
    31    - &uint
    32      go: $t
    33      base: uint
    34    out:
    35    - *scalarOut
    36  
    37  # Max of all elements — VFMAXV (float32)
    38  - go: reduceMax
    39    asm: "VFMAXV"
    40    in:
    41    - &fp
    42      go: $t
    43      base: float
    44    out:
    45    - *scalarOut
    46  
    47  # Min of all elements — VSMINV (signed)
    48  - go: reduceMin
    49    signed: true
    50    asm: "VSMINV"
    51    in:
    52    - *int
    53    out:
    54    - *scalarOut
    55  
    56  # Min of all elements — VUMINV (unsigned)
    57  - go: reduceMin
    58    signed: false
    59    asm: "VUMINV"
    60    in:
    61    - *uint
    62    out:
    63    - *scalarOut
    64  
    65  # Min of all elements — VFMINV (float32)
    66  - go: reduceMin
    67    asm: "VFMINV"
    68    in:
    69    - *fp
    70    out:
    71    - *scalarOut
    72  

View as plain text