summaryrefslogtreecommitdiff
path: root/src/cmd/5c/reg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/5c/reg.c')
-rw-r--r--src/cmd/5c/reg.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cmd/5c/reg.c b/src/cmd/5c/reg.c
index 42c5193de..3d67872b4 100644
--- a/src/cmd/5c/reg.c
+++ b/src/cmd/5c/reg.c
@@ -112,6 +112,7 @@ regopt(Prog *p)
case AGLOBL:
case ANAME:
case ASIGNAME:
+ case AFUNCDATA:
continue;
}
r = rega();
@@ -174,8 +175,10 @@ regopt(Prog *p)
*/
case ANOP:
case AMOVB:
+ case AMOVBS:
case AMOVBU:
case AMOVH:
+ case AMOVHS:
case AMOVHU:
case AMOVW:
case AMOVF:
@@ -460,6 +463,7 @@ brk:
case AGLOBL:
case ANAME:
case ASIGNAME:
+ case AFUNCDATA:
break;
}
}
@@ -555,9 +559,9 @@ addmove(Reg *r, int bn, int rn, int f)
p1->as = AMOVW;
if(v->etype == TCHAR || v->etype == TUCHAR)
- p1->as = AMOVB;
+ p1->as = AMOVBS;
if(v->etype == TSHORT || v->etype == TUSHORT)
- p1->as = AMOVH;
+ p1->as = AMOVHS;
if(v->etype == TFLOAT)
p1->as = AMOVF;
if(v->etype == TDOUBLE)