Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <103f75da3109c73e181e04cb5f40e0ae@www.novabbs.org>
Deutsch   English   Français   Italiano  
<103f75da3109c73e181e04cb5f40e0ae@www.novabbs.org>

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

Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
Subject: Re: Concertlina II: Full Circle
Date: Wed, 19 Jun 2024 18:31:12 +0000
Organization: Rocksolid Light
Message-ID: <103f75da3109c73e181e04cb5f40e0ae@www.novabbs.org>
References: <mas07jhu9i876gsov2gh8tap17kem5n21p@4ax.com> <132536f47d1b160ad3ad0340fc479c1d@www.novabbs.org> <v4c17j5eo503i93fb7imjpom5jqs3oivtv@4ax.com> <50c85586e1aec0eef53e83cef7cb1d5d@www.novabbs.org> <4mb37jdb25571s1q1pjlc3ludaaks7tukr@4ax.com> <e4c37jd4l9spbi5b23b525unp9p60ird8q@4ax.com> <1401408dead0bbc0b1e2ea7e053c873a@www.novabbs.org> <fbn37jpc0banppburc1t6r4hnp3kih23ui@4ax.com> <adc60d6b4791061485b8290897609bb3@www.novabbs.org> <el047jt94n4eb0l3f829p1jnatncunm5dj@4ax.com> <b9790766475e970e390f6c88acba0577@www.novabbs.org> <v4uf97$1upbm$1@dont-email.me> <v4v3sf$22gbc$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="521727"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="7opjq6o0gOhusEORo6KGlWDqrGdcQlz3IQ8pYKMWkuY";
User-Agent: Rocksolid Light
X-Rslight-Site: $2y$10$vZAQirwI2eAn1IpIRpvmnucLrfrcPG1s7sPQC2BNJ/mncccw2jZYq
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
X-Spam-Checker-Version: SpamAssassin 4.0.0
Bytes: 3754
Lines: 55

Thomas Koenig wrote:

> Terje Mathisen <terje.mathisen@tmsw.no> schrieb:
>> MitchAlsup1 wrote:
>>> John Savard wrote:
>>> 
>>>> On Tue, 18 Jun 2024 21:23:57 +0000, mitchalsup@aol.com (MitchAlsup1)
>>>> wrote:
>>>>> John Savard wrote:
>>> 
>>>>>> (1 bit) This indicates whether we're talking about the integer
>>>>>> registers or the floating-point ones.
>>>>>
>>>>> Loops controlled by floating point indexes do not vectorize, however
>>>>> the body of the loop can be any mix of int, logical, memory, or FP
>>>>> instructions.
>>> 
>>>> Oh no, my index is always an integer. This bit applies to the
>>>> "live-in" bits - if the loop performs floating-point computation, it's
>>>> floating-point registers that I want to mark as forwarding nodes.
>>> 
>>> See, I do not have this distinction, there is but one file.
>>> 
>>>> And so you indicate this explicitly in VVM as well. I tended to assume
>>>> only a limited number of registers would be needed to live in, plus I
>>>> have both floating and integer register files, hence the differences.
>>> 
>>> It ends up that the majority of register uses in a loop do not need to
>>> be visible outside of the loop. This is almost the contrapositive of
>>> annotating which registers are temporary in the loop. 90%+ of loops do 
>>> not even need the index register to be live outside of the loop.
>>
>> This is partly due to programming languages that applies lifetimes to 
>> variables, so that an index register which is defined in the
>> scaffolding
>> 
>> of the loop (i.e. for (i = 0; i < limit; i++) {}) is invisible as soon 
>> as the loop terminates.

> This makes things more clear to anybody reading the code (and
> unambiguous to the compiler).  However, lifetime analysis has
> also become very good, and if the value is not used afterwards,
> I expect no difference in practice.

When one writes::

     for( uint64_t i = 0; i < max; i++ )

the lifetime of i is explicit--it terminates with the loop.

>> Without such a restriction, there are many times when it would be very 
>> natural to inspect the index in order to determine if this was a normal
>> 
>> (counting) exit, or an early exit due to some internal test.

> Hmm... do you mean for the programmer, or for the compiler?