MOVEP dst1, dst2, src1, src2 |
nanoMIPS, not available in NMS |
Move Pair |
Move Pair. Copy value of register $src1 to register $dst1, and copy value of register $src2to register $dst2.
nanoMIPS, not available in NMS
101111 |
rtz4[3] |
rd2[0] |
rtz4[2:0] |
rsz4[3] |
rd2[1] |
rsz4[2:0] |
6 |
1 |
1 |
3 |
1 |
1 |
3 |
dst1 = decode_gpr(rd2[1] @ rd2[0], 'gpr2.reg1') dst2 = decode_gpr(rd2[1] @ rd2[0], 'gpr2.reg2') src1 = decode_gpr(rsz4[3] @ rsz4[2:0], 'gpr4.zero') src2 = decode_gpr(rtz4[3] @ rtz4[2:0], 'gpr4.zero')
111111 |
rt4[3] |
rd2[0] |
rt4[2:0] |
rs4[3] |
rd2[1] |
rs4[2:0] |
6 |
1 |
1 |
3 |
1 |
1 |
3 |
dst1 = decode_gpr(rs4[3] @ rs4[2:0], 'gpr4') dst2 = decode_gpr(rt4[3] @ rt4[2:0], 'gpr4') src1 = decode_gpr(rd2[1] @ rd2[0], 'gpr2.reg1') src2 = decode_gpr(rd2[1] @ rd2[0], 'gpr2.reg2')
if C0.Config5.NMS == 1: raise exception('RI') if dst1 == src1 or dst1 == src2 or dst2 == src1 or dst2 == src2: GPR[dst1] = UNKNOWN GPR[dst2] = UNKNOWN else: GPR[dst1] = GPR[src1] GPR[dst2] = GPR[src2]
The output register values are unpredictable if either of the output registers is also used as an input.
Reserved Instruction on NMS cores.