]> Cypherpunks repositories - gostls13.git/commitdiff
simd/archsimd: reword documentation for some operations
authorCherry Mui <cherryyz@google.com>
Wed, 17 Dec 2025 16:20:25 +0000 (11:20 -0500)
committerCherry Mui <cherryyz@google.com>
Fri, 19 Dec 2025 17:45:51 +0000 (09:45 -0800)
- Min/Max: make it clear it is elementwise.
- RoundToEven: clarify it is rounding tie to even.
- MulEvenWiden: use mathematical form of the index.
- CopySign: use parameter names directly.
- ConcatShiftBytesRight: rename the parameter.

Change-Id: I4cf0773c4daf3e3bf7b26e79d84ac5c2a9145c88
Reviewed-on: https://go-review.googlesource.com/c/go/+/731421
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/categories.yaml
src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/categories.yaml
src/simd/archsimd/_gen/simdgen/ops/MinMax/categories.yaml
src/simd/archsimd/_gen/simdgen/ops/Moves/categories.yaml
src/simd/archsimd/_gen/simdgen/ops/Moves/go.yaml
src/simd/archsimd/_gen/simdgen/ops/Mul/categories.yaml
src/simd/archsimd/ops_amd64.go

index f2d8af68867e1170ba71df100a32bca331296cec..a270ca54ab5412b9ee9c228adc08c4b7be476334 100644 (file)
@@ -23,7 +23,7 @@
   commutative: false
   constImm: 0
   documentation: !string |-
-    // NAME rounds elements to the nearest integer.
+    // NAME rounds elements to the nearest integer, rounding ties to even.
 - go: RoundToEvenScaled
   commutative: false
   constImm: 0
index bf33642a1147e9aea2e1afac97be61ec24953752..ae6554d731b939a6079ad29c5a7cfb9085eb1c5d 100644 (file)
@@ -12,8 +12,8 @@
   # Applies sign of second operand to first: sign(val, sign_src)
   commutative: false
   documentation: !string |-
-    // NAME returns the product of the first operand with -1, 0, or 1,
-    // whichever constant is nearest to the value of the second operand.
+    // NAME returns the product of x with -1, 0, or 1,
+    // whichever constant is nearest to the value of y.
   # Sign does not have masked version
 - go: OnesCount
   commutative: false
index a7e30f4693e87c3d0d6daee2055396a0665d8441..1d79d85a466f0f3c06eca46fe1088b5555550361 100644 (file)
@@ -2,8 +2,8 @@
 - go: Max
   commutative: true
   documentation: !string |-
-    // NAME computes the maximum of corresponding elements.
+    // NAME computes the maximum of each pair of corresponding elements in x and y.
 - go: Min
   commutative: true
   documentation: !string |-
-    // NAME computes the minimum of corresponding elements.
+    // NAME computes the minimum of each pair of corresponding elements in x and y.
index 3c86974e8a2a3a4e126f2ce0adf41d7fd647ab6e..9e945cdebd4280644bb2174f109ca66b8cc34cc5 100644 (file)
 - go: ConcatShiftBytesRight
   commutative: false
   documentation: !string |-
-    // NAME concatenates x and y and shift it right by constant bytes.
+    // NAME concatenates x and y and shift it right by shift bytes.
     // The result vector will be the lower half of the concatenated vector.
 
 - go: ConcatShiftBytesRightGrouped
   commutative: false
   documentation: !string |-
-    // NAME concatenates x and y and shift it right by constant bytes.
+    // NAME concatenates x and y and shift it right by shift bytes.
     // The result vector will be the lower half of the concatenated vector.
     // This operation is performed grouped by each 16 byte.
index 726a983ac4275cb28c7c9f95920c8aededc87f7f..d3aa7d4cdc573c190a39a922afd8e9cc94b575f4 100644 (file)
   - *uint128
   - class: immediate
     immOffset: 0
+    name: shift
   out:
   - *uint128
 
   - *uint256512
   - class: immediate
     immOffset: 0
+    name: shift
   out:
   - *uint256512
index 92491b51d466e8ee9785363ad45e11cc4728692b..bb020ed48f0f455b3bcf9ab459b27e875ddd4dfc 100644 (file)
@@ -7,7 +7,7 @@
   commutative: true
   documentation: !string |-
     // NAME multiplies even-indexed elements, widening the result.
-    // Result[i] = v1.Even[i] * v2.Even[i].
+    // Result[i] = v1[2*i] * v2[2*i].
 - go: MulHigh
   commutative: true
   documentation: !string |-
index 179cb35dfa20e8d8c4354eabf09779ae99b77c03..8e32533aec1444e044f61dc8275fedc85b23f9db 100644 (file)
@@ -1516,33 +1516,33 @@ func (x Uint64x8) ConcatPermute(y Uint64x8, indices Uint64x8) Uint64x8
 
 /* ConcatShiftBytesRight */
 
-// ConcatShiftBytesRight concatenates x and y and shift it right by constant bytes.
+// ConcatShiftBytesRight concatenates x and y and shift it right by shift bytes.
 // The result vector will be the lower half of the concatenated vector.
 //
-// constant results in better performance when it's a constant, a non-constant value will be translated into a jump table.
+// shift results in better performance when it's a constant, a non-constant value will be translated into a jump table.
 //
 // Asm: VPALIGNR, CPU Feature: AVX
-func (x Uint8x16) ConcatShiftBytesRight(constant uint8, y Uint8x16) Uint8x16
+func (x Uint8x16) ConcatShiftBytesRight(shift uint8, y Uint8x16) Uint8x16
 
 /* ConcatShiftBytesRightGrouped */
 
-// ConcatShiftBytesRightGrouped concatenates x and y and shift it right by constant bytes.
+// ConcatShiftBytesRightGrouped concatenates x and y and shift it right by shift bytes.
 // The result vector will be the lower half of the concatenated vector.
 // This operation is performed grouped by each 16 byte.
 //
-// constant results in better performance when it's a constant, a non-constant value will be translated into a jump table.
+// shift results in better performance when it's a constant, a non-constant value will be translated into a jump table.
 //
 // Asm: VPALIGNR, CPU Feature: AVX2
-func (x Uint8x32) ConcatShiftBytesRightGrouped(constant uint8, y Uint8x32) Uint8x32
+func (x Uint8x32) ConcatShiftBytesRightGrouped(shift uint8, y Uint8x32) Uint8x32
 
-// ConcatShiftBytesRightGrouped concatenates x and y and shift it right by constant bytes.
+// ConcatShiftBytesRightGrouped concatenates x and y and shift it right by shift bytes.
 // The result vector will be the lower half of the concatenated vector.
 // This operation is performed grouped by each 16 byte.
 //
-// constant results in better performance when it's a constant, a non-constant value will be translated into a jump table.
+// shift results in better performance when it's a constant, a non-constant value will be translated into a jump table.
 //
 // Asm: VPALIGNR, CPU Feature: AVX512
-func (x Uint8x64) ConcatShiftBytesRightGrouped(constant uint8, y Uint8x64) Uint8x64
+func (x Uint8x64) ConcatShiftBytesRightGrouped(shift uint8, y Uint8x64) Uint8x64
 
 /* ConvertToFloat32 */
 
@@ -1872,38 +1872,38 @@ func (x Float64x8) ConvertToUint64() Uint64x8
 
 /* CopySign */
 
-// CopySign returns the product of the first operand with -1, 0, or 1,
-// whichever constant is nearest to the value of the second operand.
+// CopySign returns the product of x with -1, 0, or 1,
+// whichever constant is nearest to the value of y.
 //
 // Asm: VPSIGNB, CPU Feature: AVX
 func (x Int8x16) CopySign(y Int8x16) Int8x16
 
-// CopySign returns the product of the first operand with -1, 0, or 1,
-// whichever constant is nearest to the value of the second operand.
+// CopySign returns the product of x with -1, 0, or 1,
+// whichever constant is nearest to the value of y.
 //
 // Asm: VPSIGNB, CPU Feature: AVX2
 func (x Int8x32) CopySign(y Int8x32) Int8x32
 
-// CopySign returns the product of the first operand with -1, 0, or 1,
-// whichever constant is nearest to the value of the second operand.
+// CopySign returns the product of x with -1, 0, or 1,
+// whichever constant is nearest to the value of y.
 //
 // Asm: VPSIGNW, CPU Feature: AVX
 func (x Int16x8) CopySign(y Int16x8) Int16x8
 
-// CopySign returns the product of the first operand with -1, 0, or 1,
-// whichever constant is nearest to the value of the second operand.
+// CopySign returns the product of x with -1, 0, or 1,
+// whichever constant is nearest to the value of y.
 //
 // Asm: VPSIGNW, CPU Feature: AVX2
 func (x Int16x16) CopySign(y Int16x16) Int16x16
 
-// CopySign returns the product of the first operand with -1, 0, or 1,
-// whichever constant is nearest to the value of the second operand.
+// CopySign returns the product of x with -1, 0, or 1,
+// whichever constant is nearest to the value of y.
 //
 // Asm: VPSIGND, CPU Feature: AVX
 func (x Int32x4) CopySign(y Int32x4) Int32x4
 
-// CopySign returns the product of the first operand with -1, 0, or 1,
-// whichever constant is nearest to the value of the second operand.
+// CopySign returns the product of x with -1, 0, or 1,
+// whichever constant is nearest to the value of y.
 //
 // Asm: VPSIGND, CPU Feature: AVX2
 func (x Int32x8) CopySign(y Int32x8) Int32x8
@@ -3655,304 +3655,304 @@ func (x Uint64x8) LessEqual(y Uint64x8) Mask64x8
 
 /* Max */
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VMAXPS, CPU Feature: AVX
 func (x Float32x4) Max(y Float32x4) Float32x4
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VMAXPS, CPU Feature: AVX
 func (x Float32x8) Max(y Float32x8) Float32x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VMAXPS, CPU Feature: AVX512
 func (x Float32x16) Max(y Float32x16) Float32x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VMAXPD, CPU Feature: AVX
 func (x Float64x2) Max(y Float64x2) Float64x2
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VMAXPD, CPU Feature: AVX
 func (x Float64x4) Max(y Float64x4) Float64x4
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VMAXPD, CPU Feature: AVX512
 func (x Float64x8) Max(y Float64x8) Float64x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSB, CPU Feature: AVX
 func (x Int8x16) Max(y Int8x16) Int8x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSB, CPU Feature: AVX2
 func (x Int8x32) Max(y Int8x32) Int8x32
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSB, CPU Feature: AVX512
 func (x Int8x64) Max(y Int8x64) Int8x64
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSW, CPU Feature: AVX
 func (x Int16x8) Max(y Int16x8) Int16x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSW, CPU Feature: AVX2
 func (x Int16x16) Max(y Int16x16) Int16x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSW, CPU Feature: AVX512
 func (x Int16x32) Max(y Int16x32) Int16x32
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSD, CPU Feature: AVX
 func (x Int32x4) Max(y Int32x4) Int32x4
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSD, CPU Feature: AVX2
 func (x Int32x8) Max(y Int32x8) Int32x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSD, CPU Feature: AVX512
 func (x Int32x16) Max(y Int32x16) Int32x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSQ, CPU Feature: AVX512
 func (x Int64x2) Max(y Int64x2) Int64x2
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSQ, CPU Feature: AVX512
 func (x Int64x4) Max(y Int64x4) Int64x4
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXSQ, CPU Feature: AVX512
 func (x Int64x8) Max(y Int64x8) Int64x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUB, CPU Feature: AVX
 func (x Uint8x16) Max(y Uint8x16) Uint8x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUB, CPU Feature: AVX2
 func (x Uint8x32) Max(y Uint8x32) Uint8x32
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUB, CPU Feature: AVX512
 func (x Uint8x64) Max(y Uint8x64) Uint8x64
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUW, CPU Feature: AVX
 func (x Uint16x8) Max(y Uint16x8) Uint16x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUW, CPU Feature: AVX2
 func (x Uint16x16) Max(y Uint16x16) Uint16x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUW, CPU Feature: AVX512
 func (x Uint16x32) Max(y Uint16x32) Uint16x32
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUD, CPU Feature: AVX
 func (x Uint32x4) Max(y Uint32x4) Uint32x4
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUD, CPU Feature: AVX2
 func (x Uint32x8) Max(y Uint32x8) Uint32x8
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUD, CPU Feature: AVX512
 func (x Uint32x16) Max(y Uint32x16) Uint32x16
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUQ, CPU Feature: AVX512
 func (x Uint64x2) Max(y Uint64x2) Uint64x2
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUQ, CPU Feature: AVX512
 func (x Uint64x4) Max(y Uint64x4) Uint64x4
 
-// Max computes the maximum of corresponding elements.
+// Max computes the maximum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMAXUQ, CPU Feature: AVX512
 func (x Uint64x8) Max(y Uint64x8) Uint64x8
 
 /* Min */
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VMINPS, CPU Feature: AVX
 func (x Float32x4) Min(y Float32x4) Float32x4
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VMINPS, CPU Feature: AVX
 func (x Float32x8) Min(y Float32x8) Float32x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VMINPS, CPU Feature: AVX512
 func (x Float32x16) Min(y Float32x16) Float32x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VMINPD, CPU Feature: AVX
 func (x Float64x2) Min(y Float64x2) Float64x2
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VMINPD, CPU Feature: AVX
 func (x Float64x4) Min(y Float64x4) Float64x4
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VMINPD, CPU Feature: AVX512
 func (x Float64x8) Min(y Float64x8) Float64x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSB, CPU Feature: AVX
 func (x Int8x16) Min(y Int8x16) Int8x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSB, CPU Feature: AVX2
 func (x Int8x32) Min(y Int8x32) Int8x32
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSB, CPU Feature: AVX512
 func (x Int8x64) Min(y Int8x64) Int8x64
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSW, CPU Feature: AVX
 func (x Int16x8) Min(y Int16x8) Int16x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSW, CPU Feature: AVX2
 func (x Int16x16) Min(y Int16x16) Int16x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSW, CPU Feature: AVX512
 func (x Int16x32) Min(y Int16x32) Int16x32
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSD, CPU Feature: AVX
 func (x Int32x4) Min(y Int32x4) Int32x4
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSD, CPU Feature: AVX2
 func (x Int32x8) Min(y Int32x8) Int32x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSD, CPU Feature: AVX512
 func (x Int32x16) Min(y Int32x16) Int32x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSQ, CPU Feature: AVX512
 func (x Int64x2) Min(y Int64x2) Int64x2
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSQ, CPU Feature: AVX512
 func (x Int64x4) Min(y Int64x4) Int64x4
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINSQ, CPU Feature: AVX512
 func (x Int64x8) Min(y Int64x8) Int64x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUB, CPU Feature: AVX
 func (x Uint8x16) Min(y Uint8x16) Uint8x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUB, CPU Feature: AVX2
 func (x Uint8x32) Min(y Uint8x32) Uint8x32
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUB, CPU Feature: AVX512
 func (x Uint8x64) Min(y Uint8x64) Uint8x64
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUW, CPU Feature: AVX
 func (x Uint16x8) Min(y Uint16x8) Uint16x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUW, CPU Feature: AVX2
 func (x Uint16x16) Min(y Uint16x16) Uint16x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUW, CPU Feature: AVX512
 func (x Uint16x32) Min(y Uint16x32) Uint16x32
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUD, CPU Feature: AVX
 func (x Uint32x4) Min(y Uint32x4) Uint32x4
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUD, CPU Feature: AVX2
 func (x Uint32x8) Min(y Uint32x8) Uint32x8
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUD, CPU Feature: AVX512
 func (x Uint32x16) Min(y Uint32x16) Uint32x16
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUQ, CPU Feature: AVX512
 func (x Uint64x2) Min(y Uint64x2) Uint64x2
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUQ, CPU Feature: AVX512
 func (x Uint64x4) Min(y Uint64x4) Uint64x4
 
-// Min computes the minimum of corresponding elements.
+// Min computes the minimum of each pair of corresponding elements in x and y.
 //
 // Asm: VPMINUQ, CPU Feature: AVX512
 func (x Uint64x8) Min(y Uint64x8) Uint64x8
@@ -4146,25 +4146,25 @@ func (x Float64x8) MulAddSub(y Float64x8, z Float64x8) Float64x8
 /* MulEvenWiden */
 
 // MulEvenWiden multiplies even-indexed elements, widening the result.
-// Result[i] = v1.Even[i] * v2.Even[i].
+// Result[i] = v1[2*i] * v2[2*i].
 //
 // Asm: VPMULDQ, CPU Feature: AVX
 func (x Int32x4) MulEvenWiden(y Int32x4) Int64x2
 
 // MulEvenWiden multiplies even-indexed elements, widening the result.
-// Result[i] = v1.Even[i] * v2.Even[i].
+// Result[i] = v1[2*i] * v2[2*i].
 //
 // Asm: VPMULDQ, CPU Feature: AVX2
 func (x Int32x8) MulEvenWiden(y Int32x8) Int64x4
 
 // MulEvenWiden multiplies even-indexed elements, widening the result.
-// Result[i] = v1.Even[i] * v2.Even[i].
+// Result[i] = v1[2*i] * v2[2*i].
 //
 // Asm: VPMULUDQ, CPU Feature: AVX
 func (x Uint32x4) MulEvenWiden(y Uint32x4) Uint64x2
 
 // MulEvenWiden multiplies even-indexed elements, widening the result.
-// Result[i] = v1.Even[i] * v2.Even[i].
+// Result[i] = v1[2*i] * v2[2*i].
 //
 // Asm: VPMULUDQ, CPU Feature: AVX2
 func (x Uint32x8) MulEvenWiden(y Uint32x8) Uint64x4
@@ -5137,22 +5137,22 @@ func (x Uint64x8) RotateRight(y Uint64x8) Uint64x8
 
 /* RoundToEven */
 
-// RoundToEven rounds elements to the nearest integer.
+// RoundToEven rounds elements to the nearest integer, rounding ties to even.
 //
 // Asm: VROUNDPS, CPU Feature: AVX
 func (x Float32x4) RoundToEven() Float32x4
 
-// RoundToEven rounds elements to the nearest integer.
+// RoundToEven rounds elements to the nearest integer, rounding ties to even.
 //
 // Asm: VROUNDPS, CPU Feature: AVX
 func (x Float32x8) RoundToEven() Float32x8
 
-// RoundToEven rounds elements to the nearest integer.
+// RoundToEven rounds elements to the nearest integer, rounding ties to even.
 //
 // Asm: VROUNDPD, CPU Feature: AVX
 func (x Float64x2) RoundToEven() Float64x2
 
-// RoundToEven rounds elements to the nearest integer.
+// RoundToEven rounds elements to the nearest integer, rounding ties to even.
 //
 // Asm: VROUNDPD, CPU Feature: AVX
 func (x Float64x4) RoundToEven() Float64x4