Deutsch   English   Français   Italiano  
<a0e4aadcae0c6952b47b04a370c2da70@www.novabbs.org>

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

Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
Subject: Re: Misc: BGBCC targeting RV64G, initial results...
Date: Fri, 18 Oct 2024 02:28:45 +0000
Organization: Rocksolid Light
Message-ID: <a0e4aadcae0c6952b47b04a370c2da70@www.novabbs.org>
References: <vd5uvd$mdgn$1@dont-email.me> <b17e4a241a5bc300250aab8c1c5b9348@www.novabbs.org> <vdcbe5$1s6so$1@dont-email.me> <852a1995ec32b2e03628885f9b5da124@www.novabbs.org> <veonu1$2ae17$1@dont-email.me> <veovcc$2b1fi$1@dont-email.me> <vep7be$2cs59$1@dont-email.me> <802b8c55ab0ba69a7fc324618f2c63df@www.novabbs.org> <vepk8h$2f0m6$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="2524787"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="o5SwNDfMfYu6Mv4wwLiW6e/jbA93UAdzFodw5PEa6eU";
User-Agent: Rocksolid Light
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Posting-User: cb29269328a20fe5719ed6a1c397e21f651bda71
X-Rslight-Site: $2y$10$Xgl5hU1jnXmfPpNg6AYFIOWuxjrx6X90jSzI2jgTNQUd3EGFaMZfm
Bytes: 2660
Lines: 39

On Thu, 17 Oct 2024 0:03:26 +0000, BGB wrote:

> On 10/16/2024 5:16 PM, MitchAlsup1 wrote:
>> On Wed, 16 Oct 2024 20:23:08 +0000, BGB wrote:
>>
>>>
>>> Ironically, one of the main arguable use-cases for old Fortran style IF
>>> statements is implementing the binary dispatch logic in a binary
>>> subdivided "switch()", but not enough to justify having a dedicated
>>> instruction for it.
>>>
>>> Say:
>>>    MOV  Imm, Rt  //pivot case
>>>    BLT  Rt, Rx, .lbl_lo
>>>    BGT  Rt, Rx, .lbl_hi
>>>    BRA  .lbl_case
>>
>> With a 64-bitinstruction one could do::
>>
>>      B3W   .lbl_lo,.lbl_zero,.lbl_hi
>>
>> rather straightforwardly.....
>
> Possibly, but the harder part would be to deal with decoding and feeding
> the instruction through the pipeline.

Feed the 3×15-bit displacements to the branch unit. When the condition
resolves, use one of the 2 selected displacements as the target address.

> Granted, I guess it could be decoded as if it were a normal 3RI op or
> similar, but then split up the immediate into multiple parts in EX1.

Why would you want do make it 3×11-bit displacements when you can
make it 3×16-bit displacements.

     +------+-----+-----+----------------+
     | Bc   |  3W |  Rt |   .lb_lo       |
     +------+-----+-----+----------------+
     |   .lb_zero       |  .lb_hi        |
     +------------------+----------------+