AE_L32.X — Load a 32-bit value and replicate 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_L32.X 1000000000001111 1111
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_L32.X 01111010
ae_fld_ls_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_L32.X 10111111 0100
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_L32.X 01111010
ae_fld_ls_v 3210
s 3210
t 3210

Assembler Syntax

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

C Syntax

#include <xtensa/tie/xt_hifi2.h>

extern ae_int32x2 AE_L32_X(const ae_int32 * a, int off);

Description

AE_L32.X is a 32-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 32 bits (4 bytes) from memory and replicates the data into each of the two halves of the AE_DR register d.

Implementation Pipeline

In Out
ars Estage, art Estage ae_ls_v Mstage

Protos that use AE_L32.X

proto AE_L32.X { out ae_int32x2 d, in const ae_int32 * a, in int32 off }{}{
AE_L32.X d, a, off;
}
proto AE_LP24.X { out ae_p24x2s d, in const ae_p24s * a, in int32 off }{}{
AE_L32.X d, a, off;
}
proto ae_f32_loadx { out ae_f32 d, in const ae_f32 * a, in int32 off }{}{
AE_L32.X d, a, off;
}
proto ae_int24_loadx { out ae_int24 d, in const ae_int24 * a, in int32 off }{}{
AE_L32.X d, a, off;
}
proto ae_int32_loadx { out ae_int32 d, in const ae_int32 * a, in int32 off }{}{
AE_L32.X d, a, off;
}
proto ae_p24s_loadx { out ae_p24s d, in const ae_p24s * a, in int32 off }{}{
AE_L32.X d, a, off;
}