[Libre-soc-dev] Attempt to run baselines: error

Lauri Kasanen cand at gmx.com
Tue May 25 06:35:32 BST 2021

On Mon, 24 May 2021 17:40:10 +0100
Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote:

> are there actual misaligned memory LD/STs in the original? 64
> bit LDs crossing two 64 bit words?


> Lauri this ends happily with some "stuff" at this address:

Probably, won't know if it's correct until we can both load and save
data. Save after the run is still missing I believe.

> note i added "attn" at the end of the blr.  i'll commit the Makefile but
> i'll leave the assembly code to you?

I would much prefer the simulator be changed. There may be multiple
exits, early exits, etc. This allows the code to be proper, and
reusable without changes in the later codec code.

I propose: simulator sets LR to a magic constant on startup. blr checks
for that to exit. 0xf4751f1ab73; (falsifiable) may be a good one, since
it's both non-4 and non-2 aligned, as well as larger than 32-bit.

> also, we could, hmmm, probably do with running this exact
> same test under qemu, at this early point, to get a comparative
> memdump / GPR / FPR dump.  otherwise there could be subtle
> errors creeping in.

I don't have the qemu setup, but if you want, you can do so.

> unless you have unit tests (running the code compiled as
> its actual original c?) where we can take a look at the
> expected results?

We do have those. Check the data dirs. There's standalone C and a set
of data files that passes on x86.

This being float, there's some chance x86 rounds different to ppc and
there may be 1-bit differences, but that's to be determined.

- Lauri

More information about the Libre-soc-dev mailing list