diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-08-14 18:52:18 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-08-14 18:52:18 +0200 |
commit | d41ca0d32cac02ee12733b0710d8eae3f34c6a4c (patch) | |
tree | a45faf9f0e2d303e072e9316ed2d9d858c087183 /sys/src | |
parent | dac5756766be04f303bceaea49eba4f6ffc4e25e (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.c | 8 |
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; |