Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

"But what we need to know is, do people want nasally-insertable computers?"


devel / comp.sys.acorn.misc / Re: RISC OS 5 (Open) and ARM64

SubjectAuthor
* Re: RISC OS 5 (Open) and ARM64Jonathan Harston
+* Re: RISC OS 5 (Open) and ARM64druck
|`- Re: RISC OS 5 (Open) and ARM64Theo
`* Re: RISC OS 5 (Open) and ARM64David Higton
 `* Re: RISC OS 5 (Open) and ARM64Jonathan Harston
  +- Re: RISC OS 5 (Open) and ARM64druck
  `* Re: RISC OS 5 (Open) and ARM64Richard Porter
   `* Re: RISC OS 5 (Open) and ARM64druck
    `* Re: RISC OS 5 (Open) and ARM64Adrian Crafer
     `* Re: RISC OS 5 (Open) and ARM64druck
      `* Re: RISC OS 5 (Open) and ARM64Adrian Crafer
       `* Re: RISC OS 5 (Open) and ARM64druck
        `- Re: RISC OS 5 (Open) and ARM64Sprow

1
Re: RISC OS 5 (Open) and ARM64

<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1718&group=comp.sys.acorn.misc#1718

  copy link   Newsgroups: comp.sys.acorn.misc
X-Received: by 2002:ac8:4704:: with SMTP id f4mr17162333qtp.186.1621785318701;
Sun, 23 May 2021 08:55:18 -0700 (PDT)
X-Received: by 2002:a05:622a:144b:: with SMTP id v11mr22836481qtx.372.1621785318580;
Sun, 23 May 2021 08:55:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.acorn.misc
Date: Sun, 23 May 2021 08:55:18 -0700 (PDT)
In-Reply-To: <s7h19l$k5c$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=77.96.251.164; posting-account=jgPW4gkAAACE_VxPxIZ8VykZc96-9sT_
NNTP-Posting-Host: 77.96.251.164
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
Subject: Re: RISC OS 5 (Open) and ARM64
From: jgh@mdfs.net (Jonathan Harston)
Injection-Date: Sun, 23 May 2021 15:55:18 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Jonathan Harston - Sun, 23 May 2021 15:55 UTC

On Wednesday, 12 May 2021 at 17:55:18 UTC+1, Joseph Harley wrote:
> On 12/05/2021 12:02, Harriet Bazley wrote:
> > Once you've thrown out conditional execution and all the current
> > operators, in what sense will the '64 bit ARM' chips be ARM at all?
> Exactly, this is one of my many worries - they won't be.

For a personal project I've been digging into the ARM64 instruction
set architecture, and the more I dig the more I keep thinking "good
god, who designed this mess?" It strikes me as a classic "second
system" effect. We've done the first version, that was good, it was
lean and mean due to design contraints, now we're unconstrained,
lets update it and throw everything in that we can think of, destroying
it in the process.

Even just ploughing through the documentation to figure out all the
different versions of "LD" has taken several days. I'm not talking
address modes, I'm talking LOAD instructions. LDR, LDRB, LDRH,
LDRSB, LDSW, LDUR, LDURB, LDRH, LDURSB, LDURSW, LDURSH, LDRAA, LDRAB, LDRSH, LDOPSW, LDO, LDNP, LDURSG
all scattered across 8000 pages of documentation.

Re: RISC OS 5 (Open) and ARM64

<s8fndl$3mn$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1719&group=comp.sys.acorn.misc#1719

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: news@druck.org.uk (druck)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: Mon, 24 May 2021 09:16:52 +0100
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <s8fndl$3mn$1@dont-email.me>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 24 May 2021 08:16:53 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="59a19f363a70a0d286ca9be062b3e16b";
logging-data="3799"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Vw6SuXdDZH8+ET+cswrLd"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.8.1
Cancel-Lock: sha1:2/GWBQ92yajdkI5ol4amJjtxPqI=
In-Reply-To: <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
Content-Language: en-GB
 by: druck - Mon, 24 May 2021 08:16 UTC

On 23/05/2021 16:55, Jonathan Harston wrote:
> For a personal project I've been digging into the ARM64 instruction
> set architecture, and the more I dig the more I keep thinking "good
> god, who designed this mess?" It strikes me as a classic "second
> system" effect. We've done the first version, that was good, it was
> lean and mean due to design contraints, now we're unconstrained, lets
> update it and throw everything in that we can think of, destroying it
> in the process.

The difference is aarch32 was hand crafted by Sophie to be nice for
assembler programmers to use. Aarch64 doesn't give a stuff about
people writing assembler, it's designed using statical analysis of what
instructions are of most benefit to compilers.

> Even just ploughing through the documentation to figure out all the
> different versions of "LD" has taken several days. I'm not talking
> address modes, I'm talking LOAD instructions. LDR, LDRB, LDRH, LDRSB,
> LDSW, LDUR, LDURB, LDRH, LDURSB, LDURSW, LDURSH, LDRAA, LDRAB, LDRSH,
> LDOPSW, LDO, LDNP, LDURSG all scattered across 8000 pages of
> documentation.

If you are not writing a compiler or boot loader, its not aimed at you.

---druck

Re: RISC OS 5 (Open) and ARM64

<Hyz*2LUky@news.chiark.greenend.org.uk>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1720&group=comp.sys.acorn.misc#1720

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!news.nntp4.net!nntp.terraraq.uk!nntp-feed.chiark.greenend.org.uk!ewrotcd!.POSTED!not-for-mail
From: theom+news@chiark.greenend.org.uk (Theo)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: 24 May 2021 14:10:49 +0100 (BST)
Organization: University of Cambridge, England
Lines: 16
Message-ID: <Hyz*2LUky@news.chiark.greenend.org.uk>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk> <53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me> <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com> <s8fndl$3mn$1@dont-email.me>
NNTP-Posting-Host: chiark.greenend.org.uk
X-Trace: chiark.greenend.org.uk 1621861851 29511 212.13.197.229 (24 May 2021 13:10:51 GMT)
X-Complaints-To: abuse@chiark.greenend.org.uk
NNTP-Posting-Date: Mon, 24 May 2021 13:10:51 +0000 (UTC)
User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (Linux/3.16.0-7-amd64 (x86_64))
Originator: theom@chiark.greenend.org.uk ([212.13.197.229])
 by: Theo - Mon, 24 May 2021 13:10 UTC

druck <news@druck.org.uk> wrote:
> The difference is aarch32 was hand crafted by Sophie to be nice for
> assembler programmers to use. Aarch64 doesn't give a stuff about
> people writing assembler, it's designed using statical analysis of what
> instructions are of most benefit to compilers.

It's also designed to make it easier to build faster processors.
Performance being what most people care about at the end of the day, not
cleanliness of the instruction set.

It just so happened that ARM2 was fast because it was small (and the
instruction set to match) as that suited the manufacturing technology of the
time. Nowadays the manufacturing is different - small CPUs are slow and the
fastest CPUs are definitely not small.

Theo

Re: RISC OS 5 (Open) and ARM64

<df30b03159.DaveMeUK@BeagleBoard-xM>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1721&group=comp.sys.acorn.misc#1721

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: dave@davehigton.me.uk (David Higton)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: Mon, 24 May 2021 15:59:57 +0100
Organization: Home
Lines: 20
Message-ID: <df30b03159.DaveMeUK@BeagleBoard-xM>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk> <53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="fca3c29bb6e1d7fea8fda1e497cc2235";
logging-data="31034"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19FtEj/GO+JfptWZWyXJDItcd4+3t1CyYY="
User-Agent: Messenger-Pro/8.03 (MsgServe/8.01) (RISC-OS/5.29) NewsHound/v1.54
Cancel-Lock: sha1:UfBr4DL7Y88M2dDrK6Ogn2ohgxo=
 by: David Higton - Mon, 24 May 2021 14:59 UTC

In message <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
Jonathan Harston <jgh@mdfs.net> wrote:

> For a personal project I've been digging into the ARM64 instruction set
> architecture, and the more I dig the more I keep thinking "good god, who
> designed this mess?" It strikes me as a classic "second system" effect.
> We've done the first version, that was good, it was lean and mean due to
> design contraints, now we're unconstrained, lets update it and throw
> everything in that we can think of, destroying it in the process.
>
> Even just ploughing through the documentation to figure out all the
> different versions of "LD" has taken several days. I'm not talking address
> modes, I'm talking LOAD instructions. LDR, LDRB, LDRH, LDRSB, LDSW, LDUR,
> LDURB, LDRH, LDURSB, LDURSW, LDURSH, LDRAA, LDRAB, LDRSH, LDOPSW, LDO,
> LDNP, LDURSG all scattered across 8000 pages of documentation.

As I've been saying in the ROOL fora for some time now, it's another
reason to write in a higher level language.

David

Re: RISC OS 5 (Open) and ARM64

<b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1736&group=comp.sys.acorn.misc#1736

  copy link   Newsgroups: comp.sys.acorn.misc
X-Received: by 2002:a37:a703:: with SMTP id q3mr1464145qke.269.1623271248617; Wed, 09 Jun 2021 13:40:48 -0700 (PDT)
X-Received: by 2002:a05:620a:1443:: with SMTP id i3mr1441581qkl.193.1623271248418; Wed, 09 Jun 2021 13:40:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.swapon.de!news.uzoreto.com!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.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.sys.acorn.misc
Date: Wed, 9 Jun 2021 13:40:48 -0700 (PDT)
In-Reply-To: <df30b03159.DaveMeUK@BeagleBoard-xM>
Injection-Info: google-groups.googlegroups.com; posting-host=77.96.251.164; posting-account=jgPW4gkAAACE_VxPxIZ8VykZc96-9sT_
NNTP-Posting-Host: 77.96.251.164
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk> <53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me> <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com> <df30b03159.DaveMeUK@BeagleBoard-xM>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
Subject: Re: RISC OS 5 (Open) and ARM64
From: jgh@mdfs.net (Jonathan Harston)
Injection-Date: Wed, 09 Jun 2021 20:40:48 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 14
 by: Jonathan Harston - Wed, 9 Jun 2021 20:40 UTC

On Monday, 24 May 2021 at 16:00:24 UTC+1, David Higton wrote:
> As I've been saying in the ROOL fora for some time now, it's another
> reason to write in a higher level language.
> David

But at some point that higher-level language still needs to be translated
to machine code.

"No it doesn't, let the compiler do that"

Yes, but the compiler still needs to be written by *somebody*. *Something*
needs to translate a=2 into MOV r0,#2 and some human being somewhere
needs to create that something.

jgh

Re: RISC OS 5 (Open) and ARM64

<sa0fuk$e59$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1737&group=comp.sys.acorn.misc#1737

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: news@druck.org.uk (druck)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: Fri, 11 Jun 2021 21:09:55 +0100
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <sa0fuk$e59$1@dont-email.me>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
<df30b03159.DaveMeUK@BeagleBoard-xM>
<b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 11 Jun 2021 20:09:56 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="9647a5a0104ec6e0f4ccd36a4e9891b7";
logging-data="14505"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+AlZki9C9BZOtA0wNMe4Gg"
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:AuWvutgQJfWgu1L/WHYJX9WZzIE=
In-Reply-To: <b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
X-Antivirus-Status: Clean
Content-Language: en-GB
X-Antivirus: Avast (VPS 210611-4, 11/06/2021), Outbound message
 by: druck - Fri, 11 Jun 2021 20:09 UTC

On 09/06/2021 21:40, Jonathan Harston wrote:
> On Monday, 24 May 2021 at 16:00:24 UTC+1, David Higton wrote:
>> As I've been saying in the ROOL fora for some time now, it's another
>> reason to write in a higher level language.
>> David
>
> But at some point that higher-level language still needs to be translated
> to machine code.
>
> "No it doesn't, let the compiler do that"
>
> Yes, but the compiler still needs to be written by *somebody*. *Something*
> needs to translate a=2 into MOV r0,#2 and some human being somewhere
> needs to create that something.

Compilers such as LLVM are written in C++ and the backend specific to a
processor architecture is a series of classes describing its registers
and instructions. It could not be more different to writing programs in
assembler.

---druck

Re: RISC OS 5 (Open) and ARM64

<99dbcc4a59.news@user.minijem.plus.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1771&group=comp.sys.acorn.misc#1771

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!rocksolid2!i2pn.org!weretis.net!feeder8.news.weretis.net!ecngs!feeder2.ecngs.de!178.20.174.213.MISMATCH!feeder1.feed.usenet.farm!feed.usenet.farm!border1.nntp.ams1.giganews.com!nntp.giganews.com!buffer1.nntp.ams1.giganews.com!nntp.brightview.co.uk!news.brightview.co.uk.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 12 Jul 2021 04:19:10 -0500
Subject: Re: RISC OS 5 (Open) and ARM64
Newsgroups: comp.sys.acorn.misc
From: ricp@minijem.plus.com (Richard Porter)
X-Editor: EmailEdit 2.03
Date: Mon, 12 Jul 2021 10:18:08 +0100
Message-ID: <99dbcc4a59.news@user.minijem.plus.com>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk> <53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me> <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com> <df30b03159.DaveMeUK@BeagleBoard-xM> <b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
User-Agent: Messenger-Pro/8.04 (MsgServe/8.01) (RISC-OS/5.29) NewsHound/v1.52-32
Lines: 22
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-OTMqtWBDfAyShHB5ZfvpNk06zl2lUavwdaX4/gM/RcEpmqe2PwxvpUziMAQ72wI3+dCdwM+w7FPHLhk!6AOp0obCvKqy8CuUB+9wVcNlCp2t6ipS94J4WRQskgwmGTbDItgyHozq48GsleqlEn2+WBW2gaRN!ZjXrPDKzAcA=
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2024
 by: Richard Porter - Mon, 12 Jul 2021 09:18 UTC

The date being 9 Jun 2021, Jonathan Harston <jgh@mdfs.net> decided to
write:

> But at some point that higher-level language still needs to be translated
> to machine code.

> "No it doesn't, let the compiler do that"

> Yes, but the compiler still needs to be written by *somebody*. *Something*
> needs to translate a=2 into MOV r0,#2 and some human being somewhere
> needs to create that something.

MOV r0,#2 is a symbolic assembler instruction, not machine code, although
there is generally a 1:1 correspondence. It has to be translated into
machine code by the assembler. Of course a compiler could and probably
would go all the way to machine code.

Yes, somebody does have to write the compiler, so it's inevitably less
efficient than assembler code but more portable, one would hope.

--
Richard

Re: RISC OS 5 (Open) and ARM64

<schscc$u3l$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1772&group=comp.sys.acorn.misc#1772

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: news@druck.org.uk (druck)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: Mon, 12 Jul 2021 17:58:51 +0100
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <schscc$u3l$1@dont-email.me>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
<df30b03159.DaveMeUK@BeagleBoard-xM>
<b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
<99dbcc4a59.news@user.minijem.plus.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 12 Jul 2021 16:58:52 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="a6043a47793250c6f5da1a1ac108d7a9";
logging-data="30837"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+hgVb/jX/PhnfG7MpbenPd"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:i5Yfacm1QZONhNMrTtMA8ya32XU=
In-Reply-To: <99dbcc4a59.news@user.minijem.plus.com>
Content-Language: en-GB
 by: druck - Mon, 12 Jul 2021 16:58 UTC

On 12/07/2021 10:18, Richard Porter wrote:
> Yes, somebody does have to write the compiler, so it's inevitably less
> efficient than assembler code but more portable, one would hope.

There are two parts of a compiler, the front end which interprets the
human readable language, optimises it and produces an intermediate
representation, then the backend which is specific to a processor
architecture and converts that to native instructions.

I'll completely ignore whether the front end can produce better
optimised code than a human, as the original question was how new
instructions are added to the compiler backend.

With a simple CPU like the 6502 and ARM2, a human could do much better
than a contemporary compiler backend, being able to work out clever
tricks and shortcuts. But compilers have improved considerably and CPUs
have become far more complex. With ARMv7 and ARMv8 chips, a human is
hard pushed to remember all the instructions (integer, VFP, neon and
other special purpose instructions), never mind huge number of
constraints which affect the most efficient use of a superscalar pipeline.

Where as a compiler backend can be given information on thousands of
instructions and constraints, and work out which is the most optimal
combination is almost every circumstance. Even if a human could match
that, it would be diabolical waste of their time to attempt it.

---druck

Re: RISC OS 5 (Open) and ARM64

<579d9e4f59.bz36@orpheusnet.co.uk>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1790&group=comp.sys.acorn.misc#1790

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!nntp.orpheusnet.co.uk!news.orpheusnet.co.uk.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 21 Jul 2021 12:54:25 -0500
Subject: Re: RISC OS 5 (Open) and ARM64
Newsgroups: comp.sys.acorn.misc
From: acrafer@orpheusmail.co.uk (Adrian Crafer)
X-Editor: EmailEdit 2.03
Date: Wed, 21 Jul 2021 18:54:03 +0100
Message-ID: <579d9e4f59.bz36@orpheusnet.co.uk>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk> <53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me> <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com> <df30b03159.DaveMeUK@BeagleBoard-xM> <b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com> <99dbcc4a59.news@user.minijem.plus.com> <schscc$u3l$1@dont-email.me>
User-Agent: Messenger-Pro/8.04 (MsgServe/8.04S) (RISC-OS/5.29) NewsHound/v1.52-32
Organization: Orpheus Internet Services
Cache-Post-Path: slave.orpheusnet.co.uk!unknown@91.85.215.11
X-Cache: nntpcache 3.0.2 (see http://www.nntpcache.com/)
Lines: 44
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-0n3jcQ8/ue0nRTg8XYAMbyuzxP2hzcJyNfATNaoj9TnM/3ZyF5nrRVZFlEE2bJ1p6dQ1EVBRqGTnVwz!gQDqBVxxq+wUMvT4Qr813lQjyX2tlmr52xwHPcNwPTwF3SDdpnA4Cbp+hPmNqrGXJomb2AQN/5Xi
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 3423
 by: Adrian Crafer - Wed, 21 Jul 2021 17:54 UTC

In message <schscc$u3l$1@dont-email.me>
druck <news@druck.org.uk> wrote:

> On 12/07/2021 10:18, Richard Porter wrote:
>> Yes, somebody does have to write the compiler, so it's inevitably less
>> efficient than assembler code but more portable, one would hope.

> There are two parts of a compiler, the front end which interprets the
> human readable language, optimises it and produces an intermediate
> representation, then the backend which is specific to a processor
> architecture and converts that to native instructions.

> I'll completely ignore whether the front end can produce better
> optimised code than a human, as the original question was how new
> instructions are added to the compiler backend.

> With a simple CPU like the 6502 and ARM2, a human could do much better
> than a contemporary compiler backend, being able to work out clever
> tricks and shortcuts. But compilers have improved considerably and CPUs
> have become far more complex. With ARMv7 and ARMv8 chips, a human is
> hard pushed to remember all the instructions (integer, VFP, neon and
> other special purpose instructions), never mind huge number of
> constraints which affect the most efficient use of a superscalar pipeline.

> Where as a compiler backend can be given information on thousands of
> instructions and constraints, and work out which is the most optimal
> combination is almost every circumstance. Even if a human could match
> that, it would be diabolical waste of their time to attempt it.

> ---druck

You say the back end to the compiler is specific to the processor, does
that mean that the code that is applied to the back end could come from
any compiler front end, meaning that a front end would "only" have to be
written for Risc Os, and it could in turn use a suitable Linux back end or
for that matter if you could get hold of it a Windows 11 back end, or have
I totally misunderstood what is meant.

Adrian

--

acrafer@orpheusmail.co.uk

Re: RISC OS 5 (Open) and ARM64

<sd9v88$pt8$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1791&group=comp.sys.acorn.misc#1791

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: news@druck.org.uk (druck)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: Wed, 21 Jul 2021 21:15:02 +0100
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <sd9v88$pt8$1@dont-email.me>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
<df30b03159.DaveMeUK@BeagleBoard-xM>
<b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
<99dbcc4a59.news@user.minijem.plus.com> <schscc$u3l$1@dont-email.me>
<579d9e4f59.bz36@orpheusnet.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 21 Jul 2021 20:15:04 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="73e746e267b1c3814e66dddbc3ddd580";
logging-data="26536"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197vXEbK4cR3j3dzMvekcd5"
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.12.0
Cancel-Lock: sha1:QMFlCDkEuV30fGB566hHD1uWAEo=
In-Reply-To: <579d9e4f59.bz36@orpheusnet.co.uk>
X-Antivirus-Status: Clean
Content-Language: en-GB
X-Antivirus: Avast (VPS 210721-14, 21/7/2021), Outbound message
 by: druck - Wed, 21 Jul 2021 20:15 UTC

On 21/07/2021 18:54, Adrian Crafer wrote:
> You say the back end to the compiler is specific to the processor, does
> that mean that the code that is applied to the back end could come from
> any compiler front end, meaning that a front end would "only" have to be
> written for Risc Os, and it could in turn use a suitable Linux back end or
> for that matter if you could get hold of it a Windows 11 back end, or have
> I totally misunderstood what is meant.

A compiler suite can have different front ends for different languages,
and back ends for different processors. GNU supports front ends for C,
C++, Objective-C Fortran, Ada and Java. LLVM has front ends for Ada, C,
C++, D, Delphi, Fortran, Haskell, Julia, Objective-C, Rust, and Swift.

You don't need a front end for RISC OS, unless you want one to compile
BBC BASIC. Any of the front ends can be ported to RISC OS, and libraries
such as UnixLib takes care of most of the pathname / file extension
differences under RISC OS.

---druck

Re: RISC OS 5 (Open) and ARM64

<c021065259.bz36@orpheusnet.co.uk>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1792&group=comp.sys.acorn.misc#1792

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!buffer2.nntp.dca1.giganews.com!nntp.orpheusnet.co.uk!news.orpheusnet.co.uk.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 26 Jul 2021 04:57:16 -0500
Subject: Re: RISC OS 5 (Open) and ARM64
Newsgroups: comp.sys.acorn.misc
From: acrafer@orpheusmail.co.uk (Adrian Crafer)
X-Editor: EmailEdit 2.03
Date: Mon, 26 Jul 2021 10:57:09 +0100
Message-ID: <c021065259.bz36@orpheusnet.co.uk>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk> <53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me> <1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com> <df30b03159.DaveMeUK@BeagleBoard-xM> <b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com> <99dbcc4a59.news@user.minijem.plus.com> <schscc$u3l$1@dont-email.me> <579d9e4f59.bz36@orpheusnet.co.uk> <sd9v88$pt8$1@dont-email.me>
User-Agent: Messenger-Pro/8.04 (MsgServe/8.04S) (RISC-OS/5.29) NewsHound/v1.52-32
Organization: Orpheus Internet Services
Cache-Post-Path: slave.orpheusnet.co.uk!unknown@91.85.215.11
X-Cache: nntpcache 3.0.2 (see http://www.nntpcache.com/)
Lines: 32
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-eEvTb4ztTmqpyPCrtk4GhY+jE6+7GLXS0efEu45tdRbKyS9ogKQz3C8rAvHtbEuFW5FAgMrDhP3ygwo!HM7ngsNILe6AkNkpPyBjAQungdw/b+l8CX+VwWdP57U63CUqC1y2Srz9JbciSTFp5navnxrs0caM
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2797
 by: Adrian Crafer - Mon, 26 Jul 2021 09:57 UTC

In message <sd9v88$pt8$1@dont-email.me>
druck <news@druck.org.uk> wrote:

> On 21/07/2021 18:54, Adrian Crafer wrote:
>> You say the back end to the compiler is specific to the processor, does
>> that mean that the code that is applied to the back end could come from
>> any compiler front end, meaning that a front end would "only" have to be
>> written for Risc Os, and it could in turn use a suitable Linux back end or
>> for that matter if you could get hold of it a Windows 11 back end, or have
>> I totally misunderstood what is meant.

> A compiler suite can have different front ends for different languages,
> and back ends for different processors. GNU supports front ends for C,
> C++, Objective-C Fortran, Ada and Java. LLVM has front ends for Ada, C,
> C++, D, Delphi, Fortran, Haskell, Julia, Objective-C, Rust, and Swift.

> You don't need a front end for RISC OS, unless you want one to compile
> BBC BASIC. Any of the front ends can be ported to RISC OS, and libraries
> such as UnixLib takes care of most of the pathname / file extension
> differences under RISC OS.

> ---druck

Slightly confused I thought it was said in this discussion that a 64 bit
Compiler was required to generate a 64 bit version of RISC OS.

Adrian Crafer

--

acrafer@orpheusmail.co.uk

Re: RISC OS 5 (Open) and ARM64

<sdpph2$mic$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1794&group=comp.sys.acorn.misc#1794

  copy link   Newsgroups: comp.sys.acorn.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: news@druck.org.uk (druck)
Newsgroups: comp.sys.acorn.misc
Subject: Re: RISC OS 5 (Open) and ARM64
Date: Tue, 27 Jul 2021 21:15:28 +0100
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <sdpph2$mic$1@dont-email.me>
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com>
<df30b03159.DaveMeUK@BeagleBoard-xM>
<b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com>
<99dbcc4a59.news@user.minijem.plus.com> <schscc$u3l$1@dont-email.me>
<579d9e4f59.bz36@orpheusnet.co.uk> <sd9v88$pt8$1@dont-email.me>
<c021065259.bz36@orpheusnet.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 27 Jul 2021 20:15:30 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="866b6245a4ff9b7c97f985038309c822";
logging-data="23116"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+0+ToyytGgzRWikQOmkjJw"
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.12.0
Cancel-Lock: sha1:EyXCga4/HKjLPX88DL5ridDZL9M=
In-Reply-To: <c021065259.bz36@orpheusnet.co.uk>
X-Antivirus-Status: Clean
Content-Language: en-GB
X-Antivirus: Avast (VPS 210727-8, 27/7/2021), Outbound message
 by: druck - Tue, 27 Jul 2021 20:15 UTC

On 26/07/2021 10:57, Adrian Crafer wrote:
> Slightly confused I thought it was said in this discussion that a 64 bit
> Compiler was required to generate a 64 bit version of RISC OS.

It is, see the previous messages on how compilers work.

The problem for RISC OS isn't the lack of a 64 bit compiler, it's not
even the large amount of 32 bit assembler which is still in the OS. It's
problem of redesigning every API for 64 bits, which is obviously not
going to be compatible with existing applications, even BASIC ones.

But as this will break things, it's also the last chance to drag RISC OS
kicking and screaming in to the modern world, i.e. being able to make
use of multiple cores, and protection against insipid crashiness.

You've then got to pray that there are still developers around to make
enough applications run natively on the new 64 bit OS, or you'll just be
emulating 26/32 bit RISC OS forever more.

---druck

Re: RISC OS 5 (Open) and ARM64

<c208cd98-a5c9-45ef-bed4-583eba302e61n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1795&group=comp.sys.acorn.misc#1795

  copy link   Newsgroups: comp.sys.acorn.misc
X-Received: by 2002:a05:620a:101a:: with SMTP id z26mr26305908qkj.261.1627458681588;
Wed, 28 Jul 2021 00:51:21 -0700 (PDT)
X-Received: by 2002:a37:6143:: with SMTP id v64mr26010565qkb.419.1627458681404;
Wed, 28 Jul 2021 00:51:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.niel.me!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.acorn.misc
Date: Wed, 28 Jul 2021 00:51:21 -0700 (PDT)
In-Reply-To: <sdpph2$mic$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=91.85.45.13; posting-account=9eZ2eAkAAAC9rw6FatUdLCvE_krF0ksY
NNTP-Posting-Host: 91.85.45.13
References: <s7d8f4$lc4$1@dont-email.me> <592add131aNews03@avisoft.f9.co.uk>
<53626c2b59.harriet@bazleyfamily.co.uk> <s7h19l$k5c$1@dont-email.me>
<1fd81c3d-f812-4bd8-b9bb-3c6912ed2b57n@googlegroups.com> <df30b03159.DaveMeUK@BeagleBoard-xM>
<b5cc501b-a2fb-44e2-8504-30d876c0dbfcn@googlegroups.com> <99dbcc4a59.news@user.minijem.plus.com>
<schscc$u3l$1@dont-email.me> <579d9e4f59.bz36@orpheusnet.co.uk>
<sd9v88$pt8$1@dont-email.me> <c021065259.bz36@orpheusnet.co.uk> <sdpph2$mic$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c208cd98-a5c9-45ef-bed4-583eba302e61n@googlegroups.com>
Subject: Re: RISC OS 5 (Open) and ARM64
From: news@sprow.co.uk (Sprow)
Injection-Date: Wed, 28 Jul 2021 07:51:21 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Sprow - Wed, 28 Jul 2021 07:51 UTC

On Tuesday, July 27, 2021 at 9:15:31 PM UTC+1, druck wrote:
> The problem for RISC OS isn't the lack of a 64 bit compiler, it's not
> even the large amount of 32 bit assembler which is still in the OS. It's
> problem of redesigning every API for 64 bits, which is obviously not
> going to be compatible with existing applications, even BASIC ones.

On a cursory survey of all the SWIs in RISC OS 5, it's not /that/ bad
https://www.riscosopen.org/wiki/documentation/show/Addressing%20the%20end-of-life%20of%20AArch32

So (picking one not flagged as needing attention) in BASIC on AArch32 I might write
DIM block% 4
SYS"IIC_Control",chip%,block%,4

in a 64 bit world
DIM block% 4
SYS"IIC_Control",chip%,block%,4

which works because we've defined SWIs in terms of registers passed, except on AArch64 the registers are now 64 bit so can pass 64 bit pointers.
There's a lot more iceberg under the water of course, but I don't count fixing up a few APIs as where most of the ice is,
Sprow.


devel / comp.sys.acorn.misc / Re: RISC OS 5 (Open) and ARM64

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor