| Deutsch English Français Italiano |
|
<vrq4in$3e7ha$1@dont-email.me> 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: Robert Finch <robfi680@gmail.com> Newsgroups: comp.arch Subject: Re: Split instruction and immediate stream Date: Sun, 23 Mar 2025 19:13:25 -0400 Organization: A noiseless patient Spider Lines: 38 Message-ID: <vrq4in$3e7ha$1@dont-email.me> References: <vqhjpv$65am$1@dont-email.me> <vqiikd$c35o$1@dont-email.me> <fmnzP.432863$2zn8.70525@fx15.iad> <16462d5aa26345e4e015f240b30bba02@www.novabbs.org> <vrm4vt$3o4ta$1@dont-email.me> <vrmjhv$5hkp$1@dont-email.me> <vrntrs$1ab2q$1@dont-email.me> <vrp37n$2egnv$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 24 Mar 2025 00:13:27 +0100 (CET) Injection-Info: dont-email.me; posting-host="a9f5d1702c9f6c92b376e264c27e74f8"; logging-data="3612202"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19SxYkv33vczXf0pJeOx9jCCTAFu/A2sKc=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:mYBJgD+3rwpauV+FLcKqfGcLZOc= Content-Language: en-US In-Reply-To: <vrp37n$2egnv$1@dont-email.me> Bytes: 2735 On 2025-03-23 9:44 a.m., Thomas Koenig wrote: > Robert Finch <robfi680@gmail.com> schrieb: > >> In the latest test project, the LB650 similar to a PowerPC, large >> constants are encoded at the end of the cache line. So, there is a >> similar issue of code running into the constant area. > > What is your motivation for this? This was more of a two day experiment. Wanted to see if code density could be improved. I have gone back to Q+ which maybe has better code density. Got a better result after putting more work into the assembler. For my serial I/O routines: PowerPC: 1624 bytes (compiled with vbcc) Q+: 1456 bytes (arpl compiler) I am guessing most of the gain is from function prolog / epilog where Q+ has enter / leave instructions. There is still a couple of issues in the arpl compiler, it outputs more instructions than it needs to. Those 24-bit instructions work well. > > If you have an instruction including constant(s) which no longer > fits your cache line (say, 8 bytes left and 12 bytes needed) > it does not matter where you put the constants and where you > put the instructions - it will not fit, and you have to start > a new cache line. Yes. > > I am not seeing an advantage over what Power 10 does, which is > just to add a NOP at the end if things don't fit on a cacheline. NOP ramps in my parlance. I use them to handle crossing page boundaries.