On 11/04/2015 20:07, Kevin O'Connor wrote:
> > > With a few additional checks it's possible to emulate all the leal
> > > cases without requiring a function call.  Although this makes the
> > > vgafixup.py code a little more complex it eliminates the need for the
> > > "emulate_leal" function and it produces better code.  In my tests,
> > > almost all "leal" instructions are replaced with 4 (or fewer)
> > > instructions.
> > 
> > Maybe it is possible to tell gcc to not produce this instruction
> > in the first place?
> 
> That would certainly be better.  Any idea how to do that?

Not really.  IIRC, GCC really likes having a way to do additions that
doesn't modify the flags.

When porting to an architectures that does not support that (e.g. some
old CISC ones), you have to use a completely different mechanism to
describe conditional branches and stores---which is legacy and much less
optimizable than the newer mechanism.  x86 uses the new one.

Paolo

_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios

Reply via email to