NMSIS-Core
Version 1.2.0
NMSIS-Core support for Nuclei processor-based devices
|
(RV64 Only) 32-bit Multiply Instructions More...
Functions | |
__STATIC_FORCEINLINE long | __RV_SMBB32 (unsigned long a, unsigned long b) |
SMBB32 (Signed Multiply Bottom Word & Bottom Word) More... | |
__STATIC_FORCEINLINE long | __RV_SMBT32 (unsigned long a, unsigned long b) |
SMBT32 (Signed Multiply Bottom Word & Top Word) More... | |
__STATIC_FORCEINLINE long | __RV_SMTT32 (unsigned long a, unsigned long b) |
SMTT32 (Signed Multiply Top Word & Top Word) More... | |
(RV64 Only) 32-bit Multiply Instructions
there is 3 RV64 Only) 32-bit Multiply Instructions
__STATIC_FORCEINLINE long __RV_SMBB32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
SMBB32 (Signed Multiply Bottom Word & Bottom Word)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Multiply the signed 32-bit element of a register with the signed 32-bit element of another register and write the 64-bit result to a third register.
Description:
For the SMBB32
instruction, it multiplies the bottom 32-bit element of Rs1 with the bottom 32-bit element of Rs2. It is actually an alias of MULSR64
instruction. For the SMBT32
instruction, it multiplies the bottom 32-bit element of Rs1 with the top 32-bit element of Rs2. For the SMTT32
instruction, it multiplies the top 32-bit element of Rs1 with the top 32-bit element of Rs2. The 64-bit multiplication result is written to Rd. The 32-bit contents of Rs1 and Rs2 are treated as signed integers.
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 16339 of file core_feature_dsp.h.
References __ASM.
__STATIC_FORCEINLINE long __RV_SMBT32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
SMBT32 (Signed Multiply Bottom Word & Top Word)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Multiply the signed 32-bit element of a register with the signed 32-bit element of another register and write the 64-bit result to a third register.
Description:
For the SMBB32
instruction, it multiplies the bottom 32-bit element of Rs1 with the bottom 32-bit element of Rs2. It is actually an alias of MULSR64
instruction. For the SMBT32
instruction, it multiplies the bottom 32-bit element of Rs1 with the top 32-bit element of Rs2. For the SMTT32
instruction, it multiplies the top 32-bit element of Rs1 with the top 32-bit element of Rs2. The 64-bit multiplication result is written to Rd. The 32-bit contents of Rs1 and Rs2 are treated as signed integers.
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 16388 of file core_feature_dsp.h.
References __ASM.
__STATIC_FORCEINLINE long __RV_SMTT32 | ( | unsigned long | a, |
unsigned long | b | ||
) |
SMTT32 (Signed Multiply Top Word & Top Word)
Type: DSP (RV64 Only)
Syntax:
Purpose:
Multiply the signed 32-bit element of a register with the signed 32-bit element of another register and write the 64-bit result to a third register.
Description:
For the SMBB32
instruction, it multiplies the bottom 32-bit element of Rs1 with the bottom 32-bit element of Rs2. It is actually an alias of MULSR64
instruction. For the SMBT32
instruction, it multiplies the bottom 32-bit element of Rs1 with the top 32-bit element of Rs2. For the SMTT32
instruction, it multiplies the top 32-bit element of Rs1 with the top 32-bit element of Rs2. The 64-bit multiplication result is written to Rd. The 32-bit contents of Rs1 and Rs2 are treated as signed integers.
Operations:
[in] | a | unsigned long type of value stored in a |
[in] | b | unsigned long type of value stored in b |
Definition at line 16437 of file core_feature_dsp.h.
References __ASM.