qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit c237d0dd746f9991b3578490e47c696cab4b2b29
parent 0ae8564b3cd63fba47e7581f92e25a1964cd2fe4
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Mon, 15 Feb 2016 15:37:58 -0500

quickly patch emit (fp load and store)

Diffstat:
Mlisc/emit.c | 14++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git 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, %=" },