ref: 1830eb96d8dc50e119b975ebe50e63bfe4c974cf
parent: 10ea5432d9fc8b33d1050bc0180c45d6c4f314cd
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Apr 8 09:47:45 EDT 2019
7c: fix registerization of vlong constants
--- a/sys/src/cmd/7c/gc.h
+++ b/sys/src/cmd/7c/gc.h
@@ -264,7 +264,7 @@
void gbranch(int);
void patch(Prog*, long);
int sconst(Node*);
-int sval(long);
+int sval(vlong);
void gpseudo(int, Sym*, Node*);
int usableoffset(Node*, vlong, Node*);
--- a/sys/src/cmd/7c/reg.c
+++ b/sys/src/cmd/7c/reg.c
@@ -551,7 +551,7 @@
{Var *v;
int i, t, n, et, z;
- long o;
+ vlong o;
Bits bit;
Sym *s;
@@ -566,7 +566,7 @@
if(s == S) {if(t != D_CONST || !docon || a->reg != NREG)
goto none;
- et = TLONG;
+ // et = TLONG;
}
if(t == D_CONST) {if(s == S && sval(o))
--- a/sys/src/cmd/7c/txt.c
+++ b/sys/src/cmd/7c/txt.c
@@ -1315,7 +1315,7 @@
}
int
-sval(long v)
+sval(vlong v)
{return isaddcon(v) || isaddcon(-v);
}
--
⑨