diff options
Diffstat (limited to 'lisc/isel.c')
-rw-r--r-- | lisc/isel.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lisc/isel.c b/lisc/isel.c index 5b83081..a9e3ee2 100644 --- a/lisc/isel.c +++ b/lisc/isel.c @@ -122,12 +122,12 @@ sel(Ins i, Fn *fn) default: diag("isel: invalid division"); case TWord: - ra = REG(EAX); - rd = REG(EDX); + ra = TMP(EAX); + rd = TMP(EDX); break; case TLong: - ra = REG(RAX); - rd = REG(RDX); + ra = TMP(RAX); + rd = TMP(RDX); break; } r0 = i.op == ODiv ? ra : rd; @@ -230,6 +230,7 @@ flagi(Ins *i0, Ins *i) return 0; case OAdd: /* flag-setting */ case OSub: + case OAnd: return i; case OCopy: /* flag-transparent */ case OStorel: |