fix(mips32r6): jic is not call but jump

See https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00086-2B-MIPS32BIS-AFP-6.06.pdf,
page 205 (page 215 in file).
jic is not like jialc, which set ra by `GPR[31] <- PC + 4`, it's just a jump.
So, if meet jic reg,xxx , identify it as a jump.
If meet jic ra,xxx , identify it as a return.
This commit is contained in:
veritas501 2021-05-11 13:10:18 +08:00
parent 92b7728cd7
commit e606a9a18f

View file

@ -1644,7 +1644,14 @@ define pcodeop SYNC;
build RTsrc;
tmp:$(REGSIZE) = sext(simmed:2) + RTsrc;
JXWritePC(tmp);
call [pc];
goto [pc];
}
:jic RTsrc, simmed is $(AMODE) & REL6=1 & prime=0x36 & jsub=0x00 & RTsrc & simmed & rt=0x1f {
build RTsrc;
tmp:$(REGSIZE) = sext(simmed:2) + RTsrc;
JXWritePC(tmp);
return [pc];
}
@ifndef COPR_C