From c237d0dd746f9991b3578490e47c696cab4b2b29 Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Mon, 15 Feb 2016 15:37:58 -0500 Subject: quickly patch emit (fp load and store) --- lisc/emit.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'lisc') diff --git a/lisc/emit.c b/lisc/emit.c index aaac1b3..bdafde4 100644 --- a/lisc/emit.c +++ b/lisc/emit.c @@ -45,11 +45,15 @@ static struct { { OSub, Ka, "-sub%k %1, %=" }, { OAnd, Ki, "+and%k %1, %=" }, { OMul, Ki, "+imul%k %1, %=" }, + { OMul, Ks, "+mulss %1, %=" }, /* fixme */ + { OMul, Kd, "+mulsd %1, %=" }, { ODiv, Ka, "-div%k %1, %=" }, - { OStorel, Ki, "movq %L0, %M1" }, - { OStorew, Ki, "movl %W0, %M1" }, - { OStoreh, Ki, "movw %H0, %M1" }, - { OStoreb, Ki, "movb %B0, %M1" }, + { OStorel, Ka, "movq %L0, %M1" }, + { OStorew, Ka, "movl %W0, %M1" }, + { OStoreh, Ka, "movw %H0, %M1" }, + { OStoreb, Ka, "movb %B0, %M1" }, + { OStores, Ka, "movss %S0, %M1" }, + { OStored, Ka, "movsd %D0, %M1" }, { OLoadl, Kl, "movq %M0, %=" }, { OLoadsw, Kl, "movslq %M0, %L=" }, { OLoadsw, Kw, "movl %M0, %W=" }, @@ -58,6 +62,8 @@ static struct { { OLoaduh, Ki, "movzw%k %M0, %=" }, { OLoadsb, Ki, "movsb%k %M0, %=" }, { OLoadub, Ki, "movzb%k %M0, %=" }, + { OLoads, Ks, "movss %M0, %=" }, /* fixme, Kf */ + { OLoadd, Kd, "movsd %M0, %=" }, { OExtsw, Kl, "movslq %W0, %L=" }, { OExtuw, Kl, "movl %W0, %W=" }, { OExtsh, Ki, "movsw%k %H0, %=" }, -- cgit 1.4.1