← All compilation units

Flyology_SIMD.Backends.Scalar

Description

Authoritative scalar implementation of the primitive operation contract.

Add_Saturate

function Add_Saturate (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Add_Wrap

function Add_Wrap (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

All_True

function All_True (Mask : Mask_8x16) return Boolean
Parameters
Mask
Return value

Any_True

function Any_True (Mask : Mask_8x16) return Boolean
Parameters
Mask
Return value

Bitwise_And

function Bitwise_And (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Bitwise_Not

function Bitwise_Not (Value : U8x16) return U8x16
Parameters
Value
Return value

Bitwise_Or

function Bitwise_Or (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Bitwise_Xor

function Bitwise_Xor (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Deinterleave_Even

function Deinterleave_Even (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Deinterleave_Odd

function Deinterleave_Odd (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Equal

function Equal (Left, Right : U8x16) return Mask_8x16
Parameters
Left
Right
Return value

Extract

function Extract (Value : U8x16; Lane : Lane_Index_8x16) return U8
Parameters
Value
Lane
Return value

From_Lanes

function From_Lanes (Values : Lane_Values_8x16) return U8x16
Parameters
Values
Return value

Greater_Equal

function Greater_Equal (Left, Right : U8x16) return Mask_8x16
Parameters
Left
Right
Return value

Greater_Than

function Greater_Than (Left, Right : U8x16) return Mask_8x16
Parameters
Left
Right
Return value

Horizontal_Sum

function Horizontal_Sum (Value : U8x16) return Natural
Parameters
Value
Return value

Interleave_High

function Interleave_High (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Interleave_Low

function Interleave_Low (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Less_Equal

function Less_Equal (Left, Right : U8x16) return Mask_8x16
Parameters
Left
Right
Return value

Less_Than

function Less_Than (Left, Right : U8x16) return Mask_8x16
Parameters
Left
Right
Return value

Load

function Load (Data : Byte_Array; Start : Natural) return U8x16
Parameters
Data
Start
Return value

Load_Aligned

function Load_Aligned (Data : Byte_Array; Start : Natural) return U8x16
Parameters
Data
Start
Return value

Load_Partial

function Load_Partial
  (Data : Byte_Array; Start : Natural; Count : Lane_Count_8x16)
   return U8x16
Parameters
Data
Start
Count
Return value

Load_Unaligned

function Load_Unaligned (Data : Byte_Array; Start : Natural) return U8x16
Parameters
Data
Start
Return value

Mask_From_Bit_Mask

function Mask_From_Bit_Mask
  (Bits : Interfaces.Unsigned_16) return Mask_8x16
Parameters
Bits
Return value

Max

function Max (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Min

function Min (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Multiply_Wrap

function Multiply_Wrap (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

None_True

function None_True (Mask : Mask_8x16) return Boolean
Parameters
Mask
Return value

Population_Count

function Population_Count (Mask : Mask_8x16) return Lane_Count_8x16
Parameters
Mask
Return value

Replace

function Replace
  (Value : U8x16; Lane : Lane_Index_8x16; With_Value : U8) return U8x16
Parameters
Value
Lane
With_Value
Return value

Reverse_Bytes

function Reverse_Bytes (Value : U8x16) return U8x16
Parameters
Value
Return value

Select_Value

function Select_Value
  (Mask : Mask_8x16; If_True, If_False : U8x16) return U8x16
Parameters
Mask
If_True
If_False
Return value

Shift_Left_Logical

function Shift_Left_Logical (Value : U8x16; Count : Natural) return U8x16
Parameters
Value
Count
Return value

Shift_Right_Logical

function Shift_Right_Logical (Value : U8x16; Count : Natural) return U8x16
Parameters
Value
Count
Return value

Splat

function Splat (Value : U8) return U8x16
Parameters
Value
Return value

Store

procedure Store (Data : in out Byte_Array; Start : Natural; Value : U8x16)
Parameters
Data
Start
Value

Store_Aligned

procedure Store_Aligned
  (Data : in out Byte_Array; Start : Natural; Value : U8x16)
Parameters
Data
Start
Value

Store_Partial

procedure Store_Partial
  (Data  : in out Byte_Array;
   Start : Natural;
   Count : Lane_Count_8x16;
   Value : U8x16)
Parameters
Data
Start
Count
Value

Store_Unaligned

procedure Store_Unaligned
  (Data : in out Byte_Array; Start : Natural; Value : U8x16)
Parameters
Data
Start
Value

Subtract_Saturate

function Subtract_Saturate (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Subtract_Wrap

function Subtract_Wrap (Left, Right : U8x16) return U8x16
Parameters
Left
Right
Return value

Test

function Test (Mask : Mask_8x16; Lane : Lane_Index_8x16) return Boolean
Parameters
Mask
Lane
Return value

To_Bit_Mask

function To_Bit_Mask (Mask : Mask_8x16) return Interfaces.Unsigned_16
Parameters
Mask
Return value

To_Lanes

function To_Lanes (Value : U8x16) return Lane_Values_8x16
Parameters
Value
Return value

Zero

function Zero return U8x16
Return value