AE_L16.X — Load a 16-bit value and replicates into the AE_DR register

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_L16.X 1000000000001111 0000
ae_fld_ls_v 3210
s 3210
t 3210

Slot
ae_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_format - 64 bit(s) 1111
AE_L16.X 01101011
ae_fld_ls_v 3210
s 3210
t 3210

Slot
ae_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_format1 - 64 bit(s)1 1110
AE_L16.X 01101011
ae_fld_ls_v 3210
s 3210
t 3210

Assembler Syntax

AE_L16.X aed0..15(ae_ls_v), a0..15(ars), a0..15(art)

C Syntax

#include <xtensa/tie/xt_hifi2.h>

extern ae_int16x4 AE_L16_X(const ae_int16 * a, int off);

Description

AE_L16.X is a 16-bit load from memory. into the AE_DR register. It forms a virtual address by adding the contents of the address registers.

The load instruction reads 16 bits (2 bytes) from memory and replicates the data into each of the four parts of the AE_DR register d.

Implementation Pipeline

In Out
ars Estage, art Estage ae_ls_v Mstage

Protos that use AE_L16.X

proto AE_L16.X { out ae_int16x4 d, in const ae_int16 * a, in int32 off }{}{
AE_L16.X d, a, off;
}
proto ae_f16_loadx { out ae_f16 d, in const ae_f16 * a, in int32 off }{}{
AE_L16.X d, a, off;
}
proto ae_int16_loadx { out ae_int16 d, in const ae_int16 * a, in int32 off }{}{
AE_L16.X d, a, off;
}