nlib
SimdInt.h File Reference

Implements the class and functions for SIMD computations on integers. More...

#include "nn/nlib/Config.h"

Go to the source code of this file.

Classes

struct  nn::nlib::simd::each_int8_tag
 The tag for representing a signed 8-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_int16_tag
 The tag for representing a signed 16-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_int32_tag
 The tag for representing a signed 32-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_int64_tag
 The tag for representing a signed 64-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_uint8_tag
 The tag for representing an unsigned 8-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_uint16_tag
 The tag for representing an unsigned 16-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_uint32_tag
 The tag for representing an unsigned 32-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_uint64_tag
 The tag for representing an unsigned 64-bit integer with an empty structure. More...
 
struct  nn::nlib::simd::each_select32_tag
 The tag for representing the selection of a lane divided into 32-bit units with an empty structure. More...
 
struct  nn::nlib::simd::each_select16_tag
 The tag for representing the selection of a lane divided into 16-bit units with an empty structure. More...
 
struct  nn::nlib::simd::each_select8_tag
 The tag for representing the selection of a lane divided into 8-bit units with an empty structure. More...
 
class  nn::nlib::simd::I128
 The class for integer SIMD computations using128-bit registers (MM0-XMM15 for SSE, and Q0-Q15 for NEON). More...
 

Namespaces

 nn::nlib
 Implements stream-related classes usually commonly used, various containers, and other gadget classes. nlib_ns is an alias.
 
 nn::nlib::simd
 Implements the classes and functions for SIMD computations on integers and single-precision, floating-point, numbers.
 

Macros

#define NLIB_I128_TRANSPOSE32(row0, row1, row2, row3)
 Calculates the transpose matrix if four 128-bit registers have been set as a 4x4 matrix of 32-bit registers.
 

Typedefs

typedef __m128i nlib_i128_t
 The type for a SIMD register for 128-bit integers. More...
 
typedef nlib_i128_t nn::nlib::simd::i128
 nlib_i128_t is defined using typedef.
 

Variables

Tag Constants
constexpr const each_int8_tag nn::nlib::simd::each_int8 = {}
 The tag for representing a signed 8-bit integer with an each_int8_tag-type constant object.
 
constexpr const each_int16_tag nn::nlib::simd::each_int16 = {}
 The tag for representing a signed 16-bit integer with an each_int16_tag-type constant object.
 
constexpr const each_int32_tag nn::nlib::simd::each_int32 = {}
 The tag for representing a signed 32-bit integer with an each_int32_tag-type constant object.
 
constexpr const each_int64_tag nn::nlib::simd::each_int64 = {}
 The tag for representing a signed 64-bit integer with an each_int64_tag-type constant object.
 
constexpr const each_uint8_tag nn::nlib::simd::each_uint8 = {}
 The tag for representing an unsigned 8-bit integer with an each_uint8_tag-type constant object.
 
constexpr const each_uint16_tag nn::nlib::simd::each_uint16 = {}
 The tag for representing an unsigned 16-bit integer with an each_uint16_tag-type constant object.
 
constexpr const each_uint32_tag nn::nlib::simd::each_uint32 = {}
 The tag for representing an unsigned 32-bit integer with an each_uint32_tag-type constant object.
 
constexpr const each_uint64_tag nn::nlib::simd::each_uint64 = {}
 The tag for representing an unsigned 64-bit integer with an each_uint64_tag-type constant object.
 
constexpr const each_select32_tag nn::nlib::simd::each_select32 = {}
 The tag for representing the selection of a 32-bit lane with an each_select32_tag-type constant object.
 
constexpr const each_select16_tag nn::nlib::simd::each_select16 = {}
 The tag for representing the selection of a 16-bit lane with an each_select16_tag-type constant object.
 
constexpr const each_select8_tag nn::nlib::simd::each_select8 = {}
 The tag for representing the selection of an 8-bit lane with an each_select8_tag-type constant object.
 

Detailed Description

Implements the class and functions for SIMD computations on integers.

Definition in file SimdInt.h.

Typedef Documentation

◆ nlib_i128_t

The type for a SIMD register for 128-bit integers.

Description
Platform Definition
SSE __m128i is defined using typedef.
NEON int8x16_tis defined using typedef.

Definition at line 22 of file SimdInt.h.