Argon 0.1.0
Loading...
Searching...
No Matches
argon::Lane< VectorType > Class Template Reference

Represents a single lane of a SIMD vector with a runtime-determined index. More...

#include <lane.hpp>

Public Member Functions

ace Lane (VectorType &vec, const int lane)
 Construct a lane accessor bound to vec at runtime index lane.
ace argon_type operator= (const scalar_type b)
 Write a scalar value into this lane and return the updated vector.
ace argon_type Load (const scalar_type *ptr)
 Load a scalar from ptr into this lane and return the updated vector.
ace argon_type Set (const scalar_type b)
 Set this lane to b and return the updated vector.
ace scalar_type Get () const
 Get the scalar value of this lane.
ace operator scalar_type () const
 Read the lane value (implicit conversion to scalar).
ace neon::Vec64_t< scalar_type > vec ()
 On ARM32, return the 64-bit half-register that contains this lane.
ace int lane ()
 On ARM32, return the local lane index within the 64-bit half-register returned by vec().

Detailed Description

template<typename VectorType>
class argon::Lane< VectorType >

Represents a single lane of a SIMD vector with a runtime-determined index.

Template Parameters
VectorTypeThe intrinsic SIMD vector type (e.g., int32x4_t).

Provides type-safe read/write access to one element of a SIMD register when the lane index is not known until runtime. On ARM32 (__ARM_ARCH < 8) quadword vectors, vec() returns the 64-bit half-register containing the lane, and lane() returns the local index within that half.


The documentation for this class was generated from the following file: