9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@9fans.net
Subject: Re: [9fans] FP register usage in Plan9 assembler
Date: Wed,  3 Feb 2016 08:36:50 -0800	[thread overview]
Message-ID: <0eefaac86e2c4f860132920ff9cb49ed@lilly.quanstro.net> (raw)
In-Reply-To: <CAGGHmKGf4t9ugTuFDTznUZg1puvMxyib76SP5sdGPOG=AiikHg@mail.gmail.com>

> WRT to drawbacks in the loader for writing assembly, one of the
> biggest problems is merciless optimization that cannot be disabled on
> a per translation-unit basis (we're using a loader, remember?) As an
> example, it's damned near impossible to perform PC-relative branching
> in the vector table. Instead you end up having to the slower (and
> sillier) load method that exists today.

profiling can be disabled on a per function basis, so it would be
a small amount of effort confined to the linker to add a per-function
optimization disable. it would not require a change to the asm grammar,
as another bit in the profile-disable field could be used.

can you explain exactly what optimization that is causing trouble, and
do you have timing information on both methods?

> opcodes into the instruction stream. The exynos port relied on it
> heavily since the Cortex-A15 required a bit more special handling than
> the simpler cores in the omap, pi2, and teg2 ports. As you mentioned,

the typical case of adding an opcode is easy.  /n/atom/patch/applied2013/6l8laes
adds 4 opcodes with 7 lines in a table (with a comment and a blank line).
i see the arm refresh patch adds 12 to the analogous file in 5l.

but it also aliases R14 to LC and bubbles that change through (etc), which
may explain the line count.

> 5[al], libmach, even acid were updated. You really can't touch one

i was confused at first by this claim, since acid has not architecture-
dependent code.  but you mean /sys/lib/acid/arm, an acid script.
none of those changes were required by additional instructions.

thanks for the patch, btw!  i have made use of a number of parts of it.

- erik



  reply	other threads:[~2016-02-03 16:36 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-01 16:47 Giacomo Tesio
2016-02-01 22:38 ` Charles Forsyth
2016-02-01 22:44   ` Charles Forsyth
2016-02-01 22:48 ` cinap_lenrek
2016-02-01 23:34   ` Giacomo Tesio
2016-02-02  0:36     ` Charles Forsyth
2016-02-02  0:58       ` Giacomo Tesio
2016-02-02 12:39         ` Aram Hăvărneanu
2016-02-02 16:42 ` Steven Stallion
2016-02-02 17:16   ` lucio
2016-02-03 15:24   ` erik quanstrom
2016-02-03 15:51     ` Steven Stallion
2016-02-03 16:36       ` erik quanstrom [this message]
2016-02-04 10:08     ` Aram Hăvărneanu
2016-02-04 12:04       ` lucio
2016-02-04 15:58         ` Ryan Gonzalez
2016-02-04 16:09           ` lucio
2016-02-04 18:06             ` Ryan Gonzalez
2016-02-04 18:14               ` balaji
2016-02-04 18:28             ` Ryan Gonzalez
2016-02-04 19:31           ` Skip Tavakkolian
2016-02-04 12:24       ` Brantley Coile
2016-02-04 12:53         ` lucio
2016-02-04 14:57           ` erik quanstrom
2016-02-04 14:05         ` Aram Hăvărneanu
2016-02-04 14:10           ` Aram Hăvărneanu
2016-02-04 14:30             ` Aram Hăvărneanu
2016-02-04 15:07         ` Charles Forsyth
2016-02-04 15:16           ` erik quanstrom
2016-02-04 15:11         ` erik quanstrom
2016-02-04 15:22           ` erik quanstrom
2016-02-04 15:26             ` Charles Forsyth
2016-02-04 20:34               ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0eefaac86e2c4f860132920ff9cb49ed@lilly.quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).