D. J. Bernstein | 27 Oct 2006 16:14
Picon

qhasm-regs prototype now available

Teaching a course on high-speed cryptography has prompted me to post
part of the latest qhasm rewrite, most importantly the register
allocator. See http://cr.yp.to/highspeed/fall2006.html.

---D. J. Bernstein, Professor, Mathematics, Statistics,
and Computer Science, University of Illinois at Chicago

Matthew R. Dempsky | 27 Nov 2006 08:54

Re: qhasm-regs prototype now available

On Fri, Oct 27, 2006 at 02:14:12PM -0000, D. J. Bernstein wrote:
> Teaching a course on high-speed cryptography has prompted me to post
> part of the latest qhasm rewrite, most importantly the register
> allocator. See http://cr.yp.to/highspeed/fall2006.html.

Any near-term plans to post other components (e.g., cycle counter)?

Also, I may be interested in writing some ARM assembly code soon.  Is
it worthwhile right now to spend any effort writing syntax rules for
other processors?

D. J. Bernstein | 27 Nov 2006 16:59
Picon

Re: qhasm-regs prototype now available

Matthew R. Dempsky writes:
> Any near-term plans to post other components (e.g., cycle counter)?

High on my priority list.

> Also, I may be interested in writing some ARM assembly code soon.  Is
> it worthwhile right now to spend any effort writing syntax rules for
> other processors?

I'm planning some tweaks to machine-description files:

   * Use register names rather than register numbers.
   * Specify input/output registers explicitly.
   * Integrate the x86 fp information currently embedded in qhasm-fp.
   * Handle delayed branches for the SPARC.
   * Allow explicit kill declarations.
   * Handle more x86 flags.

But the overall file structure is (finally!) stable, and it'll be easy
for me to keep the machine descriptions up to date. If you contribute an
ARM description, wonderful; my girlfriend has a Zaurus that I'd love to
optimize code for. :-)

---D. J. Bernstein, Professor, Mathematics, Statistics,
and Computer Science, University of Illinois at Chicago

Matthew R. Dempsky | 27 Nov 2006 21:10

Re: qhasm-regs prototype now available

On Mon, Nov 27, 2006 at 03:59:11PM -0000, D. J. Bernstein wrote:
> High on my priority list.

Great!  I look forward to seeing them.

> If you contribute an ARM description, wonderful;

Any thoughts on keeping such a description manageable?

I'm not sure how familiar you are with ARM, but their instructions are
incredibly flexible.  E.g., addition can be conditionalized on 15
different flag combinations, have 11 different argument forms, include
a carry or not, and update condition flags or not.

The first idea that comes to mind is to (mechanically) generate a
description file with 660 lines for the various addition instructions
(and maybe another 660 for short-hand ``r += s'' forms) and so on.  I
don't think the resulting file sizes would be prohibitively large, but
it would certainly be an order of magnitude or two larger than any of
the existing machine descriptions.

Is this a reasonable approach, or do you advise an alternative
implementation?

Thanks.

D. J. Bernstein | 27 Nov 2006 21:41
Picon

Re: qhasm-regs prototype now available

Matthew R. Dempsky writes:
> The first idea that comes to mind is to (mechanically) generate a
> description file with 660 lines for the various addition instructions
> (and maybe another 660 for short-hand ``r += s'' forms) and so on.

Yup, an awk script sounds like a good idea.

---D. J. Bernstein, Professor, Mathematics, Statistics,
and Computer Science, University of Illinois at Chicago

Vincent Labrecque | 12 Apr 2007 22:52
Picon
Favicon

Re: qhasm-regs prototype now available

Matthew, (or anyone else)

Has there been any progress on the ARM description?  I may have a use
for it soon, and I'd rather not duplicate efforts.

--Vincent

Matthew R. Dempsky | 13 Apr 2007 05:54

Re: qhasm-regs prototype now available

On Thu, Apr 12, 2007 at 04:52:41PM -0400, Vincent Labrecque wrote:
> Has there been any progress on the ARM description?  I may have a use
> for it soon, and I'd rather not duplicate efforts.

I wrote an awk script that generates rules for a significant portion
of the ARM instruction set, but I got side tracked and haven't
finished it yet.

How soon do you expect to need it?  I should be able to work on it
more in about two weeks when I'm done with school, but until then I'm
far too ashamed of the code to show it to anyone.

Phil Carmody | 28 Oct 2006 11:00
Picon
Favicon

Re: qhasm-regs prototype now available

--- "D. J. Bernstein" <djb <at> cr.yp.to> wrote:
> Teaching a course on high-speed cryptography has prompted me to post
> part of the latest qhasm rewrite, most importantly the register
> allocator. See http://cr.yp.to/highspeed/fall2006.html.

I've recently been hacking away at some tight inner loops. PPC's getting the
majority of my attention presently (the fused muladd is a godsend) - is any
chance of there being non-x86 versions of qhasm at any point?

Phil

()  ASCII ribbon campaign      ()    Hopeless ribbon campaign
/\    against HTML mail        /\  against gratuitous bloodshed

[stolen with permission from Daniel B. Cristofani]

 
____________________________________________________________________________________
Get your email and see which of your friends are online - Right on the New Yahoo.com 
(http://www.yahoo.com/preview) 

D. J. Bernstein | 3 Nov 2006 08:41
Picon

Re: qhasm-regs prototype now available

Phil Carmody writes:
> PPC's getting the majority of my attention presently (the fused muladd
> is a godsend) - is any chance of there being non-x86 versions of qhasm
> at any point?

Certainly! The latest qhasm rewrite makes new CPUs very easy to support.
I've now posted http://cr.yp.to/qhasm/qhasm-20061102.tar.gz, including
qhasm-ppc32-macos and qhasm-ppc32-linux. The new machine descriptions
are completely untested but any problems will be easy to fix.

---D. J. Bernstein, Professor, Mathematics, Statistics,
and Computer Science, University of Illinois at Chicago


Gmane