summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-08-14 18:52:18 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2016-08-14 18:52:18 +0200
commitd41ca0d32cac02ee12733b0710d8eae3f34c6a4c (patch)
treea45faf9f0e2d303e072e9316ed2d9d858c087183 /sys/src
parentdac5756766be04f303bceaea49eba4f6ffc4e25e (diff)
6c: subsitute floating point registers eleminating MOVSD and MOVSS instructions in peephole pass
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/cmd/6c/peep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/src/cmd/6c/peep.c b/sys/src/cmd/6c/peep.c
index 9c2b3c429..1da2dcc7e 100644
--- a/sys/src/cmd/6c/peep.c
+++ b/sys/src/cmd/6c/peep.c
@@ -440,6 +440,11 @@ subprop(Reg *r0)
case AADDQ:
case AADCL:
case AADCQ:
+
+ case AADDSS:
+ case AADDSD:
+ case AMULSS:
+ case AMULSD:
/*
* can swap when:
* ADD R2, R1
@@ -472,6 +477,9 @@ subprop(Reg *r0)
case AMOVWQSX:
case AMOVLQZX:
case AMOVLQSX:
+
+ case AMOVSS:
+ case AMOVSD:
if(p->to.type == v1->type)
goto gotit;
break;