Instructions For Manipulating Packed Data Types - Texas Instruments TMS320C6000 Programmer's Manual

Hide thumbs Also See for TMS320C6000:
Table of Contents

Advertisement

Packed-Data Processing on the 'C64x
Table 8–3. Instructions for Manipulating Packed Data Types
Mnemonic
PACK2
_pack2
PACKH2
_packh2
PACKHL2
_packhl2
PACKLH2
_packlh2
SPACK2
_spack2
SHR
(n/a)
SHRU
(n/a)
EXT
_ext
EXTU
_extu
PACKH4
_packh4
PACKL4
_packl4
UNPKHU4
_unpkhu4
UNPKLU4
_unpklu4
SPACKU4
_spacku4
SHLMB
_shlmb
SHRMB
_shrmb
SWAP4
_swap4
ROTL
_rotl
8-8
Intrinsic
Typical Uses With Packed Data
Packing 16-bit portions of 32-bit quantities.
Rearranging packed 16-bit quantities.
Rearranging pairs of 16-bit quantities.
Saturating 32-bit quantities down to signed 16-bit values, packing
them together.
Unpacking 16-bit values into 32-bit values
Unpacking 16-bit intermediate results into 8-bit final results.
De-interleaving packed 8-bit values.
Unpacking unsigned 8-bit data into 16-bits.
Preparing 8-bit data to be interleaved.
Saturating 16-bit quantities down to unsigned 8-bit values, packing
them together.
Rearranging packed 8-bit quantities
The _packXX2 group of intrinsics work by extracting selected half-words from
two 32-bit registers, returning the results packed into a 32-bit word. This is pri-
marily useful for manipulating packed 16-bit data, although they may be used
for manipulating pairs of packed 8-bit quantites. Figure 8–3 illustrates the four
_packXX2() intrinsics, _pack2(), _packlh2(), _packhl2(), and _packh2(). (The
l and the h in the name refers to which half of each 32-bit input is being copied
to the output, similar to how the _mpyXX() intrisics are named.)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents