golang.org/x/arch@v0.17.0/internal/simdgen/types.yaml (about)

     1  # This file defines the possible types of each operand and result.
     2  #
     3  # In general, we're able to narrow this down on some attributes directly from
     4  # the machine instruction descriptions, but the Go mappings need to further
     5  # constrain them and how they relate. For example, on x86 we can't distinguish
     6  # int and uint, though we can distinguish these from float.
     7  
     8  in: !repeat
     9  - !sum &types
    10    - {go: Int8x16,    base: "int",   bits: 8,  w: 128}
    11    - {go: Uint8x16,   base: "uint",  bits: 8,  w: 128}
    12    - {go: Int16x8,    base: "int",   bits: 16, w: 128}
    13    - {go: Uint16x8,   base: "uint",  bits: 16, w: 128}
    14    - {go: Int32x4,    base: "int",   bits: 32, w: 128}
    15    - {go: Uint32x4,   base: "uint",  bits: 32, w: 128}
    16    - {go: Int64x2,    base: "int",   bits: 64, w: 128}
    17    - {go: Uint64x2,   base: "uint",  bits: 64, w: 128}
    18    - {go: Float32x4,  base: "float", bits: 32, w: 128}
    19    - {go: Float64x2,  base: "float", bits: 64, w: 128}
    20    - {go: Int8x32,    base: "int",   bits: 8,  w: 256}
    21    - {go: Uint8x32,   base: "uint",  bits: 8,  w: 256}
    22    - {go: Int16x16,   base: "int",   bits: 16, w: 256}
    23    - {go: Uint16x16,  base: "uint",  bits: 16, w: 256}
    24    - {go: Int32x8,    base: "int",   bits: 32, w: 256}
    25    - {go: Uint32x8,   base: "uint",  bits: 32, w: 256}
    26    - {go: Int64x4,    base: "int",   bits: 64, w: 256}
    27    - {go: Uint64x4,   base: "uint",  bits: 64, w: 256}
    28    - {go: Float32x8,  base: "float", bits: 32, w: 256}
    29    - {go: Float64x4,  base: "float", bits: 64, w: 256}
    30    - {go: Int8x64,    base: "int",   bits: 8,  w: 512}
    31    - {go: Uint8x64,   base: "uint",  bits: 8,  w: 512}
    32    - {go: Int16x32,   base: "int",   bits: 16, w: 512}
    33    - {go: Uint16x32,  base: "uint",  bits: 16, w: 512}
    34    - {go: Int32x16,   base: "int",   bits: 32, w: 512}
    35    - {go: Uint32x16,  base: "uint",  bits: 32, w: 512}
    36    - {go: Int64x8,    base: "int",   bits: 64, w: 512}
    37    - {go: Uint64x8,   base: "uint",  bits: 64, w: 512}
    38    - {go: Float32x16, base: "float", bits: 32, w: 512}
    39    - {go: Float64x8,  base: "float", bits: 64, w: 512}
    40  out: !repeat
    41  - *types