| Deutsch English Français Italiano |
|
<20250311132513.00003f2f@yahoo.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Michael S <already5chosen@yahoo.com> Newsgroups: comp.arch Subject: Re: An execution time puzzle Date: Tue, 11 Mar 2025 13:25:13 +0200 Organization: A noiseless patient Spider Lines: 31 Message-ID: <20250311132513.00003f2f@yahoo.com> References: <2025Mar10.083318@mips.complang.tuwien.ac.at> <2025Mar10.095420@mips.complang.tuwien.ac.at> <2025Mar10.181427@mips.complang.tuwien.ac.at> <2025Mar11.091817@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Tue, 11 Mar 2025 12:25:14 +0100 (CET) Injection-Info: dont-email.me; posting-host="3e200686600aa496eb012bcd6b766ca1"; logging-data="1991986"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/HUf1KGyExeGiAIwIIQYfHKlHGh9Keytw=" Cancel-Lock: sha1:9H4wX7zkTKQ50yPn/PrUfmBxtBw= X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32) Bytes: 2537 On Tue, 11 Mar 2025 08:18:17 GMT anton@mips.complang.tuwien.ac.at (Anton Ertl) wrote: > > Another open issue is that the gcc-12 build of gforth-fast (using r13 > instead of r14) is 3 cycles slower than the gcc-10 build. I don't see > an extension of my BTB theory that would explain this. So either my > BTB theory is wrong or there is another effect at work. > I tried to understand Indirect Target Predictor paragraph in Opt. Manual, but failed. Here is the text of this short paragraph for those who don't like too look for things themselves, but have better chance than me to understand what is going on (i.e. primarily for Mitch Alsup) 2.8.1.4 Indirect Target Predictor The processor implements a 1024-entry indirect target array used to predict the target of some non-RET indirect branches. If a branch has had multiple different targets, the indirect target predictor chooses among them using global history at L2 BTB correction latency. Branches that have so far always had the same target are predicted using the static target from the branch's BTB entry. This means the prediction latency for correctly predicted indirect branches is roughly 5-(3/N), where N is the number of different targets of the indirect branch. For these reasons, code should attempt to reduce the number of different targets per indirect branch.