Deutsch   English   Français   Italiano  
<vu46su$1170i$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder8.news.weretis.net!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: auto predicating branches
Date: Sun, 20 Apr 2025 21:26:53 -0400
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <vu46su$1170i$1@dont-email.me>
References: <vbgdms$152jq$1@dont-email.me> <vdnpg4$3c9e$2@dont-email.me>
 <2024Oct4.081931@mips.complang.tuwien.ac.at> <vdp343$9d38$1@dont-email.me>
 <2024Oct5.114309@mips.complang.tuwien.ac.at> <ve5mpq$2jt5k$1@dont-email.me>
 <vedg1s$43mp$1@dont-email.me>
 <ebe5b174d1e95801af623a450c464504@www.novabbs.org>
 <veelbd$9gnd$2@dont-email.me> <veeso3$aq72$1@dont-email.me>
 <vfvi1f$2kp4s$1@dont-email.me> <vgerdr$1v4nd$1@dont-email.me>
 <vtptau$3p73s$1@dont-email.me> <vtq6vh$39sli$1@dont-email.me>
 <Is7MP.2098019$OrR5.521315@fx18.iad>
 <4f65d9544ad95edc8b07c869f9921a35@www.novabbs.org>
 <vtsbga$1tu26$1@dont-email.me>
 <b8859e8d6b909a4505c0f487a6a0fe35@www.novabbs.org>
 <vu2542$38qev$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 21 Apr 2025 03:26:54 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="dbe53af134aed372a008363216c13514";
	logging-data="1088530"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19GwQCOM83E0qX7e4C/XSL+jeuhlxrqfEI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:wzI8ohsEVwR8JU3usBIGxcM7qsA=
Content-Language: en-US
In-Reply-To: <vu2542$38qev$1@dont-email.me>
Bytes: 3652

On 2025-04-20 2:44 a.m., Robert Finch wrote:
>>
>> I have several examples where My 66000 with only 32-GPRs compiles
>> to fewer instructions than RISC-V with 32+32 registers.
>>
>> I have other examples where My 66000 does not need spill/fill code
>> and RISC-V does, too.
>>
>>>
>>> I like having the extra register files, it is just a personal
>>> programming convenience. It reduces the pressure on the general-purpose
>>> register file.
>>
>> Universal constants also reduces pressure both on ISA on the GPRs, and
>> on executing instructions.
> 
> Stark uses a four bit code to encode where on the cache line a large 
> constant is located. The assembler just piles them up at the end of the 
> cache line. Sometimes space is wasted if an instruction with a constant 
> will not fit on the cache line. I think it is <6%. It has got to be 
> close to the finagling that RISCV does for larger constants.
>>
>>
>> Changing the capital R in RISC into a lower case r ?!?
> 
> Lower case r?
> 
> Been working on predicate logic tonight. Predicate shadow is limited to 
> six instruction due to a limited mask size. Can always code more of the 
> same predicate to skip more instructions.
> 
> I have the code searching the ROB backwards until a predicate 
> instruction is encountered, to determine if there is a predicate. 
> Searching fewer instructions helps. Probably not the cleverest way of 
> doing things, sort of brute force.

Got hung up on the predicate logic and decided to tackle something 
easier but similar. Having branches automatically convert into 
predicates when they branch forward a short distance <7 instructions. 
The instructions are likely already in the pipeline since it is only one 
or two instruction groups.

Ran into issues with the predicate logic and the LOC were just 
exploding. Better to work on improving the branches first, predicates 
might fall out later.