| AI Engine-ML v2 Intrinsics User Guide v2025.2

Loading...
Searching...
No Matches
Shift
Vector Operations

These intrinsics allow shifting full vectors. More...

## Special shift used to perform unaligned loads
v128int4 | shiftx (v128int4 a, v128int4 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v64int8 | shiftx (v64int8 a, v64int8 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v32int16 | shiftx (v32int16 a, v32int16 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v16int32 | shiftx (v16int32 a, v16int32 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v128uint4 | shiftx (v128uint4 a, v128uint4 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v64uint8 | shiftx (v64uint8 a, v64uint8 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v32uint16 | shiftx (v32uint16 a, v32uint16 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v16uint32 | shiftx (v16uint32 a, v16uint32 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v16cint16 | shiftx (v16cint16 a, v16cint16 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v8cint32 | shiftx (v8cint32 a, v8cint32 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v8cfloat | shiftx (v8cfloat a, v8cfloat b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v16cbfloat16 | shiftx (v16cbfloat16 a, v16cbfloat16 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v32bfloat16 | shiftx (v32bfloat16 a, v32bfloat16 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v32float16 | shiftx (v32float16 a, v32float16 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v64float8 | shiftx (v64float8 a, v64float8 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v64bfloat8 | shiftx (v64bfloat8 a, v64bfloat8 b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v16float | shiftx (v16float a, v16float b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.
v16accfloat | shiftx (v16accfloat a, v16accfloat b, int pre, unsigned int shift)
| Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

## Lane-by-lane vector shift (in bytes)
v128int4 | shift_bytes (v128int4 a, v128int4 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v64int8 | shift_bytes (v64int8 a, v64int8 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v32int16 | shift_bytes (v32int16 a, v32int16 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v16int32 | shift_bytes (v16int32 a, v16int32 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v128uint4 | shift_bytes (v128uint4 a, v128uint4 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v64uint8 | shift_bytes (v64uint8 a, v64uint8 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v32uint16 | shift_bytes (v32uint16 a, v32uint16 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v16uint32 | shift_bytes (v16uint32 a, v16uint32 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v16cint16 | shift_bytes (v16cint16 a, v16cint16 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v8cint32 | shift_bytes (v8cint32 a, v8cint32 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v8cfloat | shift_bytes (v8cfloat a, v8cfloat b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v16cbfloat16 | shift_bytes (v16cbfloat16 a, v16cbfloat16 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v32bfloat16 | shift_bytes (v32bfloat16 a, v32bfloat16 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v32float16 | shift_bytes (v32float16 a, v32float16 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v64float8 | shift_bytes (v64float8 a, v64float8 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v64bfloat8 | shift_bytes (v64bfloat8 a, v64bfloat8 b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v16float | shift_bytes (v16float a, v16float b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].
v16accfloat | shift_bytes (v16accfloat a, v16accfloat b, unsigned int shift)
| Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

## Lane-by-lane vector shift (in elements)
  Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64] Parameters
  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted
Returns shifted vector
v64int8 | shift (v64int8 a, v64int8 b, unsigned int shift)
v32int16 | shift (v32int16 a, v32int16 b, unsigned int shift)
v16int32 | shift (v16int32 a, v16int32 b, unsigned int shift)
v64uint8 | shift (v64uint8 a, v64uint8 b, unsigned int shift)
v32uint16 | shift (v32uint16 a, v32uint16 b, unsigned int shift)
v16uint32 | shift (v16uint32 a, v16uint32 b, unsigned int shift)
v16cint16 | shift (v16cint16 a, v16cint16 b, unsigned int shift)
v8cint32 | shift (v8cint32 a, v8cint32 b, unsigned int shift)
v8cfloat | shift (v8cfloat a, v8cfloat b, unsigned int shift)
v16cbfloat16 | shift (v16cbfloat16 a, v16cbfloat16 b, unsigned int shift)
v32bfloat16 | shift (v32bfloat16 a, v32bfloat16 b, unsigned int shift)
v32float16 | shift (v32float16 a, v32float16 b, unsigned int shift)
v64float8 | shift (v64float8 a, v64float8 b, unsigned int shift)
v64bfloat8 | shift (v64bfloat8 a, v64bfloat8 b, unsigned int shift)
v16float | shift (v16float a, v16float b, unsigned int shift)
v16accfloat | shift (v16accfloat a, v16accfloat b, unsigned int shift)

## Detailed Description

These intrinsics allow shifting full vectors.

## Function Documentation

## ◆ shift() [1/16]

v16accfloat shift | ( | v16accfloat | a,
|  | v16accfloat | b,
|  | unsigned int | shift )

## ◆ shift() [2/16]

v16cbfloat16 shift | ( | v16cbfloat16 | a,
|  | v16cbfloat16 | b,
|  | unsigned int | shift )

## ◆ shift() [3/16]

v16cint16 shift | ( | v16cint16 | a,
|  | v16cint16 | b,
|  | unsigned int | shift )

## ◆ shift() [4/16]

v16float shift | ( | v16float | a,
|  | v16float | b,
|  | unsigned int | shift )

## ◆ shift() [5/16]

v16int32 shift | ( | v16int32 | a,
|  | v16int32 | b,
|  | unsigned int | shift )

## ◆ shift() [6/16]

v16uint32 shift | ( | v16uint32 | a,
|  | v16uint32 | b,
|  | unsigned int | shift )

## ◆ shift() [7/16]

v32bfloat16 shift | ( | v32bfloat16 | a,
|  | v32bfloat16 | b,
|  | unsigned int | shift )

## ◆ shift() [8/16]

v32float16 shift | ( | v32float16 | a,
|  | v32float16 | b,
|  | unsigned int | shift )

## ◆ shift() [9/16]

v32int16 shift | ( | v32int16 | a,
|  | v32int16 | b,
|  | unsigned int | shift )

## ◆ shift() [10/16]

v32uint16 shift | ( | v32uint16 | a,
|  | v32uint16 | b,
|  | unsigned int | shift )

## ◆ shift() [11/16]

v64bfloat8 shift | ( | v64bfloat8 | a,
|  | v64bfloat8 | b,
|  | unsigned int | shift )

## ◆ shift() [12/16]

v64float8 shift | ( | v64float8 | a,
|  | v64float8 | b,
|  | unsigned int | shift )

## ◆ shift() [13/16]

v64int8 shift | ( | v64int8 | a,
|  | v64int8 | b,
|  | unsigned int | shift )

## ◆ shift() [14/16]

v64uint8 shift | ( | v64uint8 | a,
|  | v64uint8 | b,
|  | unsigned int | shift )

## ◆ shift() [15/16]

v8cfloat shift | ( | v8cfloat | a,
|  | v8cfloat | b,
|  | unsigned int | shift )

## ◆ shift() [16/16]

v8cint32 shift | ( | v8cint32 | a,
|  | v8cint32 | b,
|  | unsigned int | shift )

## ◆ shift_bytes() [1/18]

v128int4 shift_bytes | ( | v128int4 | a,
|  | v128int4 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [2/18]

v128uint4 shift_bytes | ( | v128uint4 | a,
|  | v128uint4 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [3/18]

v16accfloat shift_bytes | ( | v16accfloat | a,
|  | v16accfloat | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [4/18]

v16cbfloat16 shift_bytes | ( | v16cbfloat16 | a,
|  | v16cbfloat16 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [5/18]

v16cint16 shift_bytes | ( | v16cint16 | a,
|  | v16cint16 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [6/18]

v16float shift_bytes | ( | v16float | a,
|  | v16float | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [7/18]

v16int32 shift_bytes | ( | v16int32 | a,
|  | v16int32 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [8/18]

v16uint32 shift_bytes | ( | v16uint32 | a,
|  | v16uint32 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [9/18]

v32bfloat16 shift_bytes | ( | v32bfloat16 | a,
|  | v32bfloat16 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [10/18]

v32float16 shift_bytes | ( | v32float16 | a,
|  | v32float16 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [11/18]

v32int16 shift_bytes | ( | v32int16 | a,
|  | v32int16 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [12/18]

v32uint16 shift_bytes | ( | v32uint16 | a,
|  | v32uint16 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [13/18]

v64bfloat8 shift_bytes | ( | v64bfloat8 | a,
|  | v64bfloat8 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [14/18]

v64float8 shift_bytes | ( | v64float8 | a,
|  | v64float8 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [15/18]

v64int8 shift_bytes | ( | v64int8 | a,
|  | v64int8 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [16/18]

v64uint8 shift_bytes | ( | v64uint8 | a,
|  | v64uint8 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [17/18]

v8cfloat shift_bytes | ( | v8cfloat | a,
|  | v8cfloat | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shift_bytes() [18/18]

v8cint32 shift_bytes | ( | v8cint32 | a,
|  | v8cint32 | b,
|  | unsigned int | shift )

Concatenates a and b, interprets them as a vector of 128 bytes and returns a::b[shift:shift+64].

Parameters

  a | value to be concatenated
  b | value to be concatenated
  shift | number of bytes to be shifted

Returns
  shifted vector

## ◆ shiftx() [1/18]

v128int4 shiftx | ( | v128int4 | a,
|  | v128int4 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [2/18]

v128uint4 shiftx | ( | v128uint4 | a,
|  | v128uint4 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [3/18]

v16accfloat shiftx | ( | v16accfloat | a,
|  | v16accfloat | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [4/18]

v16cbfloat16 shiftx | ( | v16cbfloat16 | a,
|  | v16cbfloat16 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [5/18]

v16cint16 shiftx | ( | v16cint16 | a,
|  | v16cint16 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [6/18]

v16float shiftx | ( | v16float | a,
|  | v16float | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [7/18]

v16int32 shiftx | ( | v16int32 | a,
|  | v16int32 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [8/18]

v16uint32 shiftx | ( | v16uint32 | a,
|  | v16uint32 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [9/18]

v32bfloat16 shiftx | ( | v32bfloat16 | a,
|  | v32bfloat16 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [10/18]

v32float16 shiftx | ( | v32float16 | a,
|  | v32float16 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [11/18]

v32int16 shiftx | ( | v32int16 | a,
|  | v32int16 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [12/18]

v32uint16 shiftx | ( | v32uint16 | a,
|  | v32uint16 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [13/18]

v64bfloat8 shiftx | ( | v64bfloat8 | a,
|  | v64bfloat8 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [14/18]

v64float8 shiftx | ( | v64float8 | a,
|  | v64float8 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [15/18]

v64int8 shiftx | ( | v64int8 | a,
|  | v64int8 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [16/18]

v64uint8 shiftx | ( | v64uint8 | a,
|  | v64uint8 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [17/18]

v8cfloat shiftx | ( | v8cfloat | a,
|  | v8cfloat | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector

## ◆ shiftx() [18/18]

v8cint32 shiftx | ( | v8cint32 | a,
|  | v8cint32 | b,
|  | int | pre,
|  | unsigned int | shift )

Shifts a by pre bytes and inserts a::b[shift:shift+64] in the gap.

Parameters

  a | Value to be concatenated
  b | Value to be concatenated
  pre | amount of preshift on a (0: 0 bits, 1: 32 bits, 2: 64 bits, 3: 128 bits, 4: 256 bits)
  shift | number of bytes to shift b

Returns
  shifted vector