<!--
{
  "documentType" : "article",
  "framework" : "Swift",
  "identifier" : "/documentation/Swift/SIMD8/SIMD-Implementations",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "SIMD Implementations"
}
-->

# SIMD Implementations

## Topics

### Operators

[`static func & (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/&(_:_:)-5sp0e)

[`static func & (Self, Self) -> Self`](/documentation/Swift/SIMD8/&(_:_:)-6dcjs)

[`static func & (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/&(_:_:)-9csd5)

[`static func &* (Self, Self) -> Self`](/documentation/Swift/SIMD8/&*(_:_:)-1tmkr)

[`static func &* (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/&*(_:_:)-2ukc9)

[`static func &* (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/&*(_:_:)-9lpf0)

[`static func &*= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/&*=(_:_:)-4n56w)

[`static func &*= (inout Self, Self)`](/documentation/Swift/SIMD8/&*=(_:_:)-4u70c)

[`static func &+ (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/&+(_:_:)-5je9i)

[`static func &+ (Self, Self) -> Self`](/documentation/Swift/SIMD8/&+(_:_:)-6qthu)

[`static func &+ (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/&+(_:_:)-s3c0)

[`static func &+= (inout Self, Self)`](/documentation/Swift/SIMD8/&+=(_:_:)-15jmc)

[`static func &+= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/&+=(_:_:)-xkmr)

[`static func &- (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/&-(_:_:)-4tkki)

[`static func &- (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/&-(_:_:)-6uw6q)

[`static func &- (Self, Self) -> Self`](/documentation/Swift/SIMD8/&-(_:_:)-8tan0)

[`static func &-= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/&-=(_:_:)-530wa)

[`static func &-= (inout Self, Self)`](/documentation/Swift/SIMD8/&-=(_:_:)-8d5lv)

[`static func &= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/&=(_:_:)-586kj)

[`static func &= (inout Self, Self)`](/documentation/Swift/SIMD8/&=(_:_:)-5a4ls)

[`static func &<< (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/&__(_:_:)-1cifw)

[`static func &>> (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/&__(_:_:)-8w0hu)

[`static func &<< (Self, Self) -> Self`](/documentation/Swift/SIMD8/&__(_:_:)-93172)

[`static func &<< (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/&__(_:_:)-9j4jc)

[`static func &>> (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/&__(_:_:)-iqdy)

[`static func &>> (Self, Self) -> Self`](/documentation/Swift/SIMD8/&__(_:_:)-op9i)

[`static func &>>= (inout Self, Self)`](/documentation/Swift/SIMD8/&__=(_:_:)-2mxqy)

[`static func &>>= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/&__=(_:_:)-38cyr)

[`static func &<<= (inout Self, Self)`](/documentation/Swift/SIMD8/&__=(_:_:)-7dikc)

[`static func &<<= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/&__=(_:_:)-83he1)

[`static func * (Self, Self) -> Self`](/documentation/Swift/SIMD8/*(_:_:)-2huq3)

[`static func * (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/*(_:_:)-4c84m)

[`static func * (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/*(_:_:)-4lmnj)

[`static func * (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/*(_:_:)-50hhc)

[`static func * (Self, Self) -> Self`](/documentation/Swift/SIMD8/*(_:_:)-6kqtm)

[`static func * (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/*(_:_:)-9wsc8)

[`static func *= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/*=(_:_:)-27m64)

[`static func *= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/*=(_:_:)-3zhue)

[`static func *= (inout Self, Self)`](/documentation/Swift/SIMD8/*=(_:_:)-4j1xn)

[`static func *= (inout Self, Self)`](/documentation/Swift/SIMD8/*=(_:_:)-5qsdi)

[`static func + (Self, Self) -> Self`](/documentation/Swift/SIMD8/+(_:_:)-1h94n)

[`static func + (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/+(_:_:)-1s9hf)

[`static func + (Self, Self) -> Self`](/documentation/Swift/SIMD8/+(_:_:)-2bhi5)

[`static func + (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/+(_:_:)-62o3n)

[`static func + (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/+(_:_:)-841fq)

[`static func + (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/+(_:_:)-9w67l)

[`static func += (inout Self, Self)`](/documentation/Swift/SIMD8/+=(_:_:)-13e1e)

[`static func += (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/+=(_:_:)-33hp7)

[`static func += (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/+=(_:_:)-3iuqz)

[`static func += (inout Self, Self)`](/documentation/Swift/SIMD8/+=(_:_:)-4kc6w)

[`static func - (Self) -> Self`](/documentation/Swift/SIMD8/-(_:))

[`static func - (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/-(_:_:)-1eoar)

[`static func - (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/-(_:_:)-59qe9)

[`static func - (Self, Self) -> Self`](/documentation/Swift/SIMD8/-(_:_:)-5hryr)

[`static func - (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/-(_:_:)-5retq)

[`static func - (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/-(_:_:)-8p6z1)

[`static func - (Self, Self) -> Self`](/documentation/Swift/SIMD8/-(_:_:)-8vqls)

[`static func -= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/-=(_:_:)-5efu0)

[`static func -= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/-=(_:_:)-6ar35)

[`static func -= (inout Self, Self)`](/documentation/Swift/SIMD8/-=(_:_:)-8p1mb)

[`static func -= (inout Self, Self)`](/documentation/Swift/SIMD8/-=(_:_:)-90g6w)

[`static func .!= (Self.Scalar, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/.!=(_:_:)-1o7kh)

Returns a vector mask with the result of a pointwise inequality comparison.

[`static func .!= (Self, Self.Scalar) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/.!=(_:_:)-5kl0l)

Returns a vector mask with the result of a pointwise inequality comparison.

[`static func .!= (Self, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/.!=(_:_:)-70jxh)

A vector mask with the result of a pointwise inequality comparison.

[`static func .== (Self.Scalar, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/.==(_:_:)-1pyi8)

Returns a vector mask with the result of a pointwise equality comparison.

[`static func .== (Self, Self.Scalar) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/.==(_:_:)-4dg9j)

Returns a vector mask with the result of a pointwise equality comparison.

[`static func .== (Self, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/.==(_:_:)-85ylq)

A vector mask with the result of a pointwise equality comparison.

[`static func .< (Self.Scalar, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._(_:_:)-2n112)

Returns a vector mask with the result of a pointwise less than comparison.

[`static func .> (Self.Scalar, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._(_:_:)-3ikq8)

Returns a vector mask with the result of a pointwise greater than
comparison.

[`static func .< (Self, Self.Scalar) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._(_:_:)-49yq2)

Returns a vector mask with the result of a pointwise less than comparison.

[`static func .< (Self, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._(_:_:)-5lgdq)

Returns a vector mask with the result of a pointwise less than
comparison.

[`static func .> (Self, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._(_:_:)-5wmbh)

Returns a vector mask with the result of a pointwise greater than
comparison.

[`static func .> (Self, Self.Scalar) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._(_:_:)-6yrys)

Returns a vector mask with the result of a pointwise greater than
comparison.

[`static func .>= (Self.Scalar, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._=(_:_:)-132re)

Returns a vector mask with the result of a pointwise greater than or
equal comparison.

[`static func .<= (Self, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._=(_:_:)-1ws7k)

Returns a vector mask with the result of a pointwise less than or equal
comparison.

[`static func .<= (Self, Self.Scalar) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._=(_:_:)-3lyor)

Returns a vector mask with the result of a pointwise less than or equal
comparison.

[`static func .>= (Self, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._=(_:_:)-41o9y)

Returns a vector mask with the result of a pointwise greater than or
equal comparison.

[`static func .<= (Self.Scalar, Self) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._=(_:_:)-5k1es)

Returns a vector mask with the result of a pointwise less than or equal
comparison.

[`static func .>= (Self, Self.Scalar) -> SIMDMask<Self.MaskStorage>`](/documentation/Swift/SIMD8/._=(_:_:)-9p7h9)

Returns a vector mask with the result of a pointwise greater than or
equal comparison.

[`static func == (Self, Self) -> Bool`](/documentation/Swift/SIMD8/==(_:_:))

Returns a Boolean value indicating whether two vectors are equal.

[`static func | (Self, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-1t6vi)

[`static func / (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-2ntwq)

[`static func / (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-2o5d7)

[`static func % (Self, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-2sn9f)

[`static func / (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-2z76a)

[`static func | (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-3pe30)

[`static func / (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-3vsab)

[`static func ^ (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-6f442)

[`static func ^ (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-6fwr7)

[`static func ^ (Self, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-7vbmy)

[`static func | (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-7yt9)

[`static func % (Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-903vr)

[`static func / (Self, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-932xh)

[`static func % (Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-9hy8d)

[`static func / (Self, Self) -> Self`](/documentation/Swift/SIMD8/_(_:_:)-9ilz9)

[`static func /= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/_=(_:_:)-18m89)

[`static func |= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/_=(_:_:)-1tcb0)

[`static func /= (inout Self, Self)`](/documentation/Swift/SIMD8/_=(_:_:)-5byj9)

[`static func |= (inout Self, Self)`](/documentation/Swift/SIMD8/_=(_:_:)-6kivi)

[`static func %= (inout Self, Self)`](/documentation/Swift/SIMD8/_=(_:_:)-721wj)

[`static func /= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/_=(_:_:)-7u65z)

[`static func ^= (inout Self, Self)`](/documentation/Swift/SIMD8/_=(_:_:)-8jx1x)

[`static func %= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/_=(_:_:)-9a3t6)

[`static func /= (inout Self, Self)`](/documentation/Swift/SIMD8/_=(_:_:)-9iue6)

[`static func ^= (inout Self, Self.Scalar)`](/documentation/Swift/SIMD8/_=(_:_:)-suzf)

[`static func ~ (Self) -> Self`](/documentation/Swift/SIMD8/~(_:))

### Initializers

[`init<S>(S)`](/documentation/Swift/SIMD8/init(_:)-3ewxg)

Creates a vector from the given sequence.

[`init(arrayLiteral: Self.Scalar...)`](/documentation/Swift/SIMD8/init(arrayLiteral:))

Creates a vector from the specified elements.

[`init(from: any Decoder) throws`](/documentation/Swift/SIMD8/init(from:))

Creates a new vector by decoding scalars from the given decoder.

[`init(repeating: Self.Scalar)`](/documentation/Swift/SIMD8/init(repeating:)-97ws4)

A vector with the specified scalar in all lanes.

### Instance Properties

[`var description: String`](/documentation/Swift/SIMD8/description)

A textual description of the vector.

[`var indices: Range<Int>`](/documentation/Swift/SIMD8/indices)

The valid indices for subscripting the vector.

[`var leadingZeroBitCount: Self`](/documentation/Swift/SIMD8/leadingZeroBitCount)

[`var nonzeroBitCount: Self`](/documentation/Swift/SIMD8/nonzeroBitCount)

[`var trailingZeroBitCount: Self`](/documentation/Swift/SIMD8/trailingZeroBitCount)

### Instance Methods

[`func addProduct(Self, Self)`](/documentation/Swift/SIMD8/addProduct(_:_:)-24l2l)

[`func addProduct(Self.Scalar, Self)`](/documentation/Swift/SIMD8/addProduct(_:_:)-48c01)

[`func addProduct(Self, Self.Scalar)`](/documentation/Swift/SIMD8/addProduct(_:_:)-8hsd8)

[`func addingProduct(Self, Self.Scalar) -> Self`](/documentation/Swift/SIMD8/addingProduct(_:_:)-1n8kp)

[`func addingProduct(Self.Scalar, Self) -> Self`](/documentation/Swift/SIMD8/addingProduct(_:_:)-76qu8)

[`func addingProduct(Self, Self) -> Self`](/documentation/Swift/SIMD8/addingProduct(_:_:)-94v6i)

[`func clamp(lowerBound: Self, upperBound: Self)`](/documentation/Swift/SIMD8/clamp(lowerBound:upperBound:)-77hrb)

[`func clamp(lowerBound: Self, upperBound: Self)`](/documentation/Swift/SIMD8/clamp(lowerBound:upperBound:)-9he39)

[`func clamped(lowerBound: Self, upperBound: Self) -> Self`](/documentation/Swift/SIMD8/clamped(lowerBound:upperBound:)-4qnzr)

[`func clamped(lowerBound: Self, upperBound: Self) -> Self`](/documentation/Swift/SIMD8/clamped(lowerBound:upperBound:)-8tmoc)

[`func encode(to: any Encoder) throws`](/documentation/Swift/SIMD8/encode(to:))

Encodes the scalars of this vector into the given encoder in an unkeyed
container.

[`func formSquareRoot()`](/documentation/Swift/SIMD8/formSquareRoot())

[`func hash(into: inout Hasher)`](/documentation/Swift/SIMD8/hash(into:))

Hashes the elements of the vector using the given hasher.

[`func max() -> Self.Scalar`](/documentation/Swift/SIMD8/max()-71om5)

The greatest element in the vector.

[`func max() -> Self.Scalar`](/documentation/Swift/SIMD8/max()-y0of)

The greatest scalar in the vector.

[`func min() -> Self.Scalar`](/documentation/Swift/SIMD8/min()-7qrdn)

The least scalar in the vector.

[`func min() -> Self.Scalar`](/documentation/Swift/SIMD8/min()-8s4qs)

The least element in the vector.

[`func replace(with: Self, where: SIMDMask<Self.MaskStorage>)`](/documentation/Swift/SIMD8/replace(with:where:)-7e5tu)

Replaces elements of this vector with elements of `other` in the lanes
where `mask` is `true`.

[`func replace(with: Self.Scalar, where: SIMDMask<Self.MaskStorage>)`](/documentation/Swift/SIMD8/replace(with:where:)-7ys4t)

Replaces elements of this vector with `other` in the lanes where `mask`
is `true`.

[`func replacing(with: Self, where: SIMDMask<Self.MaskStorage>) -> Self`](/documentation/Swift/SIMD8/replacing(with:where:)-32kt0)

Returns a copy of this vector, with elements replaced by elements of
`other` in the lanes where `mask` is `true`.

[`func replacing(with: Self.Scalar, where: SIMDMask<Self.MaskStorage>) -> Self`](/documentation/Swift/SIMD8/replacing(with:where:)-3o9r2)

Returns a copy of this vector, with elements `other` in the lanes where
`mask` is `true`.

[`func round(FloatingPointRoundingRule)`](/documentation/Swift/SIMD8/round(_:))

[`func rounded(FloatingPointRoundingRule) -> Self`](/documentation/Swift/SIMD8/rounded(_:))

A vector formed by rounding each lane of the source vector to an integral
value according to the specified rounding `rule`.

[`func squareRoot() -> Self`](/documentation/Swift/SIMD8/squareRoot())

[`func sum() -> Self.Scalar`](/documentation/Swift/SIMD8/sum())

The sum of the scalars in the vector.

[`func wrappedSum() -> Self.Scalar`](/documentation/Swift/SIMD8/wrappedSum())

Returns the sum of the scalars in the vector, computed with wrapping
addition.

### Type Properties

[`static var one: Self`](/documentation/Swift/SIMD8/one-1gl43)

A vector with one in all lanes.

[`static var one: Self`](/documentation/Swift/SIMD8/one-7efnf)

A vector with one in all lanes.

[`static var zero: Self`](/documentation/Swift/SIMD8/zero-1xcz3)

A vector with zero in all lanes.

[`static var zero: Self`](/documentation/Swift/SIMD8/zero-6rjkw)

A vector with zero in all lanes.

### Type Methods

[`static func random(in: ClosedRange<Self.Scalar>) -> Self`](/documentation/Swift/SIMD8/random(in:)-3w9ug)

Returns a vector with random values from within the specified range in
all lanes.

[`static func random(in: Range<Self.Scalar>) -> Self`](/documentation/Swift/SIMD8/random(in:)-6jhg8)

Returns a vector with random values from within the specified range in
all lanes.

[`static func random<T>(in: ClosedRange<Self.Scalar>, using: inout T) -> Self`](/documentation/Swift/SIMD8/random(in:using:)-6d8vw)

Returns a vector with random values from within the specified range in
all lanes, using the given generator as a source for randomness.

[`static func random<T>(in: Range<Self.Scalar>, using: inout T) -> Self`](/documentation/Swift/SIMD8/random(in:using:)-7x8fn)

Returns a vector with random values from within the specified range in
all lanes, using the given generator as a source for randomness.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)