[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] Add ARM backend.
From: |
Danny Milosavljevic |
Subject: |
Re: [PATCH v2] Add ARM backend. |
Date: |
Wed, 10 Jun 2020 13:11:39 +0200 |
Hi,
On Sun, 07 Jun 2020 10:46:39 +0200
Jan Nieuwenhuizen <janneke@gnu.org> wrote:
> >> +(define (armv4:r0*r1 info)
> >> + ;; FIXME: Signedness.
> >> + (let ((r0 (get-r0 info))
> >> + (r1 (get-r1 info)))
> >> + `((,(string-append "mul____%" r0 ",%" r1)))))
> >
> > Probably would need a helper procedure again in libmescc.a to do that
> > nicely.
> >
> > @Janneke: How come this doesn't have SIGNED? like the other ones below?
>
> I don't know; I don't understand what's going on. When reading this
> code:
>
> module/mescc/compile.scm (expr->register)
>
> ((mod ,a ,b) ((binop->r info) a b 'r0%r1
> (or (signed? (ast->type a info)) (signed? (ast->type b
> info)))))
> ((mul ,a ,b) ((binop->r info) a b 'r0*r1))
>
> and remember the test-driven way in which it was developed, I can (only)
> imagine that we had no test case that needed a signed? flag.
Pushed a variant of this patch to mes master as
commit 040220acee76f1550e51d01bb5959c2784071398.
However, did not make multiplication signed in compiler frontend yet.
pgpSrESmUvOk2.pgp
Description: OpenPGP digital signature