bug-mes
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [WIP] Add ARM backend.


From: Jan Nieuwenhuizen
Subject: Re: [WIP] Add ARM backend.
Date: Tue, 02 Jun 2020 10:18:51 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Danny Milosavljevic writes:

> * build-aux/build-guile.sh: Add ARM backend.
> * lib/arm-mes/arm.M1: New file.
> * module/mescc/armv4/as.scm: New file.
> * module/mescc/armv4/info.scm: New file.
> * module/mescc/M1.scm (info->M1): Support ARM symbolic instructions, including
> little endian instructions.  Align functions.

\o/

> diff --git a/build-aux/build-guile.sh b/build-aux/build-guile.sh
> index bd304509..4cee61e5 100755
> --- a/build-aux/build-guile.sh
> +++ b/build-aux/build-guile.sh
> @@ -34,6 +34,8 @@ module/mescc/M1.scm
>  module/mescc/as.scm
>  module/mescc/bytevectors.scm
>  module/mescc/compile.scm
> +module/mescc/armv4/as.scm
> +module/mescc/armv4/info.scm

So happy to see this!

>  module/mescc/i386/as.scm
>  module/mescc/i386/info.scm
>  module/mescc/x86_64/as.scm
> diff --git a/lib/arm-mes/arm.M1 b/lib/arm-mes/arm.M1
> new file mode 100644
> index 00000000..b08e36a2
> --- /dev/null
> +++ b/lib/arm-mes/arm.M1
> @@ -0,0 +1,406 @@
> +### GNU Mes --- Maxwell Equations of Software
> +### Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
> +### Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>

Please verify if you should add 2020?

> +# Note: r9 is used as scratch register and is assumed to not contain 
> anything important!
> +
> +# reduced instruction set: r0, r1 (some r2 for shift, r3 for mul, div)

An amazing piece of work.  I counted ~220 instructions where x86 uses
~200.  I'm also very happy to see how well this worked.

Congratulations, LGTM

Janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]