shithub: riscv

Download patch

ref: d41ca0d32cac02ee12733b0710d8eae3f34c6a4c
parent: dac5756766be04f303bceaea49eba4f6ffc4e25e
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Aug 14 14:52:18 EDT 2016

6c: subsitute floating point registers eleminating MOVSD and MOVSS instructions in peephole pass

--- a/sys/src/cmd/6c/peep.c
+++ b/sys/src/cmd/6c/peep.c
@@ -440,6 +440,11 @@
 		case AADDQ:
 		case AADCL:
 		case AADCQ:
+
+		case AADDSS:
+		case AADDSD:
+		case AMULSS:
+		case AMULSD:
 			/*
 			 * can swap when:
 			 *  ADD R2, R1
@@ -472,6 +477,9 @@
 		case AMOVWQSX:
 		case AMOVLQZX:
 		case AMOVLQSX:
+
+		case AMOVSS:
+		case AMOVSD:
 			if(p->to.type == v1->type)
 				goto gotit;
 			break;
--