squash! mesccc: swits

This commit is contained in:
Jan (janneke) Nieuwenhuizen 2021-05-16 14:09:05 +02:00
parent 195c4b28b9
commit 1fbf30b900
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
2 changed files with 13 additions and 15 deletions

View File

@ -18,12 +18,13 @@
;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
(define-module (mescc mescc)
#:use-module (mes mes-0)
#:use-module (mes misc)
#:use-module (mes guile)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 pretty-print)
#:use-module (ice-9 getopt-long)
#:use-module (mes mes-0)
#:use-module (mes misc)
#:use-module (mescc info)
#:use-module (mescc armv4 info)

View File

@ -26,10 +26,7 @@
#:use-module (mes guile)
#:use-module (mescc as)
#:use-module (mescc info)
#:use-module (mescc x86_64 info)
#:export (
x86_64:instructions
))
#:export (x86_64:instructions))
(define (r->e o)
(string-append "e" (string-drop o 1)))
@ -117,16 +114,16 @@
(define x86_64:calling-convention-registers '("rax" "rdi" "rsi" "rdx" "rcx" "r8" "r9"))
;; AMD
(define (x86_64:r->arg info i)
(let ((r (get-r info))
(r1 (list-ref x86_64:calling-convention-registers (1+ i))))
`((,(string-append "mov____%" r ",%" r1))))) ; debug fail-safe check
;; (define (x86_64:r->arg info i)
;; (let ((r (get-r info))
;; (r1 (list-ref x86_64:calling-convention-registers (1+ i))))
;; `((,(string-append "mov____%" r ",%" r1))))) ; debug fail-safe check
(define (x86_64:label->arg info label i)
(let ((r0 (list-ref x86_64:registers (1+ i))))
(if (< label #x80000000)
`((,(string-append "mov____$i32,%" r0) (#:address ,label)))
`((,(string-append "mov____$i64,%" r0) (#:address8 ,label))))))
;; (define (x86_64:label->arg info label i)
;; (let ((r0 (list-ref x86_64:registers (1+ i))))
;; (if (< label #x80000000)
;; `((,(string-append "mov____$i32,%" r0) (#:address ,label)))
;; `((,(string-append "mov____$i64,%" r0) (#:address8 ,label))))))
;; traditional
(define (x86_64:r->arg info i)