diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-07 12:07:22 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-07 12:07:34 -0500 |
commit | 005c7e7c5e3bc3a7095f41ea4527e6f801739f51 (patch) | |
tree | a3d9b7e805e6cfbfeab6c6ea18c5346b2ee3c7e7 /lisc/isel.c | |
parent | 53efd935d77409517f0c9f268aa384eae277a588 (diff) | |
download | roux-005c7e7c5e3bc3a7095f41ea4527e6f801739f51.tar.gz |
fix two bad bugs in abi classification
The conditions to put a struct in memory or not were wrong. And I misused the cls field of the AClass struct.
Diffstat (limited to 'lisc/isel.c')
-rw-r--r-- | lisc/isel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lisc/isel.c b/lisc/isel.c index 73d4c21..6a6f0f4 100644 --- a/lisc/isel.c +++ b/lisc/isel.c @@ -530,11 +530,11 @@ classify(Ins *i0, Ins *i1, AClass *ac, int op) continue; ni = ns = 0; for (n=0; n<2; n++) - if (a->cls[n] == 0) + if (KBASE(a->cls[n]) == 0) ni++; else ns++; - if (nint > ni && nsse > ns) { + if (nint >= ni && nsse >= ns) { nint -= ni; nsse -= ns; } else |