From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Thu, 20 Mar 2014 17:50:10 -0400 To: 9fans@9fans.net Message-ID: <0cdb67fa9517d1a49a4161cd5ecba187@ladd.quanstro.net> In-Reply-To: <880f784f3ea9dbf26e7dc28144d9f412@felloff.net> References: <880f784f3ea9dbf26e7dc28144d9f412@felloff.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] mulgen botch Topicbox-Message-UUID: cdbf6d60-ead8-11e9-9d60-3106f5b1d025 On Thu Mar 20 16:20:29 EDT 2014, cinap_lenrek@felloff.net 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