AE_LBS — signed bitstream lookahead, returning 1 to 16 bits based on AR register

Instruction Word

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_LBS 01101001 0110 0100
r 3210
t 3210

Assembler Syntax

AE_LBS a0..15(arr), a0..15(art)

C Syntax

#include <xtensa/tie/xt_hifi2.h>

extern int AE_LBS(unsigned ba);

Description

AE_LBS is a look ahead in the bit stream. Returns as few as 1 bit or as many as 16 bits from the head of the bit stream. The number of bits to return is given by the low five bits of a0, and must lie in the range [1..16]. No state is updated; this is a lookahead instruction. The bits from the bit stream are returned sign-extended, right-justified in a.

Implementation Pipeline

In Out
AE_BITPTR Mstage, AE_BITHEAD Mstage, art Mstage arr Mstage

Protos that use AE_LBS

proto AE_LBS { out int32 a, in uint32 ba }{}{
AE_LBS a, ba;
}