Text file src/simd/archsimd/_gen/simdgen/ops/MLOps/go_amd64.yaml

     1  !sum
     2  - go: DotProductPairs
     3    asm: VPMADDWD
     4    in:
     5    - &int
     6      go: $t
     7      base: int
     8    - *int
     9    out:
    10    - &int2 # The elemBits are different
    11      go: $t2
    12      base: int
    13  - go: DotProductPairsSaturated
    14    asm: VPMADDUBSW
    15    in:
    16    - &uint
    17      go: $t
    18      base: uint
    19      overwriteElementBits: 8
    20    - &int3
    21      go: $t3
    22      base: int
    23      overwriteElementBits: 8
    24    out:
    25    - *int2
    26  # - go: DotProductBroadcast
    27  #   asm: VDPP[SD]
    28  #   in:
    29  #   - &dpb_src
    30  #     go: $t
    31  #   - *dpb_src
    32  #   - class: immediate
    33  #     const: 127
    34  #   out:
    35  #   - *dpb_src
    36  - go: AddDotProductPairs
    37    asm: "VPDPWSSD"
    38    in:
    39    - &pdpa_acc
    40      go: $t_acc
    41      base: int
    42      elemBits: 32
    43    - &pdpa_src1
    44      go: $t_src1
    45      base: int
    46      overwriteElementBits: 16
    47    - &pdpa_src2
    48      go: $t_src2
    49      base: int
    50      overwriteElementBits: 16
    51    out:
    52    - *pdpa_acc
    53  - go: MulAdd
    54    asm: "VFMADD213PS|VFMADD213PD"
    55    documentation: !string |-
    56      // NAME performs a fused (x * y) + z.
    57    in:
    58    - &fma_op
    59     go: $t
    60     base: float
    61    - *fma_op
    62    - *fma_op
    63    out:
    64    - *fma_op
    65  - go: MulAddEvenSubOdd
    66    asm: "VFMADDSUB213PS|VFMADDSUB213PD"
    67    in:
    68    - *fma_op
    69    - *fma_op
    70    - *fma_op
    71    out:
    72    - *fma_op
    73  - go: MulAddOddSubEven
    74    asm: "VFMSUBADD213PS|VFMSUBADD213PD"
    75    in:
    76    - *fma_op
    77    - *fma_op
    78    - *fma_op
    79    out:
    80    - *fma_op
    81  - go: SumOf8AbsDiff
    82    asm: "VPSADBW"
    83    in:
    84    - go: $t
    85      base: uint
    86    - go: $t
    87      base: uint
    88    out:
    89    - base: uint
    90      overwriteElementBits: 64
    91  

View as plain text