blob: e51d289b4e571056e685a3bec3742b7308b2d2c4 [file]
!sum
- go: ShiftAllLeft
nameAndSizeCheck: true
specialLower: sftimm
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element to the left by the specified number of bits. Emptied lower bits are zeroed.
- go: ShiftAllRight
signed: false
nameAndSizeCheck: true
specialLower: sftimm
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element to the right by the specified number of bits. Emptied upper bits are zeroed.
- go: ShiftAllRight
signed: true
specialLower: sftimm
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element to the right by the specified number of bits. Emptied upper bits are filled with the sign bit.
- go: shiftAllLeftConst # no APIs, only ssa ops.
noTypes: "true"
noGenericOps: "true"
SSAVariant: "const" # to avoid its name colliding with reg version of this instruction, amend this to its ssa op name.
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
- go: shiftAllRightConst # no APIs, only ssa ops.
noTypes: "true"
noGenericOps: "true"
SSAVariant: "const"
signed: false
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
- go: shiftAllRightConst # no APIs, only ssa ops.
noTypes: "true"
noGenericOps: "true"
SSAVariant: "const"
signed: true
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
- go: ShiftLeft
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element in x to the left by the number of bits specified in y's corresponding elements. Emptied lower bits are zeroed.
- go: ShiftRight
signed: false
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element in x to the right by the number of bits specified in y's corresponding elements. Emptied upper bits are zeroed.
- go: ShiftRight
signed: true
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element in x to the right by the number of bits specified in y's corresponding elements. Emptied upper bits are filled with the sign bit.
- go: RotateAllLeft
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME rotates each element to the left by the number of bits specified by the immediate.
- go: RotateLeft
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME rotates each element in x to the left by the number of bits specified by y's corresponding elements.
- go: RotateAllRight
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME rotates each element to the right by the number of bits specified by the immediate.
- go: RotateRight
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME rotates each element in x to the right by the number of bits specified by y's corresponding elements.
- go: ShiftAllLeftConcat
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element of x to the left by the number of bits specified by the
// immediate(only the lower 5 bits are used), and then copies the upper bits of y to the emptied lower bits of the shifted x.
- go: ShiftAllRightConcat
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element of x to the right by the number of bits specified by the
// immediate(only the lower 5 bits are used), and then copies the lower bits of y to the emptied upper bits of the shifted x.
- go: ShiftLeftConcat
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element of x to the left by the number of bits specified by the
// corresponding elements in y(only the lower 5 bits are used), and then copies the upper bits of z to the emptied lower bits of the shifted x.
- go: ShiftRightConcat
nameAndSizeCheck: true
commutative: false
extension: "AVX.*"
documentation: !string |-
// NAME shifts each element of x to the right by the number of bits specified by the
// corresponding elements in y(only the lower 5 bits are used), and then copies the lower bits of z to the emptied upper bits of the shifted x.