- idesc = emit_full_parallel (current_cpu, pc, insn, sc,
- trace_p, profile_p);
+ if (((insn >> 16) & 0xfff0) == 0x10f0)
+ {
+ /* FIXME: No need to handle this sequentially if
+ system calls will be able to execute after second
+ insn in parallel. ( trap #num || insn ) */
+ /* insn */
+ idesc = emit_full16 (current_cpu, pc + 2,
+ insn & 0x7fff, sc, 0, 0);
+ /* trap */
+ emit_full16 (current_cpu, pc, insn >> 16, sc + 3,
+ 0, 0);
+ }
+ else
+ {
+ idesc = emit_full_parallel (current_cpu, pc, insn,
+ sc, trace_p, profile_p);
+ }