Encoding:

EXTEND

11110

CP0

000

sel[2:0]

001

SETBIT_NORES

00111

I8

01100

MOVR32

111

000

00001

EXTEND

11110

CP0

000

sel[2:0]

001

SETBIT

00011

I8

01100

MOVR32

111

ry

00001

5

3

3

5

5

3

3

5

Format:

EMT 

MIPS16e2

Enable Multi-Threaded Execution Extended

EMT ry

MIPS16e2

Enable Multi-Threaded Execution Extended

Purpose:

Enable Multi-Threaded Execution Extended

To return the previous value of the VPEControl register and to enable multi-threaded execution. If EMT is specified without an argument, GPR r0 is implied, which discards the previous value of the VPEControl register.

Description:

GPR[ry] = VPEControl; VPEControlTE = 1

The current value of the VPEControl register isloaded into general register ry. The Threads Enable (TE) bit in the

VPEControl register is then set, allowing multiple instruction streams to execute concurrently.

Restrictions:

Unpredictable prior to MIPS16e2. If access to Coprocessor 0 is not enabled, a Coprocessor Unusable Exception is signaled.

In implementations that do not implement the MT Module, this instruction results in a Reserved Instruction Exception.

Operation - EMT:

The following operation pertains to the EMT instruction.

VPEControlTE = 1

Operation - EMT ry:

The following operation pertains to the EMT ry instruction.

data = VPEControl
GPR[XLat[ry]] = sign_extend(data)
VPEControlTE = 1

Exceptions:

Coprocessor Unusable

Reserved Instruction (Implementations that do not include the MT Module)

Programming Notes:

The effects of this instruction are identical to those accomplished by the sequence of reading VPEControl into a GPR, setting the TE bit to create a temporary value in a second GPR, and writing that value back to VPEControl. Unlike the multiple instruction sequence, however, the EMT instruction does not consume a temporary register, and cannot be aborted by an interrupt or exception.

If an EMT instruction is followed in the same instruction stream by an MFC0 or MFTR from the VPEControl register, a JALR.HB, JR.HB, EHB, or ERET instruction must be issued between the EMT and the read of VPEControl to guarantee that the new state of TE will be accessed by the read.