rv64: cosmetics in isel

This commit is contained in:
Quentin Carbonneaux 2022-02-25 11:09:04 +01:00
parent 65821c9b14
commit c0cdef2e44

View file

@ -3,8 +3,11 @@
static int static int
memarg(Ref *r, int op, Ins *i) memarg(Ref *r, int op, Ins *i)
{ {
return ((isload(op) || op == Ocall) && r == &i->arg[0]) if (isload(op) || op == Ocall)
|| (isstore(op) && r == &i->arg[1]); return r == &i->arg[0];
if (isstore(op))
return r == &i->arg[1];
return 0;
} }
static int static int
@ -28,8 +31,8 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn)
c = &fn->con[r0.val]; c = &fn->con[r0.val];
if (c->type == CAddr && memarg(r, op, i)) if (c->type == CAddr && memarg(r, op, i))
break; break;
if (c->type == CBits && immarg(r, op, i) if (c->type == CBits && immarg(r, op, i))
&& -2048 <= c->bits.i && c->bits.i < 2048) if (-2048 <= c->bits.i && c->bits.i < 2048)
break; break;
r1 = newtmp("isel", k, fn); r1 = newtmp("isel", k, fn);
if (KBASE(k) == 1) { if (KBASE(k) == 1) {