aboutsummaryrefslogtreecommitdiff
path: root/arm64/abi.c
diff options
context:
space:
mode:
Diffstat (limited to 'arm64/abi.c')
-rw-r--r--arm64/abi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arm64/abi.c b/arm64/abi.c
index 7a2b6f9..2bafec7 100644
--- a/arm64/abi.c
+++ b/arm64/abi.c
@@ -429,7 +429,7 @@ selcall(Fn *fn, Ins *i0, Ins *i1, Insl **ilp)
for (i=i0, c=ca; i<i1; i++, c++) {
if ((c->class & Cstk) != 0)
continue;
- if (i->op == Oarg || i->op == Oarge)
+ if (i->op == Oarg || i->op == Oarge || isargbh(i->op))
emit(Ocopy, *c->cls, TMP(*c->reg), i->arg[0], R);
if (i->op == Oargc)
ldregs(c->reg, c->cls, c->nreg, i->arg[1], fn);