mescc: Support 64-bit immediates.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 6 Oct 2018 12:51:57 +0000 (14:51 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 6 Oct 2018 12:51:57 +0000 (14:51 +0200)
commit51085ba25c7bf729a3a97a90ccba62d1e4a529a4
treecf54b0f33ad2cace86ee0c09ea0173ddd9591df3
parentd0a1cc509663d705038ae9158a979ca26b9f3ed1
mescc: Support 64-bit immediates.

* module/mescc/M1.scm (hex2:address8, hex2:immediate8): New function.
(info->M1): Support 64-bit.
* module/mescc/compile.scm (convert-r0): FIXME!
* module/mescc/x86_64/as.scm (x86_64:value->r, x86_64:r->local,
x86_64:label->arg, x86_64:label->r, x86_64:r+value,
x86_64:r-cmp-value, x86_64:r-long-mem-add, x86_64:r-and): Support
64-bit immediates.
* lib/x86_64-mes/x86_64.M1: Likewise.
* scaffold/tests/17-compare-unsigned-char-le.c: Test it.
* scaffold/tests/17-compare-unsigned-short-le.c: Test it.
* build-aux/check-mescc.sh (tests): Run them.
build-aux/check-mescc.sh
lib/x86_64-mes/x86_64.M1
module/mescc/M1.scm
module/mescc/compile.scm
module/mescc/x86_64/as.scm
module/mescc/x86_64/info.scm
scaffold/tests/17-compare-unsigned-char-le.c [new file with mode: 0644]
scaffold/tests/17-compare-unsigned-long-le.c [new file with mode: 0644]
scaffold/tests/17-compare-unsigned-short-le.c [new file with mode: 0644]
scaffold/tests/a0-call-trunc-int.c [new file with mode: 0644]