The 2nd version of newsub implicitly sets P0 and P1, but they
are not part of the instruction.

IMCC currently has a problem with this; if we have a register linked
to the instruction for data flow analysis and allocation, it will be emitted
as part of the opcode.

Either we declare that all PASM instructions must include the registers
they modify (I don't think this is feasible, but I'm not sure).....
or IMCC has to track implicit registers.

In either case, I don't like that we have 2 versions of newsub, one that has a
Px destination register and one that has P0/P1 hardcoded.

I know the calling convention says P0/P1, but what do we gain
by hiding it at the PASM level when we can hide it with IMCC?

-Melvin




Reply via email to