AE_MULS32F48P16S.LL — Legacy HiFi 2 16x16-bit signed fraction (1.15) to 32-bit (1.31) multiply with 32-bit saturation.

Instruction Word

Slot
ae2_slot1
6
3
6
2
6
1
6
0
5
9
5
8
5
7
5
6
5
5
5
4
5
3
5
2
5
1
5
0
4
9
4
8
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9876543210
Format ae_format2 - 64 bit(s)0000 1110
AE_MULS32F48P16S.LL 1101 0000 0101
ae_fld_mul_q0 3210
ae_fld_mul_d0 3210
ae_fld_mul_d1 3210

Slot
ae_slot1
6
3
6
2
6
1
6
0
5
9
5
8
5
7
5
6
5
5
5
4
5
3
5
2
5
1
5
0
4
9
4
8
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9876543210
Format ae_format - 64 bit(s) 1111
AE_MULS32F48P16S.LL 10000000
ae_fld_mul_q0 3210
ae_fld_mul_d0 3210
ae_fld_mul_d1 3210

Slot
ae_slot1
6
3
6
2
6
1
6
0
5
9
5
8
5
7
5
6
5
5
5
4
5
3
5
2
5
1
5
0
4
9
4
8
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9876543210
Format ae_format1 - 64 bit(s)1 1110
AE_MULS32F48P16S.LL 10000000
ae_fld_mul_q0 3210
ae_fld_mul_d0 3210
ae_fld_mul_d1 3210

Assembler Syntax

AE_MULS32F48P16S.LL aed0..15(ae_mul_q0), aed0..15(ae_mul_d0), aed0..15(ae_mul_d1)

C Syntax

#include <xtensa/tie/xt_hifi2.h>

extern ae_q56s AE_MULS32F48P16S_LL(ae_p24x2s d0, ae_p24x2s d1);

Description

AE_MULS32F48P16S.LL is a 16x16-bit signed fraction (1.15) multiply with 32-bit saturation, with each input covering the range [1.0 .. 1.0), and a 32-bit (1.31) output into an AE_DR register. The extension LL indicates that the inputs are d0[23:8] and d1[23:8], and the multiply produces a 32-bit result as output with saturation. The result of the multiplication is written back to the accumulator. Note that the position of the binary point is relative to 1.23 and 17.47 values respectively, the same formats that match the AE_LP16F/AE_SP16F and AE_LQ32F/AE_SQ32F intrinsics. This instruction is provided mainly for compatibility with HiFi 2.

Implementation Pipeline

In Out
AE_OVERFLOW Wstage, ae_mul_d0 Mstage, ae_mul_d1 Mstage AE_OVERFLOW Wstage, ae_mul_q0 Wstage

Protos that use AE_MULS32F48P16S.LL

proto AE_MULFS32P16S.LL { out ae_q56s d, in ae_p24x2s d0, in ae_p24x2s d1 }{}{
AE_MULS32F48P16S.LL d, d0, d1;
}
proto AE_MULS32F48P16S.LL { out ae_q56s d, in ae_p24x2s d0, in ae_p24x2s d1 }{}{
AE_MULS32F48P16S.LL d, d0, d1;
}