MOVT — Move if True

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
MOVT 11010011 0000
r 3210
s 3210
t 3210

Assembler Syntax

MOVT ar, as, bt

C Syntax

#include <xtensa/tie/xt_booleans.h>

extern void XT_MOVT(unsigned arr /*inout*/, unsigned ars, xtbool bt);

Description

(please consult the Xtensa ® Instruction Set Architecture Reference Manual for any cross references and additional information)

MOVT moves the contents of address register as to address register ar if Boolean register bt is true. Address register ar is left unchanged if Boolean register bt is false.

The inverse of MOVT is MOVF.

Operation

if BRt then
	AR[r] ← AR[s]
endif

Exceptions

EveryInstR Group (see EveryInstR Group:)

Implementation Pipeline

In Out
ars Estage, bt Estage arr Estage

Protos that use MOVT

proto MOVT { inout uint32 arr, in uint32 ars, in xtbool bt }{}{
MOVT arr, ars, bt;
}