summary refs log tree commit diff
path: root/lisc/isel.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-10-20 13:04:07 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-10-30 13:20:42 -0400
commitb284721c8acae244d054dbe8c8b5878f0e649c0a (patch)
tree304446e2680f1b43dd76832fa64d15a25136f631 /lisc/isel.c
parent993416481a5d5c89410488fbab311ee0b943f948 (diff)
downloadroux-b284721c8acae244d054dbe8c8b5878f0e649c0a.tar.gz
emit code for extensions, move slots into RAlt
Diffstat (limited to 'lisc/isel.c')
-rw-r--r--lisc/isel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisc/isel.c b/lisc/isel.c
index c3da2cf..6114bdb 100644
--- a/lisc/isel.c
+++ b/lisc/isel.c
@@ -373,7 +373,8 @@ classify(Ins *i0, Ins *i1, AClass *ac, int op)
 			a->size = 8;
 			a->rty[0] = RInt;
 		} else {
-			aclass(a, &typ[i->arg[0].val]);
+			n = i->arg[0].val & AMask;
+			aclass(a, &typ[n]);
 			if (a->inmem)
 				continue;
 			ni = ns = 0;