NMSIS-Core
Version 1.2.0
NMSIS-Core support for Nuclei processor-based devices
|
32-bit Packing Instructions More...
Functions | |
__STATIC_FORCEINLINE unsigned long | __RV_PKBB32 (unsigned long a, unsigned long b) |
PKBB32 (Pack Two 32-bit Data from Both Bottom Half) More... | |
__STATIC_FORCEINLINE unsigned long | __RV_PKBT32 (unsigned long a, unsigned long b) |
PKBT32 (Pack Two 32-bit Data from Bottom and Top Half) More... | |
__STATIC_FORCEINLINE unsigned long | __RV_PKTT32 (unsigned long a, unsigned long b) |
PKTT32 (Pack Two 32-bit Data from Both Top Half) More... | |
__STATIC_FORCEINLINE unsigned long | __RV_PKTB32 (unsigned long a, unsigned long b) |
PKTB32 (Pack Two 32-bit Data from Top and Bottom Half) More... | |
32-bit Packing Instructions
There are four 32-bit packing instructions here
__STATIC_FORCEINLINE unsigned long __RV_PKBB32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
PKBB32 (Pack Two 32-bit Data from Both Bottom Half)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Pack 32-bit data from 64-bit chunks in two registers.
Description:
(PKBB32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0]. (PKBT32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTT32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTB32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0].
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 15749 of file core_feature_dsp.h.
References __ASM.
__STATIC_FORCEINLINE unsigned long __RV_PKBT32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
PKBT32 (Pack Two 32-bit Data from Bottom and Top Half)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Pack 32-bit data from 64-bit chunks in two registers.
Description:
(PKBB32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0]. (PKBT32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTT32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTB32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0].
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 15797 of file core_feature_dsp.h.
References __ASM.
__STATIC_FORCEINLINE unsigned long __RV_PKTB32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
PKTB32 (Pack Two 32-bit Data from Top and Bottom Half)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Pack 32-bit data from 64-bit chunks in two registers.
Description:
(PKBB32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0]. (PKBT32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTT32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTB32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0].
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 15893 of file core_feature_dsp.h.
References __ASM.
__STATIC_FORCEINLINE unsigned long __RV_PKTT32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
PKTT32 (Pack Two 32-bit Data from Both Top Half)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Pack 32-bit data from 64-bit chunks in two registers.
Description:
(PKBB32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0]. (PKBT32) moves Rs1.W[0] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTT32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[1] to Rd.W[0]. (PKTB32) moves Rs1.W[1] to Rd.W[1] and moves Rs2.W[0] to Rd.W[0].
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 15845 of file core_feature_dsp.h.
References __ASM.