Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!nx01.iad01.newshosting.com!newshosting.com!216.196.98.142.MISMATCH!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!lnews.iecc.com!nerds-end From: Kaz Kylheku Newsgroups: comp.compilers Subject: Re: How to eliminate redundant constant move instructions Date: Thu, 3 Nov 2011 03:20:32 +0000 (UTC) Organization: A noiseless patient Spider Lines: 11 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <11-11-018@comp.compilers> References: <11-10-019@comp.compilers> <11-11-004@comp.compilers> <11-11-005@comp.compilers> <11-11-014@comp.compilers> NNTP-Posting-Host: lnews.iecc.com X-Trace: gal.iecc.com 1320349594 9272 64.57.183.34 (3 Nov 2011 19:46:34 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Thu, 3 Nov 2011 19:46:34 +0000 (UTC) Keywords: optimize Posted-Date: 03 Nov 2011 15:46:34 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: x330-a1.tempe.blueboxinc.net comp.compilers:320 On 2011-11-02, George Neuner wrote: > Yes. But the compiler can't count on register renaming ... it can see > only the architectural named registers. If the code in question had > copied Rx-> Ry then renaming would have been possible, but instead the > code performed a constant load to each register. No possibility of > rename sharing there. If the register holds a value that is used, but not clobbered, then renaming is moot. The two blocks of code both depend on rx being zero, and so nothing is achieved by splitting the instruction set register into two physical registers.