GP-4049 removed incorrect dependence on PC having a value in superh and

68000
This commit is contained in:
emteere 2023-11-30 01:36:50 +00:00
parent 5fd01c739d
commit 7cf82f82f5
2 changed files with 7 additions and 6 deletions

View file

@ -2219,9 +2219,9 @@ ptestLevel: "#"^mregn is mregn { export *[const]:1 mregn; }
@endif # COLDFIRE
:trap "#"^op03 is opbig=0x4e & op67=1 & op45=0 & op03 { vector:1 = op03; __m68k_trap(vector); }
:trap^cc is op=5 & cc & op37=31 & op02=4 { if (!cc) goto inst_next; SP = SP - 4; *:4 SP = PC; vector:1 = 7; __m68k_trap(vector); }
:trap^cc^".w" "#"^d16 is op=5 & cc & op37=31 & op02=2; d16 { if (!cc) goto inst_next; SP = SP - 4; *:4 SP = PC; __m68k_trapv(); }
:trap^cc^".l" "#"^d32 is op=5 & cc & op37=31 & op02=3; d32 { if (!cc) goto inst_next; SP = SP - 4; *:4 SP = PC; __m68k_trapv(); }
:trap^cc is op=5 & cc & op37=31 & op02=4 { if (!cc) goto inst_next; SP = SP - 4; *:4 SP = inst_next; vector:1 = 7; __m68k_trap(vector); }
:trap^cc^".w" "#"^d16 is op=5 & cc & op37=31 & op02=2; d16 { if (!cc) goto inst_next; SP = SP - 4; *:4 SP = inst_next; __m68k_trapv(); }
:trap^cc^".l" "#"^d32 is op=5 & cc & op37=31 & op02=3; d32 { if (!cc) goto inst_next; SP = SP - 4; *:4 SP = inst_next; __m68k_trapv(); }
:trapv is opbig=0x4e & op37=14 & op02=6 { if (!VF) goto inst_next; __m68k_trapv(); }
:tst.b eab is (opbig=0x4a & op67=0)... & eab { logflags(); resflags(eab); }

View file

@ -1983,10 +1983,11 @@ define pcodeop Sleep_Standby;
*r15 = sr;
r15 = r15 - 4;
*r15 = pc + 2;
dest:4 = inst_next;
*r15 = dest;
pc = *(vbr + (imm_00_07 * 4));
call [pc];
dest = *(vbr + (imm_00_07 * 4));
call [dest];
}
@if defined(FPU)