AE_CVTP24A16X2.HL — Convert 16-bits to 24-bits

Instruction Word

Slot
ae2_slot0
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_CVTP24A16X2.HL 1000000000001110 0001
ae_fld_ar_to_dr_v 3210
s 3210
t 3210

Slot
Inst
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 x24 - 24 bit(s) 0
AE_CVTP24A16X2.HL 00010001 0100
ae_fld_ar_to_dr_v 3210
s 3210
t 3210

Assembler Syntax

AE_CVTP24A16X2.HL aed0..15(ae_ar_to_dr_v), a0..15(ars), a0..15(art)

C Syntax

#include <xtensa/tie/xt_hifi2.h>

extern ae_int24x2 AE_CVTP24A16X2_HL(unsigned ah, unsigned al);

Description

AE_CVTP24A16X2.HL sign-extend and copy the 16 most significant bits from the AR register ah into the 24 most significant bits of d.H, and the 16 least significant bits from the AR register al into the 24 most significant bits of d.L. In other words, convert 1.15-bit values in AR to 9.23-bit values in AE_DR.

Implementation Pipeline

In Out
ars Mstage, art Mstage ae_ar_to_dr_v Mstage

Protos that use AE_CVTP24A16X2.HL

proto AE_CVTP24A16X2.HL { out ae_int24x2 d, in uint32 ah, in uint32 al }{}{
AE_CVTP24A16X2.HL d, ah, al;
}