On Thu Mar 20 16:20:29 EDT 2014, [email protected] wrote:
> sorry... the code from the last mail contains an error...
> theres a missing regfree() in the OASMUL and OASLMUL case when
> hardleft is set. in any case, i'm unsure if it wouldnt be
> better to handle this in mulgen() instead. as this case is
> so rare, it is probably not worth trying to avoid useless
> register moves here.

i suppose you can make the test for a constant expression fail, by simply
changing both instances of this
                if(r->op == OCONST && typechl[n->type->etype]) {
to this
                if(r->op == OCONST && r->vconst != 0 && 
typechl[n->type->etype]) {

i haven't thought too hard about this, or compiled it, so maybe too easy?

- erik

Reply via email to