From: "Bruce Ellis" <bruce.ellis@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] speaking of kenc
Date: Fri, 4 May 2007 16:53:56 +1000 [thread overview]
Message-ID: <775b8d190705032353u1bdf4528ve2e6ec3277017506@mail.gmail.com> (raw)
In-Reply-To: <20070503192201.A22416@orthanc.ca>
isn't it bleeding obvious by now that asm is dumb.
a function call into something in a *.s file will do.
you'll find a few entry points in your fave l.s.
can i say dumb-asm on this list?
i saw an attempt of ill-informed cleverness where spl() etc
were picked up by the compiler and inlined.
i guess he had nothing else to do with his life.
maybe a 0.02% speedup.
brucee
On 5/4/07, Lyndon Nerenberg <lyndon@orthanc.ca> wrote:
> >> That's called as(1).
> >
> > On any architecture with a non-trivial register allocation, the above
> > statement does not apply.
> > As far as performance goes you might be better off not using assembler
> > to begin with.
>
> Exactly. If you want asm, you know where to find it. These days, the
> cases where raw assembler really matters are significant enough that a few
> in-lines generally don't accomplish anything. Yes, you can pollute your C
> code with __asm(), but I could also argue for _f77() so that I could
> compile spice (or more importantly, dungeon) with cc. Where does it end?
>
> > Compilers (at least the ones I work on) are quite smart
> > in how they use precious resource such as registers, and unless you
> > can hide everything away on the other side of the 'call' op you'd
> > be in trouble mixing your code with what compiler had generated for
> > you.
>
> Sure, the compiler can assist with register allocation, but so can reading
> the ABI documentation. Once upon a time I spent way too much of my life
> optimizing MIPS cycles out of the distributed.net client instead of
> drinking beer. After watching the compilers blow away almost all of the
> machine code optimizations people proposed, I filed great chunks of
> in-lined cruft in the bin. The only asm code that mattered was the
> carefully tuned *long* unrolled loop bit-shifting stuff. And it had an
> execution time that made the call overhead invisible.
>
> > GCC style asm in-lines play nice with things like register
> > allocator and instruction scheduler, where .s files don't.
>
> Only in the cases where asm code doesn't provide enough benefit to be
> worthwhile.
>
> > What's 3B3 and ESS#5 ? ;-)
>
> A reasonable telephone switch billing system, and the worlds worst
> multi-user UNIX timeshare box. Perhaps not in that order. (Or maybe it
> *is* the right order.)
>
>
> --lyndon
>
> In God we Trust -- all others must submit an X.509 certificate.
> -- Charles Forsythe
>
next prev parent reply other threads:[~2007-05-04 6:53 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-27 3:08 erik quanstrom
2007-04-27 3:44 ` David Leimbach
2007-04-27 4:56 ` Bruce Ellis
2007-04-27 6:21 ` Skip Tavakkolian
2007-04-27 4:54 ` Joel C. Salomon
2007-04-27 4:58 ` Bruce Ellis
2007-04-27 11:00 ` Charles Forsyth
2007-04-27 13:49 ` David Leimbach
2007-04-27 16:23 ` Douglas A. Gwyn
2007-04-29 2:02 ` erik quanstrom
2007-04-29 2:55 ` Tim Wiess
2007-04-29 6:42 ` Uriel
2007-04-29 20:47 ` Charles Forsyth
2007-04-30 8:29 ` Douglas A. Gwyn
2007-04-30 13:08 ` Uriel
2007-05-01 0:22 ` erik quanstrom
2007-05-01 14:45 ` Jon Snader
2007-05-01 14:56 ` Devon H. O'Dell
2007-05-01 15:12 ` erik quanstrom
2007-05-01 15:29 ` Devon H. O'Dell
2007-05-01 21:32 ` Jon Snader
2007-05-02 0:04 ` Derek Fawcus
2007-05-02 8:44 ` Charles Forsyth
2007-05-01 15:51 ` Anthony Sorace
2007-05-02 8:32 ` Douglas A. Gwyn
2007-05-02 9:00 ` Steve Simon
2007-05-03 1:32 ` David Arnold
2007-05-03 3:39 ` Adrian Tritschler
2007-05-03 3:57 ` Paul Lalonde
2007-05-03 4:11 ` Federico Benavento
2007-05-03 13:34 ` Anthony Sorace
2007-05-03 22:04 ` LiteStar numnums
2007-05-04 1:45 ` Roman Shaposhnick
2007-05-04 1:51 ` Lyndon Nerenberg
2007-05-04 2:00 ` erik quanstrom
2007-05-04 2:08 ` Roman Shaposhnick
2007-05-04 2:12 ` Lyndon Nerenberg
2007-05-04 2:20 ` Roman Shaposhnick
2007-05-04 2:35 ` Lyndon Nerenberg
2007-05-04 6:53 ` Bruce Ellis [this message]
2007-05-05 4:49 ` Roman Shaposhnick
2007-05-05 5:11 ` Roman Shaposhnick
2007-05-05 5:14 ` Bruce Ellis
2007-05-05 18:52 ` erik quanstrom
2007-05-05 19:13 ` lucio
2007-05-05 23:09 ` Bruce Ellis
2007-05-06 1:24 ` Rogelio Serrano
2007-05-06 4:08 ` erik quanstrom
2007-05-06 4:53 ` W B Hacker
2007-05-06 5:01 ` lucio
2007-05-06 5:01 ` Rogelio Serrano
2007-05-06 5:07 ` Rogelio Serrano
2007-05-06 5:15 ` lucio
2007-05-06 5:37 ` Bruce Ellis
2007-05-06 6:30 ` Rogelio Serrano
2007-05-06 6:46 ` lucio
2007-05-06 6:49 ` lucio
2007-05-06 7:35 ` Rogelio Serrano
2007-05-06 6:51 ` W B Hacker
2007-05-06 10:25 ` Rogelio Serrano
2007-05-06 6:04 ` Skip Tavakkolian
2007-05-06 7:24 ` lucio
2007-05-06 11:47 ` Bruce Ellis
2007-05-07 1:55 ` Roman Shaposhnik
2007-05-06 5:12 ` lucio
2007-05-06 13:18 ` Richard Miller
2007-05-06 20:23 ` Roman Shaposhnik
2007-05-07 1:57 ` Roman Shaposhnik
2007-05-07 4:29 ` W B Hacker
2007-05-07 15:08 ` Tim Wiess
2007-05-06 5:15 ` W B Hacker
2007-05-06 7:43 ` Rogelio Serrano
2007-05-06 8:02 ` W B Hacker
2007-05-06 8:12 ` Rogelio Serrano
2007-05-06 9:00 ` W B Hacker
2007-05-06 8:03 ` lucio
2007-05-06 8:42 ` Rogelio Serrano
2007-05-06 10:20 ` matt
2007-05-06 10:29 ` Rogelio Serrano
2007-05-06 9:09 ` W B Hacker
2007-05-06 5:10 ` W B Hacker
2007-05-06 5:32 ` lucio
2007-05-06 6:18 ` Rogelio Serrano
2007-05-06 6:30 ` W B Hacker
2007-05-06 6:21 ` W B Hacker
2007-05-07 1:47 ` Roman Shaposhnik
2007-05-06 1:13 ` Rogelio Serrano
2007-05-06 3:31 ` W B Hacker
2007-05-06 4:10 ` erik quanstrom
2007-05-06 4:55 ` Rogelio Serrano
2007-05-06 5:10 ` lucio
2007-05-06 6:05 ` W B Hacker
2007-05-06 8:45 ` matt
2007-05-06 6:45 ` Rogelio Serrano
2007-05-06 6:52 ` lucio
2007-05-06 7:09 ` W B Hacker
2007-05-06 7:34 ` Rogelio Serrano
2007-05-06 7:49 ` W B Hacker
2007-05-06 7:54 ` lucio
2007-05-06 8:35 ` Rogelio Serrano
2007-05-06 7:40 ` lucio
2007-05-06 8:59 ` W B Hacker
2007-05-06 7:03 ` W B Hacker
2007-05-06 5:21 ` Bruce Ellis
2007-05-06 7:01 ` Rogelio Serrano
2007-05-05 5:30 ` lucio
2007-05-04 2:16 ` erik quanstrom
2007-05-04 9:24 ` C H Forsyth
2007-05-04 11:18 ` erik quanstrom
2007-05-04 16:19 ` Paul Lalonde
2007-05-04 21:58 ` Dave Eckhardt
2007-05-04 22:27 ` Paul Lalonde
2007-05-04 8:46 ` Douglas A. Gwyn
2007-05-05 4:47 ` Roman Shaposhnick
2007-05-02 8:33 ` Douglas A. Gwyn
2007-05-02 11:25 ` Jon Snader
2007-05-02 8:33 ` Douglas A. Gwyn
2007-05-02 11:30 ` erik quanstrom
2007-04-27 16:21 ` Douglas A. Gwyn
2007-04-27 11:12 ` Charles Forsyth
2007-04-27 11:46 ` erik quanstrom
2007-04-27 14:21 ` Joel C. Salomon
2007-04-27 14:26 ` erik quanstrom
2007-04-27 14:41 ` Rob Pike
2007-04-27 14:55 ` Joel C. Salomon
2007-04-27 15:24 ` erik quanstrom
2007-04-27 15:53 ` C H Forsyth
2007-04-28 9:09 ` ron minnich
2007-04-28 9:17 ` Lucio De Re
2007-04-28 13:48 ` Eric Van Hensbergen
2007-04-28 13:57 ` Lucio De Re
2007-04-28 14:15 ` LiteStar numnums
2007-04-28 21:21 ` Roman Shaposhnik
2007-04-28 21:54 ` ron minnich
2007-04-28 22:33 ` Steve Simon
2007-04-28 15:45 ` Charles Forsyth
2007-04-28 17:58 ` Rodrigo Miranda
2007-04-28 20:12 ` Eric Van Hensbergen
2007-04-28 21:10 ` Roman Shaposhnik
2007-04-28 18:15 ` Lluís Batlle i Rossell
2007-04-29 2:39 ` Joel C. Salomon
2007-04-29 12:41 ` erik quanstrom
2007-04-29 16:00 ` Joel C. Salomon
2007-04-28 21:24 ` Roman Shaposhnik
2007-05-06 12:36 erik quanstrom
2007-05-06 15:18 ` lucio
2007-05-06 16:23 ` W B Hacker
2007-05-06 17:53 ` Benn Newman
2007-05-06 17:56 ` Francisco J Ballesteros
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=775b8d190705032353u1bdf4528ve2e6ec3277017506@mail.gmail.com \
--to=bruce.ellis@gmail.com \
--cc=9fans@cse.psu.edu \
/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).