RFDE — Return from Double Exception

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
RFDE 000000000011001000000000

Assembler Syntax

RFDE

Description

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

RFDE returns from an exception that went to the double exception vector (that is, an exception raised while the processor was executing with PS.EXCM set). It is similar to RFE, but PS.EXCM is not cleared, and DEPC, if it exists, is used instead of EPC[1]. RFDE simply jumps to the exception PC. PS.UM and PS.WOE are left unchanged.

RFDE is a privileged instruction.

Operation

if CRING != 0 then
	Exception (PrivilegedCause)
elsif NDEPC=1 then
	nextPC \" DEPC
else
	nextPC ← EPC[1]
endif

Exceptions

EveryInst Group (see EveryInst Group:)GenExcep(PrivilegedCause) if Exception Option