MOVF — Move if False

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
MOVF 11000011 0000
r 3210
s 3210
t 3210

Assembler Syntax

MOVF ar, as, bt

C Syntax

#include <xtensa/tie/xt_booleans.h>

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

Description

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

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

The inverse of MOVF is MOVT.

Operation

if not 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 MOVF

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