Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

6 May, 2024: The networking issue during the past two days has been identified and appears to be fixed. Will keep monitoring.


devel / comp.arch / Re: RISC-V vs. Aarch64

SubjectAuthor
* RISC-V vs. Aarch64Anton Ertl
+* Re: RISC-V vs. Aarch64MitchAlsup
|+* Re: RISC-V vs. Aarch64Anton Ertl
||`* Re: RISC-V vs. Aarch64MitchAlsup
|| +- Re: RISC-V vs. Aarch64BGB
|| `- Re: RISC-V vs. Aarch64Anton Ertl
|+* Re: RISC-V vs. Aarch64Ivan Godard
||+- Re: RISC-V vs. Aarch64robf...@gmail.com
||+- Re: RISC-V vs. Aarch64MitchAlsup
||`* Re: RISC-V vs. Aarch64Quadibloc
|| `* Re: RISC-V vs. Aarch64Quadibloc
||  `- Re: RISC-V vs. Aarch64Quadibloc
|+* Re: RISC-V vs. Aarch64Marcus
||+- Re: RISC-V vs. Aarch64BGB
||`* Re: RISC-V vs. Aarch64MitchAlsup
|| +- Re: RISC-V vs. Aarch64BGB
|| `- Re: RISC-V vs. Aarch64Ivan Godard
|`- Re: RISC-V vs. Aarch64MitchAlsup
`* Re: RISC-V vs. Aarch64BGB
 +* Re: RISC-V vs. Aarch64MitchAlsup
 |+- Re: RISC-V vs. Aarch64MitchAlsup
 |+* Re: RISC-V vs. Aarch64Thomas Koenig
 ||+* Re: RISC-V vs. Aarch64Ivan Godard
 |||`* Re: RISC-V vs. Aarch64EricP
 ||| `- Re: RISC-V vs. Aarch64Ivan Godard
 ||+* Re: RISC-V vs. Aarch64MitchAlsup
 |||`* Re: RISC-V vs. Aarch64Ivan Godard
 ||| `* Re: RISC-V vs. Aarch64MitchAlsup
 |||  `* Re: RISC-V vs. Aarch64Ivan Godard
 |||   `* Re: RISC-V vs. Aarch64MitchAlsup
 |||    `- Re: RISC-V vs. Aarch64Marcus
 ||`* Re: RISC-V vs. Aarch64BGB
 || `- Re: RISC-V vs. Aarch64MitchAlsup
 |+* Re: RISC-V vs. Aarch64BGB
 ||`* Re: RISC-V vs. Aarch64MitchAlsup
 || `- Re: RISC-V vs. Aarch64Thomas Koenig
 |`* Re: RISC-V vs. Aarch64Marcus
 | `* Re: RISC-V vs. Aarch64EricP
 |  +* Re: RISC-V vs. Aarch64Marcus
 |  |+* Re: RISC-V vs. Aarch64MitchAlsup
 |  ||+* Re: RISC-V vs. Aarch64Niklas Holsti
 |  |||+* Re: RISC-V vs. Aarch64Bill Findlay
 |  ||||`- Re: RISC-V vs. Aarch64MitchAlsup
 |  |||`- Re: RISC-V vs. Aarch64Ivan Godard
 |  ||`- Re: RISC-V vs. Aarch64Thomas Koenig
 |  |+* Re: RISC-V vs. Aarch64Thomas Koenig
 |  ||+* Re: RISC-V vs. Aarch64MitchAlsup
 |  |||`- Re: RISC-V vs. Aarch64BGB
 |  ||+* Re: RISC-V vs. Aarch64Ivan Godard
 |  |||`* Re: RISC-V vs. Aarch64Thomas Koenig
 |  ||| `- Re: RISC-V vs. Aarch64Ivan Godard
 |  ||`* Re: RISC-V vs. Aarch64Marcus
 |  || +* Re: RISC-V vs. Aarch64Thomas Koenig
 |  || |`* Re: RISC-V vs. Aarch64aph
 |  || | +- Re: RISC-V vs. Aarch64Michael S
 |  || | `* Re: RISC-V vs. Aarch64Thomas Koenig
 |  || |  `* Re: RISC-V vs. Aarch64robf...@gmail.com
 |  || |   +* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |   |`- Re: RISC-V vs. Aarch64Tim Rentsch
 |  || |   `* Re: RISC-V vs. Aarch64Terje Mathisen
 |  || |    `* Re: RISC-V vs. Aarch64Thomas Koenig
 |  || |     `* Re: RISC-V vs. Aarch64Marcus
 |  || |      `* Re: RISC-V vs. Aarch64Guillaume
 |  || |       `* Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        +- Re: RISC-V vs. Aarch64Marcus
 |  || |        +* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |`* Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        | `* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |  `* Re: RISC-V vs. Aarch64Thomas Koenig
 |  || |        |   `* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |    `* Re: RISC-V vs. Aarch64EricP
 |  || |        |     +* Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        |     |`* Re: RISC-V vs. Aarch64EricP
 |  || |        |     | `- Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        |     `* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |      `* Re: RISC-V vs. Aarch64EricP
 |  || |        |       +- Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        |       `* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |        +* Re: RISC-V vs. Aarch64Brett
 |  || |        |        |+* Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        |        ||`- Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |        |`- Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |        `* Re: RISC-V vs. Aarch64Stephen Fuld
 |  || |        |         `* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |          +* Re: RISC-V vs. Aarch64Stefan Monnier
 |  || |        |          |`- Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |          +* Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        |          |`* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |          | `- Re: RISC-V vs. Aarch64MitchAlsup
 |  || |        |          +* Re: RISC-V vs. Aarch64Stephen Fuld
 |  || |        |          |`- Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |          `* Re: RISC-V vs. Aarch64EricP
 |  || |        |           +* Re: RISC-V vs. Aarch64EricP
 |  || |        |           |`* Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        |           | `* The type of Mill's belt's slotsStefan Monnier
 |  || |        |           |  +- Re: The type of Mill's belt's slotsMitchAlsup
 |  || |        |           |  `* Re: The type of Mill's belt's slotsIvan Godard
 |  || |        |           |   `* Re: The type of Mill's belt's slotsStefan Monnier
 |  || |        |           |    `* Re: The type of Mill's belt's slotsIvan Godard
 |  || |        |           |     +* Re: The type of Mill's belt's slotsStefan Monnier
 |  || |        |           |     |`* Re: The type of Mill's belt's slotsIvan Godard
 |  || |        |           |     `* Re: The type of Mill's belt's slotsMitchAlsup
 |  || |        |           `- Re: RISC-V vs. Aarch64Ivan Godard
 |  || |        +* Re: RISC-V vs. Aarch64Guillaume
 |  || |        `* Re: RISC-V vs. Aarch64Quadibloc
 |  || `* MRISC32 vectorization (was: RISC-V vs. Aarch64)Thomas Koenig
 |  |`* Re: RISC-V vs. Aarch64Terje Mathisen
 |  `- Re: RISC-V vs. Aarch64Quadibloc
 +* Re: RISC-V vs. Aarch64Anton Ertl
 `- Re: RISC-V vs. Aarch64aph

Pages:123456789101112131415
Re: RISC-V vs. Aarch64

<sr8t0k$mt5$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22809&group=comp.arch#22809

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: m.del...@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Fri, 7 Jan 2022 09:18:28 +0100
Organization: A noiseless patient Spider
Lines: 90
Message-ID: <sr8t0k$mt5$1@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<sqmthh$2ea$1@dont-email.me> <86lezsvy8v.fsf@linuxsc.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 7 Jan 2022 08:18:28 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="0eb89e610650f4962d5f377dad77e9cf";
logging-data="23461"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19GzNInAGjY6ZXb8zCxJ/kmqCMAANdKDu8="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:nAUFYmRF5+FoJZ1UComv0tURGL8=
In-Reply-To: <86lezsvy8v.fsf@linuxsc.com>
Content-Language: en-US
 by: Marcus - Fri, 7 Jan 2022 08:18 UTC

On 2022-01-07, Tim Rentsch wrote:
> Marcus <m.delete@this.bitsnbites.eu> writes:
>
>> On 2021-12-31, Terje Mathisen wrote:
>>
>>> Marcus wrote:
>>>
>>>> On 2021-12-30, EricP wrote:
>>>>
>>>>> C,C++ and a bunch of languages explicitly define booleans as 0 or
>>>>> 1 so this definition won't be optimal for those languages. VAX
>>>>> Fortran used 0,-1 for LOGICAL but I don't know if that was
>>>>> defined by the language or implementation dependant.
>>>
>>> -1 is better than 1, it can be used as a mask.
>>>
>>>> As a software developer I'm painfully aware of this. I decided
>>>> not to care too much about it, though. Really, most software that
>>>> relies on this property of C should be frowned upon. E.g.,
>>>> expressions like:
>>>>
>>>> a = b + (c == d);
>>>>
>>>> ...aren't really good programming practice.
>>>
>>> No! Please tell me it ain't so!
>>>
>>> I use that type of constructs all over the place when writing
>>> branchless code/doing table lookups etc.
>>
>> I think that you'll find that the following code produces the
>> exact same result:
>>
>> int a;
>> if (c == d) {
>> a = b + 1;
>> } else {
>> a = b;
>> }
>>
>> It too is completely branchless.
>
> Being branchless is not the high order bit here.

?? I was responding to a note about relying on comparison results having
the value 0 or 1 for the purpose of producing branchless code.

>
>> My main gripe with the former version is the implicit type
>> conversion (boolean to integer), and that I don't like to see
>> logical operands and arithmetic operands mixed in the same
>> expression.
>
> Apparently you are thinking of some other language, not C.
> The result of comparison operators such as == have type int,
> not some boolean type. And that is not just an accident.
>

True. I usually dwell in C++ land, and there I'm pretty sure that
comparison operators return bool, not int.

Well, there's one more thing... In C, integer zero is "falsy", and
*anything else* is "truthy". But only integer 1 is the valid value of
"true". E.g. consider:

#define FALSE 0
#define TRUE 42

int c = (foo > bar);
if (c) // OK
if (c == 1) // OK
if (c == TRUE) // BAD

int c = (foo > bar) ? TRUE : FALSE;
if (c) // OK
if (c == 1) // BAD
if (c == TRUE) // OK

int c = foo - bar; // c is truthy if foo != bar
if (c) // OK
if (c == TRUE) // BAD
if (c == 1) // BAD

So, in general I do not like code that makes assumptions about the
integer value of a comparison result. I much rather see explicit
if-then-else statements, and have the compiler reduce it to the most
optimal form for the target machine (they do that these days). But
maybe I'm just too influenced by C++ philosophies.

/Marcus

Re: RISC-V vs. Aarch64

<sr8tvv$t2j$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22810&group=comp.arch#22810

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: m.del...@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Fri, 7 Jan 2022 09:35:11 +0100
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <sr8tvv$t2j$1@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<86pmp4vyqa.fsf@linuxsc.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 7 Jan 2022 08:35:11 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="0eb89e610650f4962d5f377dad77e9cf";
logging-data="29779"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19X6N++05xs8BGgLE1knGdbRL2UL6TJgEE="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:Z0Jlsw0qGvD3BuEL+uW/Qm316Ks=
In-Reply-To: <86pmp4vyqa.fsf@linuxsc.com>
Content-Language: en-US
 by: Marcus - Fri, 7 Jan 2022 08:35 UTC

On 2022-01-07, Tim Rentsch wrote:
> Terje Mathisen <terje.mathisen@tmsw.no> writes:
>
>> Marcus wrote:
>>
>>> On 2021-12-30, EricP wrote:
>>>
>>>> C,C++ and a bunch of languages explicitly define booleans as 0 or 1
>>>> so this definition won't be optimal for those languages.
>>>> VAX Fortran used 0,-1 for LOGICAL but I don't know if that
>>>> was defined by the language or implementation dependant.
>>
>> -1 is better than 1, it can be used as a mask.
>>
>>> As a software developer I'm painfully aware of this. I decided not to
>>> care too much about it, though. Really, most software that relies on
>>> this property of C should be frowned upon. E.g. expressions like:
>>>
>>> a = b + (c == d);
>>>
>>> ...aren't really good programming practice.
>>
>> No! Please tell me it ain't so!
>>
>> I use that type of constructs [frequently ...]
>
> Totally with you on this. People who don't see the benefit of
> using 0/1 values instead of if/else in cases like this are stuck
> in an antiquated way of thinking.
>

Care to elaborate? What context are we talking about here? C? Machine
code? Microarchitecture?

Have a look at https://godbolt.org/z/K7ndn57T1 and feel free to compare
what machine code you get on different architectures for the different C
code snippets (spoiler alert: with modern compilers there will typically
be no difference at all).

My point is that you should strive for writing (high level) code that
is as clear as possible w.r.t. the intent of the program (e.g. avoid
error prone constructs). At the machine code level, OTOH, you should of
course strive for the fastest possible implementation (for your
particular target machine).

/Marcus

Re: RISC-V vs. Aarch64

<sr92um$t2e$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22814&group=comp.arch#22814

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-7488-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Fri, 7 Jan 2022 09:59:50 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sr92um$t2e$1@newsreader4.netcologne.de>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<sqmthh$2ea$1@dont-email.me> <86lezsvy8v.fsf@linuxsc.com>
<sr8t0k$mt5$1@dont-email.me>
Injection-Date: Fri, 7 Jan 2022 09:59:50 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-7488-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:7488:0:7285:c2ff:fe6c:992d";
logging-data="29774"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 7 Jan 2022 09:59 UTC

Marcus <m.delete@this.bitsnbites.eu> schrieb:

> #define FALSE 0
> #define TRUE 42
>
> int c = (foo > bar);
> if (c) // OK
> if (c == 1) // OK
> if (c == TRUE) // BAD

If you want to compare boolean values like this in C,
you have to massage them somehow, so

if (!c == !TRUE)

or

if (!!c == !!TRUE)

or

if ((c != 0) == (TRUE != 0))

would work.

Unless the compiler can prove that only 0 and 1 will be used,
this will cost additional instructions. If you use a _Bool,
it knows that.

> So, in general I do not like code that makes assumptions about the
> integer value of a comparison result. I much rather see explicit
> if-then-else statements, and have the compiler reduce it to the most
> optimal form for the target machine (they do that these days). But
> maybe I'm just too influenced by C++ philosophies.

While I share your dislike, _Bool addresses at least part of it.

Re: RISC-V vs. Aarch64

<M4_BJ.140002$lz3.547@fx34.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22829&group=comp.arch#22829

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!peer03.ams4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx34.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me> <59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad> <2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com>
In-Reply-To: <86h7agvxun.fsf@linuxsc.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <M4_BJ.140002$lz3.547@fx34.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 07 Jan 2022 16:43:24 UTC
Date: Fri, 07 Jan 2022 11:42:57 -0500
X-Received-Bytes: 1889
 by: EricP - Fri, 7 Jan 2022 16:42 UTC

Tim Rentsch wrote:
> EricP <ThatWouldBeTelling@thevillage.com> writes:
>
>> The & and | operators normally act on integral data types [...]
>
> Please forgive me for bringing up a technical fine point. The
> operators & and | normally act on integer data types, not
> integral data types. (In fact C doesn't have "integral" data
> types.) The distinction is not just rhetorical: a constant such
> as 3.0 has an integral value, but it does not have an integer
> value.

"Integral operands" is the words my MS compiler documentation uses,
and was the words K&R used for bitwise operators,
meaning either signed or unsigned integer operands.

For bitwise operators the C99 standard says
"Each of the operands shall have integer type"
which it does not qualify as signed or unsigned
and therefore means either.

Re: RISC-V vs. Aarch64

<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22834&group=comp.arch#22834

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:6214:2aab:: with SMTP id js11mr58750193qvb.54.1641586928423;
Fri, 07 Jan 2022 12:22:08 -0800 (PST)
X-Received: by 2002:a05:6808:ecc:: with SMTP id q12mr11064292oiv.122.1641586928194;
Fri, 07 Jan 2022 12:22:08 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Fri, 7 Jan 2022 12:22:08 -0800 (PST)
In-Reply-To: <M4_BJ.140002$lz3.547@fx34.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f5ac:99e3:1084:2444;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f5ac:99e3:1084:2444
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 07 Jan 2022 20:22:08 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 34
 by: MitchAlsup - Fri, 7 Jan 2022 20:22 UTC

On Friday, January 7, 2022 at 10:43:28 AM UTC-6, EricP wrote:
> Tim Rentsch wrote:
> > EricP <ThatWould...@thevillage.com> writes:
> >
> >> The & and | operators normally act on integral data types [...]
> >
> > Please forgive me for bringing up a technical fine point. The
> > operators & and | normally act on integer data types, not
> > integral data types. (In fact C doesn't have "integral" data
> > types.) The distinction is not just rhetorical: a constant such
> > as 3.0 has an integral value, but it does not have an integer
> > value.
> "Integral operands" is the words my MS compiler documentation uses,
> and was the words K&R used for bitwise operators,
> meaning either signed or unsigned integer operands.
>
> For bitwise operators the C99 standard says
> "Each of the operands shall have integer type"
> which it does not qualify as signed or unsigned
> and therefore means either.
<
When I did the ISA for a Samsung GPU, I explicitly used the word
"signless" for calculations for which neither signed nor unsigned
were strictly correct.
<
AND, OR, XOR are not really unsigned, they are signless and they
perform their work on a multitude of 1-bit containers SIMD-style.
There are others, signless was used in the presence of the sign
modification bits in each instruction and informed the sign control
circuits not to do anything. On a non SIMD machine setting of the
sign control bits of an instruction which calculates in the signless
domain would raise an Operation Exception.
<
This is a vast step too far for a language to take on, but it is not
too far for ISA designers to take to heart and use efficaciously.

Re: RISC-V vs. Aarch64

<srag0i$2ed$2@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22843&group=comp.arch#22843

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Fri, 7 Jan 2022 14:48:50 -0800
Organization: A noiseless patient Spider
Lines: 39
Message-ID: <srag0i$2ed$2@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at>
<KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com>
<M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 7 Jan 2022 22:48:50 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="305e35c08e81839d6e2c9ca9371b8a28";
logging-data="2509"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18NiKSaBWm4BVL1KBzVBHUk"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:rI2A4x2hERut/l17o1/+/cN2iKY=
In-Reply-To: <f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Fri, 7 Jan 2022 22:48 UTC

On 1/7/2022 12:22 PM, MitchAlsup wrote:
> On Friday, January 7, 2022 at 10:43:28 AM UTC-6, EricP wrote:
>> Tim Rentsch wrote:
>>> EricP <ThatWould...@thevillage.com> writes:
>>>
>>>> The & and | operators normally act on integral data types [...]
>>>
>>> Please forgive me for bringing up a technical fine point. The
>>> operators & and | normally act on integer data types, not
>>> integral data types. (In fact C doesn't have "integral" data
>>> types.) The distinction is not just rhetorical: a constant such
>>> as 3.0 has an integral value, but it does not have an integer
>>> value.
>> "Integral operands" is the words my MS compiler documentation uses,
>> and was the words K&R used for bitwise operators,
>> meaning either signed or unsigned integer operands.
>>
>> For bitwise operators the C99 standard says
>> "Each of the operands shall have integer type"
>> which it does not qualify as signed or unsigned
>> and therefore means either.
> <
> When I did the ISA for a Samsung GPU, I explicitly used the word
> "signless" for calculations for which neither signed nor unsigned
> were strictly correct.
> <
> AND, OR, XOR are not really unsigned, they are signless and they
> perform their work on a multitude of 1-bit containers SIMD-style.
> There are others, signless was used in the presence of the sign
> modification bits in each instruction and informed the sign control
> circuits not to do anything. On a non SIMD machine setting of the
> sign control bits of an instruction which calculates in the signless
> domain would raise an Operation Exception.
> <
> This is a vast step too far for a language to take on, but it is not
> too far for ISA designers to take to heart and use efficaciously.

In our specs that domain is called "logical", which I think will be more
intuitive than "signless". YMMV.

Re: RISC-V vs. Aarch64

<sraitd$uvn$2@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22846&group=comp.arch#22846

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-7488-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Fri, 7 Jan 2022 23:38:21 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sraitd$uvn$2@newsreader4.netcologne.de>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at>
<KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com>
<M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>
<srag0i$2ed$2@dont-email.me>
Injection-Date: Fri, 7 Jan 2022 23:38:21 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-7488-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:7488:0:7285:c2ff:fe6c:992d";
logging-data="31735"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 7 Jan 2022 23:38 UTC

Ivan Godard <ivan@millcomputing.com> schrieb:
> On 1/7/2022 12:22 PM, MitchAlsup wrote:

>> When I did the ISA for a Samsung GPU, I explicitly used the word
>> "signless" for calculations for which neither signed nor unsigned
>> were strictly correct.

[...]

>> This is a vast step too far for a language to take on, but it is not
>> too far for ISA designers to take to heart and use efficaciously.

A "bucket of bits" could indeed be a viable data type in a programming
language.

> In our specs that domain is called "logical", which I think will be more
> intuitive than "signless". YMMV.

I first misread that as "sinless", which Mitch's architecture is
not, since it has a SIN instruction. Question is, does it need
a REPENT instruction? (Can anybody find a reasonable backronym
for that?)

Re: RISC-V vs. Aarch64

<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22849&group=comp.arch#22849

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:5994:: with SMTP id e20mr59174308qte.75.1641603410468;
Fri, 07 Jan 2022 16:56:50 -0800 (PST)
X-Received: by 2002:a05:6808:198a:: with SMTP id bj10mr11524227oib.37.1641603410235;
Fri, 07 Jan 2022 16:56:50 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Fri, 7 Jan 2022 16:56:50 -0800 (PST)
In-Reply-To: <srag0i$2ed$2@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f5ac:99e3:1084:2444;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f5ac:99e3:1084:2444
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 08 Jan 2022 00:56:50 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 41
 by: MitchAlsup - Sat, 8 Jan 2022 00:56 UTC

On Friday, January 7, 2022 at 4:48:52 PM UTC-6, Ivan Godard wrote:
> On 1/7/2022 12:22 PM, MitchAlsup wrote:
> > On Friday, January 7, 2022 at 10:43:28 AM UTC-6, EricP wrote:
> >> Tim Rentsch wrote:
> >>> EricP <ThatWould...@thevillage.com> writes:
> >>>
> >>>> The & and | operators normally act on integral data types [...]
> >>>
> >>> Please forgive me for bringing up a technical fine point. The
> >>> operators & and | normally act on integer data types, not
> >>> integral data types. (In fact C doesn't have "integral" data
> >>> types.) The distinction is not just rhetorical: a constant such
> >>> as 3.0 has an integral value, but it does not have an integer
> >>> value.
> >> "Integral operands" is the words my MS compiler documentation uses,
> >> and was the words K&R used for bitwise operators,
> >> meaning either signed or unsigned integer operands.
> >>
> >> For bitwise operators the C99 standard says
> >> "Each of the operands shall have integer type"
> >> which it does not qualify as signed or unsigned
> >> and therefore means either.
> > <
> > When I did the ISA for a Samsung GPU, I explicitly used the word
> > "signless" for calculations for which neither signed nor unsigned
> > were strictly correct.
> > <
> > AND, OR, XOR are not really unsigned, they are signless and they
> > perform their work on a multitude of 1-bit containers SIMD-style.
> > There are others, signless was used in the presence of the sign
> > modification bits in each instruction and informed the sign control
> > circuits not to do anything. On a non SIMD machine setting of the
> > sign control bits of an instruction which calculates in the signless
> > domain would raise an Operation Exception.
> > <
> > This is a vast step too far for a language to take on, but it is not
> > too far for ISA designers to take to heart and use efficaciously.
> In our specs that domain is called "logical", which I think will be more
> intuitive than "signless". YMMV.
<
Is ROL or ROR; signless, signed, unsigned or logical ?
<

Re: RISC-V vs. Aarch64

<434f7c05-f947-492d-8ff4-7ac39071e43cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22850&group=comp.arch#22850

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:15c7:: with SMTP id d7mr9797253qty.476.1641603476483;
Fri, 07 Jan 2022 16:57:56 -0800 (PST)
X-Received: by 2002:a9d:4048:: with SMTP id o8mr5511203oti.85.1641603476169;
Fri, 07 Jan 2022 16:57:56 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Fri, 7 Jan 2022 16:57:55 -0800 (PST)
In-Reply-To: <sraitd$uvn$2@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f5ac:99e3:1084:2444;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f5ac:99e3:1084:2444
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<sraitd$uvn$2@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <434f7c05-f947-492d-8ff4-7ac39071e43cn@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 08 Jan 2022 00:57:56 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 20
 by: MitchAlsup - Sat, 8 Jan 2022 00:57 UTC

On Friday, January 7, 2022 at 5:38:23 PM UTC-6, Thomas Koenig wrote:
> Ivan Godard <iv...@millcomputing.com> schrieb:
> > On 1/7/2022 12:22 PM, MitchAlsup wrote:
>
> >> When I did the ISA for a Samsung GPU, I explicitly used the word
> >> "signless" for calculations for which neither signed nor unsigned
> >> were strictly correct.
> [...]
> >> This is a vast step too far for a language to take on, but it is not
> >> too far for ISA designers to take to heart and use efficaciously.
> A "bucket of bits" could indeed be a viable data type in a programming
> language.
> > In our specs that domain is called "logical", which I think will be more
> > intuitive than "signless". YMMV.
> I first misread that as "sinless", which Mitch's architecture is
> not, since it has a SIN instruction. Question is, does it need
> a REPENT instruction? (Can anybody find a reasonable backronym
> for that?)
<
Every Architecture needs a REPENT instruction--at least to handle the
MACHINE-CHECK exception !!!

Re: RISC-V vs. Aarch64

<srb79q$8t6$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22851&group=comp.arch#22851

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Fri, 7 Jan 2022 21:26:19 -0800
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <srb79q$8t6$1@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at>
<KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com>
<M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>
<srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 8 Jan 2022 05:26:19 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="d4e2701684c50d7c4695c696895f2d5e";
logging-data="9126"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+tLJ2Rz5GxiZAT3Gs4Qe+d"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:ykqhw1uSabRae0VzMMWiM+/ITaQ=
In-Reply-To: <00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Sat, 8 Jan 2022 05:26 UTC

On 1/7/2022 4:56 PM, MitchAlsup wrote:
> On Friday, January 7, 2022 at 4:48:52 PM UTC-6, Ivan Godard wrote:
>> On 1/7/2022 12:22 PM, MitchAlsup wrote:
>>> On Friday, January 7, 2022 at 10:43:28 AM UTC-6, EricP wrote:
>>>> Tim Rentsch wrote:
>>>>> EricP <ThatWould...@thevillage.com> writes:
>>>>>
>>>>>> The & and | operators normally act on integral data types [...]
>>>>>
>>>>> Please forgive me for bringing up a technical fine point. The
>>>>> operators & and | normally act on integer data types, not
>>>>> integral data types. (In fact C doesn't have "integral" data
>>>>> types.) The distinction is not just rhetorical: a constant such
>>>>> as 3.0 has an integral value, but it does not have an integer
>>>>> value.
>>>> "Integral operands" is the words my MS compiler documentation uses,
>>>> and was the words K&R used for bitwise operators,
>>>> meaning either signed or unsigned integer operands.
>>>>
>>>> For bitwise operators the C99 standard says
>>>> "Each of the operands shall have integer type"
>>>> which it does not qualify as signed or unsigned
>>>> and therefore means either.
>>> <
>>> When I did the ISA for a Samsung GPU, I explicitly used the word
>>> "signless" for calculations for which neither signed nor unsigned
>>> were strictly correct.
>>> <
>>> AND, OR, XOR are not really unsigned, they are signless and they
>>> perform their work on a multitude of 1-bit containers SIMD-style.
>>> There are others, signless was used in the presence of the sign
>>> modification bits in each instruction and informed the sign control
>>> circuits not to do anything. On a non SIMD machine setting of the
>>> sign control bits of an instruction which calculates in the signless
>>> domain would raise an Operation Exception.
>>> <
>>> This is a vast step too far for a language to take on, but it is not
>>> too far for ISA designers to take to heart and use efficaciously.
>> In our specs that domain is called "logical", which I think will be more
>> intuitive than "signless". YMMV.
> <
> Is ROL or ROR; signless, signed, unsigned or logical ?
> <

Assuming those are "rotate", they are logical.

Re: RISC-V vs. Aarch64

<bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22852&group=comp.arch#22852

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:8883:: with SMTP id k125mr47655061qkd.464.1641633780595;
Sat, 08 Jan 2022 01:23:00 -0800 (PST)
X-Received: by 2002:a05:6830:154d:: with SMTP id l13mr47624238otp.282.1641633780347;
Sat, 08 Jan 2022 01:23:00 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 01:23:00 -0800 (PST)
In-Reply-To: <sqmthh$2ea$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fb70:6300:31e6:ccfa:1538:b27d;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fb70:6300:31e6:ccfa:1538:b27d
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <sqmthh$2ea$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Sat, 08 Jan 2022 09:23:00 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 33
 by: Quadibloc - Sat, 8 Jan 2022 09:23 UTC

On Friday, December 31, 2021 at 5:37:07 AM UTC-7, Marcus wrote:

> I think that you'll find that the following code produces the exact same
> result:
>
> int a;
> if (c == d) {
> a = b + 1;
> } else {
> a = b;
> }
>
> It too is completely branchless.

It WHAT?

Your code snippet is:

test c and d for equality
if they are not equal, branch to #1
a = b+1
branch to #2
#1: a = b
#2 : ...

unless the compiler figures out how to
compile it to branchless code that produces
the same result.

An IF-THEN-ELSE, after all, executes one or the
other of two different code sequences. So its
meaning is to branch.

John Savard

Re: RISC-V vs. Aarch64

<2022Jan8.101413@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22854&group=comp.arch#22854

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Sat, 08 Jan 2022 09:14:13 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 34
Message-ID: <2022Jan8.101413@mips.complang.tuwien.ac.at>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad> <2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad> <f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me> <00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="eca042e37b89111e037ca1e8c61dc68a";
logging-data="9181"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ae7U7j9Ib0HJN10mXBkW6"
Cancel-Lock: sha1:/UPR3LUddsJuaYDWTkuVytOPe/E=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Sat, 8 Jan 2022 09:14 UTC

MitchAlsup <MitchAlsup@aol.com> writes:
>Is ROL or ROR; signless, signed, unsigned or logical ?

Depends on how it is extended. If the architecture zero-extends it
(e.g., on AMD64), it's unsigned; if it sign-extends it, it is signed.

Of course, for full-width operations, there is no extension (just like
for add, sub, and mul), so you can call it either way, or invent some
way that tries to cover both. I find "signless" misleading, though
(too close to unsigned).

I wanted to look up how RISC-V does it; in
<https://raw.githubusercontent.com/riscv/riscv-bitmanip/master/bitmanip-0.90.pdf>,
it defines the operations with "uint_xlen_t" operands and results,
whatever that means (it looks unsigned to me, though). It defines
ror, rol, rori for RV32 and RV64, and rorw, rolw, roriw for RV64 only.
Reading up on Section 1.3 of the RISC-V SPEC, RV32 and RV64 are
designed to be incompatible, XLEN is the full width, and I guess the w
variants are the 32-bit variants; I have not found if this means that
rorw is zero-extended or sign-extended (based on the rest of the
instruction set, I would expect sign-extension).

It's interesting that RISC-V chose incompatibility between RV32 and
RV64, like AMD64 and Aarch64, unlike MIPS, SPARC, and PowerPC.
Apparently the conclusion after all the width extension experiences of
various architectures from the mid-1970s to Aarch64 is that the
benefits of a modeless extension (MIPS, SPARC, PowerPC) are too small,
and that the costs of a moded extension (AMD64, Aarch64, and many
others) are acceptable.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: RISC-V vs. Aarch64

<src3v5$qtt$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22856&group=comp.arch#22856

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Sat, 8 Jan 2022 05:35:34 -0800
Organization: A noiseless patient Spider
Lines: 36
Message-ID: <src3v5$qtt$1@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at>
<KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com>
<M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com>
<srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com>
<2022Jan8.101413@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 8 Jan 2022 13:35:33 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="d4e2701684c50d7c4695c696895f2d5e";
logging-data="27581"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19PTI4dyuHzWSI7Gg2PlWro"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:nTEdZhLc4W7esRQyYaTavZrCKc4=
In-Reply-To: <2022Jan8.101413@mips.complang.tuwien.ac.at>
Content-Language: en-US
 by: Ivan Godard - Sat, 8 Jan 2022 13:35 UTC

On 1/8/2022 1:14 AM, Anton Ertl wrote:
> MitchAlsup <MitchAlsup@aol.com> writes:
>> Is ROL or ROR; signless, signed, unsigned or logical ?
>
> Depends on how it is extended. If the architecture zero-extends it
> (e.g., on AMD64), it's unsigned; if it sign-extends it, it is signed.
>
> Of course, for full-width operations, there is no extension (just like
> for add, sub, and mul), so you can call it either way, or invent some
> way that tries to cover both. I find "signless" misleading, though
> (too close to unsigned).
>
> I wanted to look up how RISC-V does it; in
> <https://raw.githubusercontent.com/riscv/riscv-bitmanip/master/bitmanip-0.90.pdf>,
> it defines the operations with "uint_xlen_t" operands and results,
> whatever that means (it looks unsigned to me, though). It defines
> ror, rol, rori for RV32 and RV64, and rorw, rolw, roriw for RV64 only.
> Reading up on Section 1.3 of the RISC-V SPEC, RV32 and RV64 are
> designed to be incompatible, XLEN is the full width, and I guess the w
> variants are the 32-bit variants; I have not found if this means that
> rorw is zero-extended or sign-extended (based on the rest of the
> instruction set, I would expect sign-extension).
>
> It's interesting that RISC-V chose incompatibility between RV32 and
> RV64, like AMD64 and Aarch64, unlike MIPS, SPARC, and PowerPC.
> Apparently the conclusion after all the width extension experiences of
> various architectures from the mid-1970s to Aarch64 is that the
> benefits of a modeless extension (MIPS, SPARC, PowerPC) are too small,
> and that the costs of a moded extension (AMD64, Aarch64, and many
> others) are acceptable.
>
> - anton

No extension on Mill - operations are done in their actual width, just
like lanes in SIMD. The "widen" comes in both the signedInt and
unsignedInt domains.

Re: RISC-V vs. Aarch64

<srcaqn$qom$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22858&group=comp.arch#22858

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: m.del...@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Sat, 8 Jan 2022 16:32:39 +0100
Organization: A noiseless patient Spider
Lines: 94
Message-ID: <srcaqn$qom$1@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<sqmthh$2ea$1@dont-email.me>
<bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 8 Jan 2022 15:32:39 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="5b30a4d5982c73b1d91fbdc1bb2e87a6";
logging-data="27414"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18eb3E9o5zj6hAPwUv759a11mONqvvAXkI="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:x43Ak3g/SBp0/s2t60vwbpo3lb8=
In-Reply-To: <bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
Content-Language: en-US
 by: Marcus - Sat, 8 Jan 2022 15:32 UTC

On 2022-01-08, Quadibloc wrote:
> On Friday, December 31, 2021 at 5:37:07 AM UTC-7, Marcus wrote:
>
>> I think that you'll find that the following code produces the exact same
>> result:
>>
>> int a;
>> if (c == d) {
>> a = b + 1;
>> } else {
>> a = b;
>> }
>>
>> It too is completely branchless.
>
> It WHAT?
>
> Your code snippet is:
>
> test c and d for equality
> if they are not equal, branch to #1
> a = b+1
> branch to #2
> #1: a = b
> #2 : ...
>
> unless the compiler figures out how to
> compile it to branchless code that produces
> the same result.
>

That is exactly what it does. Here are a few examples for the above
"branchy" code:

ARMv7, Clang:
cmp r1, r2
addeq r0, r0, #1

AArch64, GCC:
cmp w1, w2
cinc w0, w0, eq

PowerPC, Clang:
xor 4, 4, 5
cntlzw 4, 4
srwi 4, 4, 5
add 3, 4, 3
extsw 3, 3

RISC-V, Clang:
xor a1, a1, a2
seqz a1, a1
addw a0, a0, a1

x86_64, MSVC:
cmp edx, r8d
lea eax, DWORD PTR [rcx+1]
cmovne eax, ecx

MRISC32, GCC:
seq r2, r2, r3
sub r1, r1, r2

> An IF-THEN-ELSE, after all, executes one or the
> other of two different code sequences. So its
> meaning is to branch.

Actually, the intent of the program is to evaluate the IF-THEN-ELSE
logic. That /can/ be done with a branch instruction, but it is not a
requirement.

I liked this article, aptly named "C is not a low-level language":

https://queue.acm.org/detail.cfm?id=3212479

The point is that a modern C compiler does not translate the C code
statement-by-statament to machine code. Instead it analyzes the C code,
applies transformations, and finally emits the machine code that is best
suited for the target machine.

Thus, there is no guarantee that an IF-statement will produce a branch
instruction. Likewise, code without IF-statements may produce branches.

E.g. the MSVC ARM compiler produces the following machine code for
a = b + (c == d):

cmp r1,r2
bne .L1
adds r0,r0,#1
..L1:

/Marcus

Re: RISC-V vs. Aarch64

<srcarh$r88$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22859&group=comp.arch#22859

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
Date: Sat, 8 Jan 2022 09:33:02 -0600
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <srcarh$r88$1@dont-email.me>
References: <2021Dec24.163843@mips.complang.tuwien.ac.at>
<sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com>
<sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad>
<sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org>
<sqmthh$2ea$1@dont-email.me>
<bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 8 Jan 2022 15:33:05 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="a8e4af86ed484e0e41a4da32ffb9f3f2";
logging-data="27912"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4rMtoZlG98nMeQYb5z+0q"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:W8UE1q5jp5ijlQhLGhwyhqUlnjo=
In-Reply-To: <bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
Content-Language: en-US
 by: BGB - Sat, 8 Jan 2022 15:33 UTC

On 1/8/2022 3:23 AM, Quadibloc wrote:
> On Friday, December 31, 2021 at 5:37:07 AM UTC-7, Marcus wrote:
>
>> I think that you'll find that the following code produces the exact same
>> result:
>>
>> int a;
>> if (c == d) {
>> a = b + 1;
>> } else {
>> a = b;
>> }
>>
>> It too is completely branchless.
>
> It WHAT?
>
> Your code snippet is:
>
> test c and d for equality
> if they are not equal, branch to #1
> a = b+1
> branch to #2
> #1: a = b
> #2 : ...
>
> unless the compiler figures out how to
> compile it to branchless code that produces
> the same result.
>
> An IF-THEN-ELSE, after all, executes one or the
> other of two different code sequences. So its
> meaning is to branch.
>

Usual idea is that the branches in simple cases like this can be
optimized away.

This could be done be done via "compiler cleverness".

In my BJX2 ISA, this case can be handled using predicated instructions,
so no (actual) branch is needed. Predication is generally limited to
simple cases, but this isn't too big of an issue in practice (if they
could be predicated, complex cases do not lead to a performance
advantage). In effect, one also needs to set an upper limit for the
total number of operations (since executing a more complex expression
may be slower than branching over it).

....

Re: RISC-V vs. Aarch64

<AVjCJ.274321$ya3.120354@fx38.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22860&group=comp.arch#22860

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!news.freedyn.de!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx38.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me> <59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org> <sqmthh$2ea$1@dont-email.me> <bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com> <srcaqn$qom$1@dont-email.me>
In-Reply-To: <srcaqn$qom$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 27
Message-ID: <AVjCJ.274321$ya3.120354@fx38.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sat, 08 Jan 2022 17:33:20 UTC
Date: Sat, 08 Jan 2022 12:33:04 -0500
X-Received-Bytes: 1807
 by: EricP - Sat, 8 Jan 2022 17:33 UTC

Marcus wrote:
>
> Thus, there is no guarantee that an IF-statement will produce a branch
> instruction. Likewise, code without IF-statements may produce branches.
>
> E.g. the MSVC ARM compiler produces the following machine code for
> a = b + (c == d):
>
> cmp r1,r2
> bne .L1
> adds r0,r0,#1
> ..L1:
>
>
> /Marcus

I've seen references to papers on predicate implementations that
optimize it in HW by turning them back into branches or equivalent.

Example below is like that, in that it only generates uOps for the
predicate path predicted to be executed, and replays if mispredicted:

Predicate prediction for efficient out-of-order execution, 2003
https://dl.acm.org/doi/abs/10.1145/782814.782840

Re: RISC-V vs. Aarch64

<fb22df2f-ac35-46e5-823f-5d6233d3ffe3n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22862&group=comp.arch#22862

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:1088:: with SMTP id a8mr60990911qtj.653.1641663974196;
Sat, 08 Jan 2022 09:46:14 -0800 (PST)
X-Received: by 2002:a05:6830:348f:: with SMTP id c15mr50163570otu.254.1641663973984;
Sat, 08 Jan 2022 09:46:13 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 09:46:13 -0800 (PST)
In-Reply-To: <bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:18a5:72f4:feb2:f1aa;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:18a5:72f4:feb2:f1aa
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sq5dj1$1q9$1@dont-email.me>
<59376149-c3d3-489e-8b41-f21bdd0ce5a9n@googlegroups.com> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <sqmthh$2ea$1@dont-email.me> <bfaacdfe-28b9-46ce-8d86-e20e5a0c7e49n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fb22df2f-ac35-46e5-823f-5d6233d3ffe3n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 08 Jan 2022 17:46:14 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 37
 by: MitchAlsup - Sat, 8 Jan 2022 17:46 UTC

On Saturday, January 8, 2022 at 3:23:01 AM UTC-6, Quadibloc wrote:
> On Friday, December 31, 2021 at 5:37:07 AM UTC-7, Marcus wrote:
>
> > I think that you'll find that the following code produces the exact same
> > result:
> >
> > int a;
> > if (c == d) {
> > a = b + 1;
> > } else {
> > a = b;
> > }
> >
> > It too is completely branchless.
> It WHAT?
>
> Your code snippet is:
>
> test c and d for equality
> if they are not equal, branch to #1
> a = b+1
> branch to #2
> #1: a = b
> #2 : ...
>
> unless the compiler figures out how to
> compile it to branchless code that produces
> the same result.
>
> An IF-THEN-ELSE, after all, executes one or the
> other of two different code sequences. So its
> meaning is to branch.
<
One can execute the then-clause or the else-clause using
predication--which is branch free. Predication is the
branch free branch !!
>
> John Savard

Re: RISC-V vs. Aarch64

<7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22863&group=comp.arch#22863

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:9ad8:: with SMTP id c207mr49734973qke.662.1641664234918;
Sat, 08 Jan 2022 09:50:34 -0800 (PST)
X-Received: by 2002:a05:6808:2396:: with SMTP id bp22mr14372584oib.78.1641664234703;
Sat, 08 Jan 2022 09:50:34 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 09:50:34 -0800 (PST)
In-Reply-To: <2022Jan8.101413@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:18a5:72f4:feb2:f1aa;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:18a5:72f4:feb2:f1aa
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 08 Jan 2022 17:50:34 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 41
 by: MitchAlsup - Sat, 8 Jan 2022 17:50 UTC

On Saturday, January 8, 2022 at 4:00:56 AM UTC-6, Anton Ertl wrote:
> MitchAlsup <Mitch...@aol.com> writes:
> >Is ROL or ROR; signless, signed, unsigned or logical ?
<
> Depends on how it is extended. If the architecture zero-extends it
> (e.g., on AMD64), it's unsigned; if it sign-extends it, it is signed.
<
These rotate a full width register into a full width register by a given
number of bits. no bits are lost, and none gained.
>
> Of course, for full-width operations, there is no extension (just like
> for add, sub, and mul), so you can call it either way, or invent some
> way that tries to cover both. I find "signless" misleading, though
> (too close to unsigned).
<
signed represents the value space -2^(n-1)..+2^(n-1)-1
unsigned represents the value space 0..2^n-1
signless does not represent a value space at all--its just a bunch of bits.
>
> I wanted to look up how RISC-V does it; in
> <https://raw.githubusercontent.com/riscv/riscv-bitmanip/master/bitmanip-0.90.pdf>,
> it defines the operations with "uint_xlen_t" operands and results,
> whatever that means (it looks unsigned to me, though). It defines
> ror, rol, rori for RV32 and RV64, and rorw, rolw, roriw for RV64 only.
> Reading up on Section 1.3 of the RISC-V SPEC, RV32 and RV64 are
> designed to be incompatible, XLEN is the full width, and I guess the w
> variants are the 32-bit variants; I have not found if this means that
> rorw is zero-extended or sign-extended (based on the rest of the
> instruction set, I would expect sign-extension).
>
> It's interesting that RISC-V chose incompatibility between RV32 and
> RV64, like AMD64 and Aarch64, unlike MIPS, SPARC, and PowerPC.
> Apparently the conclusion after all the width extension experiences of
> various architectures from the mid-1970s to Aarch64 is that the
> benefits of a modeless extension (MIPS, SPARC, PowerPC) are too small,
> and that the costs of a moded extension (AMD64, Aarch64, and many
> others) are acceptable.
>
> - anton
> --
> 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
> Mitch Alsup, <c17fcd89-f024-40e7...@googlegroups.com>

Re: RISC-V vs. Aarch64

<ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22865&group=comp.arch#22865

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:14c6:: with SMTP id u6mr60839507qtx.195.1641674269400;
Sat, 08 Jan 2022 12:37:49 -0800 (PST)
X-Received: by 2002:a4a:cb95:: with SMTP id y21mr4597832ooq.54.1641674269156;
Sat, 08 Jan 2022 12:37:49 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 12:37:48 -0800 (PST)
In-Reply-To: <7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fb70:6300:3073:6806:41c1:7736;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fb70:6300:3073:6806:41c1:7736
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at>
<7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Sat, 08 Jan 2022 20:37:49 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: Quadibloc - Sat, 8 Jan 2022 20:37 UTC

On Saturday, January 8, 2022 at 10:50:35 AM UTC-7, MitchAlsup wrote:

> These rotate a full width register into a full width register by a given
> number of bits. no bits are lost, and none gained.

Given that, surely they could be referred to as "logical" operations,
as distinct from "numerical" operations; that ought to make it
sufficiently clear that 'signed' or 'unsigned' are not properly
applicable.

John Savard

Re: RISC-V vs. Aarch64

<4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22866&group=comp.arch#22866

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:3713:: with SMTP id de19mr7513887qkb.618.1641677845836;
Sat, 08 Jan 2022 13:37:25 -0800 (PST)
X-Received: by 2002:a05:6808:3094:: with SMTP id bl20mr760345oib.0.1641677845609;
Sat, 08 Jan 2022 13:37:25 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 13:37:25 -0800 (PST)
In-Reply-To: <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:18a5:72f4:feb2:f1aa;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:18a5:72f4:feb2:f1aa
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at>
<7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com> <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 08 Jan 2022 21:37:25 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 14
 by: MitchAlsup - Sat, 8 Jan 2022 21:37 UTC

On Saturday, January 8, 2022 at 2:37:50 PM UTC-6, Quadibloc wrote:
> On Saturday, January 8, 2022 at 10:50:35 AM UTC-7, MitchAlsup wrote:
>
> > These rotate a full width register into a full width register by a given
> > number of bits. no bits are lost, and none gained.
> Given that, surely they could be referred to as "logical" operations,
> as distinct from "numerical" operations; that ought to make it
> sufficiently clear that 'signed' or 'unsigned' are not properly
> applicable.
<
This gets back to the concept that the right hand side of a << or >> operator
needs to be unsigned--as certainly a negative number is simply not portable
there. In effect << and >> are mixed type operators.
>
> John Savard

Re: RISC-V vs. Aarch64

<2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22867&group=comp.arch#22867

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:188f:: with SMTP id v15mr11313905qtc.58.1641690422032;
Sat, 08 Jan 2022 17:07:02 -0800 (PST)
X-Received: by 2002:aca:646:: with SMTP id 67mr14303652oig.175.1641690421782;
Sat, 08 Jan 2022 17:07:01 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 17:07:01 -0800 (PST)
In-Reply-To: <4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fb70:6300:3073:6806:41c1:7736;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fb70:6300:3073:6806:41c1:7736
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at>
<7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com> <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>
<4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Sun, 09 Jan 2022 01:07:02 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: Quadibloc - Sun, 9 Jan 2022 01:07 UTC

On Saturday, January 8, 2022 at 2:37:27 PM UTC-7, MitchAlsup wrote:

> This gets back to the concept that the right hand side of a << or >> operator
> needs to be unsigned--as certainly a negative number is simply not portable
> there. In effect << and >> are mixed type operators.

I'd have to say that's questionable, simply because computers using any
representation other than two's complement for integers simply haven't
existed for the last several decades.

John Savard

Re: RISC-V vs. Aarch64

<570acc73-a5da-497f-8ec4-810150e0a9f1n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22868&group=comp.arch#22868

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:5bc9:: with SMTP id t9mr63456611qvt.70.1641690973425;
Sat, 08 Jan 2022 17:16:13 -0800 (PST)
X-Received: by 2002:a9d:650e:: with SMTP id i14mr9259557otl.350.1641690973168;
Sat, 08 Jan 2022 17:16:13 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 17:16:12 -0800 (PST)
In-Reply-To: <2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:18a5:72f4:feb2:f1aa;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:18a5:72f4:feb2:f1aa
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at>
<7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com> <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>
<4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com> <2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <570acc73-a5da-497f-8ec4-810150e0a9f1n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 09 Jan 2022 01:16:13 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 14
 by: MitchAlsup - Sun, 9 Jan 2022 01:16 UTC

On Saturday, January 8, 2022 at 7:07:03 PM UTC-6, Quadibloc wrote:
> On Saturday, January 8, 2022 at 2:37:27 PM UTC-7, MitchAlsup wrote:
>
> > This gets back to the concept that the right hand side of a << or >> operator
> > needs to be unsigned--as certainly a negative number is simply not portable
> > there. In effect << and >> are mixed type operators.
<
> I'd have to say that's questionable, simply because computers using any
> representation other than two's complement for integers simply haven't
> existed for the last several decades.
<
So, what does (13 << -7) mean ?
<
>
> John Savard

Re: RISC-V vs. Aarch64

<eRqCJ.128030$OB3.120740@fx06.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22869&group=comp.arch#22869

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx06.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad> <2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad> <f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me> <00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at> <7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com> <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com> <4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com> <2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com> <570acc73-a5da-497f-8ec4-810150e0a9f1n@googlegroups.com>
In-Reply-To: <570acc73-a5da-497f-8ec4-810150e0a9f1n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 16
Message-ID: <eRqCJ.128030$OB3.120740@fx06.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sun, 09 Jan 2022 01:26:34 UTC
Date: Sat, 08 Jan 2022 20:26:34 -0500
X-Received-Bytes: 2161
 by: EricP - Sun, 9 Jan 2022 01:26 UTC

MitchAlsup wrote:
> On Saturday, January 8, 2022 at 7:07:03 PM UTC-6, Quadibloc wrote:
>> On Saturday, January 8, 2022 at 2:37:27 PM UTC-7, MitchAlsup wrote:
>>
>>> This gets back to the concept that the right hand side of a << or >> operator
>>> needs to be unsigned--as certainly a negative number is simply not portable
>>> there. In effect << and >> are mixed type operators.
> <
>> I'd have to say that's questionable, simply because computers using any
>> representation other than two's complement for integers simply haven't
>> existed for the last several decades.
> <
> So, what does (13 << -7) mean ?

VAX says it means (13 >> 7)

Re: RISC-V vs. Aarch64

<69a951c2-8255-4cbd-b9a1-e3418dcb1d19n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22870&group=comp.arch#22870

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:b2c1:: with SMTP id b184mr50254560qkf.53.1641692420373;
Sat, 08 Jan 2022 17:40:20 -0800 (PST)
X-Received: by 2002:a4a:be90:: with SMTP id o16mr42393489oop.28.1641692420170;
Sat, 08 Jan 2022 17:40:20 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 8 Jan 2022 17:40:19 -0800 (PST)
In-Reply-To: <eRqCJ.128030$OB3.120740@fx06.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:18a5:72f4:feb2:f1aa;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:18a5:72f4:feb2:f1aa
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me>
<RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me>
<sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad>
<2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad>
<86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad>
<f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me>
<00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at>
<7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com> <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com>
<4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com> <2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com>
<570acc73-a5da-497f-8ec4-810150e0a9f1n@googlegroups.com> <eRqCJ.128030$OB3.120740@fx06.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <69a951c2-8255-4cbd-b9a1-e3418dcb1d19n@googlegroups.com>
Subject: Re: RISC-V vs. Aarch64
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 09 Jan 2022 01:40:20 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 21
 by: MitchAlsup - Sun, 9 Jan 2022 01:40 UTC

On Saturday, January 8, 2022 at 7:26:37 PM UTC-6, EricP wrote:
> MitchAlsup wrote:
> > On Saturday, January 8, 2022 at 7:07:03 PM UTC-6, Quadibloc wrote:
> >> On Saturday, January 8, 2022 at 2:37:27 PM UTC-7, MitchAlsup wrote:
> >>
> >>> This gets back to the concept that the right hand side of a << or >> operator
> >>> needs to be unsigned--as certainly a negative number is simply not portable
> >>> there. In effect << and >> are mixed type operators.
> > <
> >> I'd have to say that's questionable, simply because computers using any
> >> representation other than two's complement for integers simply haven't
> >> existed for the last several decades.
> > <
> > So, what does (13 << -7) mean ?
<
> VAX says it means (13 >> 7)
<
I happen to be well aware of what VAX said it means.
<
The question is what should a high level language say it means ?
<
And the second question is what should an ISA do when it gets a SL Rd,R13,R-7 ?

Re: RISC-V vs. Aarch64

<2frCJ.111359$zF3.85645@fx03.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22871&group=comp.arch#22871

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx03.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: RISC-V vs. Aarch64
References: <2021Dec24.163843@mips.complang.tuwien.ac.at> <sqkcvk$n97$1@dont-email.me> <RrlzJ.130558$SR4.25229@fx43.iad> <sql2cm$3h7$1@dont-email.me> <sqmsqq$14kp$1@gioia.aioe.org> <VSFzJ.136700$7D4.47834@fx37.iad> <2021Dec31.203710@mips.complang.tuwien.ac.at> <KC_zJ.59028$Ak2.12921@fx20.iad> <86h7agvxun.fsf@linuxsc.com> <M4_BJ.140002$lz3.547@fx34.iad> <f91f3db8-640e-4c10-b0f7-61c7085b70c8n@googlegroups.com> <srag0i$2ed$2@dont-email.me> <00add816-93d7-4763-a68b-33a67db6d770n@googlegroups.com> <2022Jan8.101413@mips.complang.tuwien.ac.at> <7557bf3a-61ce-4500-8cf8-ced2dbed7087n@googlegroups.com> <ad2ee700-b604-4565-9e24-3386580b90c8n@googlegroups.com> <4d2fbc82-af69-4388-bfa5-e3b2be652744n@googlegroups.com> <2e706405-006a-49bb-8e8a-f634d749205en@googlegroups.com> <570acc73-a5da-497f-8ec4-810150e0a9f1n@googlegroups.com> <eRqCJ.128030$OB3.120740@fx06.iad> <69a951c2-8255-4cbd-b9a1-e3418dcb1d19n@googlegroups.com>
In-Reply-To: <69a951c2-8255-4cbd-b9a1-e3418dcb1d19n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 28
Message-ID: <2frCJ.111359$zF3.85645@fx03.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sun, 09 Jan 2022 01:54:06 UTC
Date: Sat, 08 Jan 2022 20:53:57 -0500
X-Received-Bytes: 2667
 by: EricP - Sun, 9 Jan 2022 01:53 UTC

MitchAlsup wrote:
> On Saturday, January 8, 2022 at 7:26:37 PM UTC-6, EricP wrote:
>> MitchAlsup wrote:
>>> On Saturday, January 8, 2022 at 7:07:03 PM UTC-6, Quadibloc wrote:
>>>> On Saturday, January 8, 2022 at 2:37:27 PM UTC-7, MitchAlsup wrote:
>>>>
>>>>> This gets back to the concept that the right hand side of a << or >> operator
>>>>> needs to be unsigned--as certainly a negative number is simply not portable
>>>>> there. In effect << and >> are mixed type operators.
>>> <
>>>> I'd have to say that's questionable, simply because computers using any
>>>> representation other than two's complement for integers simply haven't
>>>> existed for the last several decades.
>>> <
>>> So, what does (13 << -7) mean ?
> <
>> VAX says it means (13 >> 7)
> <
> I happen to be well aware of what VAX said it means.
> <
> The question is what should a high level language say it means ?

What VAX says, of course.

> And the second question is what should an ISA do when it gets a SL Rd,R13,R-7 ?

Have you considered VAX compatibility?

Pages:123456789101112131415
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor