summaryrefslogtreecommitdiff
path: root/sys/src/cmd/8c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-06-24 19:25:13 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2019-06-24 19:25:13 +0200
commit9f6967ed7e12ec3254bc1b3b7ad3e5a41c274e3a (patch)
tree7560ebad5bb6a015a38d43c62919716e9289e3dc /sys/src/cmd/8c
parent7d3cc1c55a435bd9e3d37d9bf8a9299ea9e1f87e (diff)
8c: skip 64-bit regpair allocation for OINDEX nodes in cgen64()
OINDEX can only return TLONG result on 386 so give it a register instead of a regpair and let gmove() handle the conversion.
Diffstat (limited to 'sys/src/cmd/8c')
-rw-r--r--sys/src/cmd/8c/cgen64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/src/cmd/8c/cgen64.c b/sys/src/cmd/8c/cgen64.c
index 04c1226e0..7dcccd6c5 100644
--- a/sys/src/cmd/8c/cgen64.c
+++ b/sys/src/cmd/8c/cgen64.c
@@ -2526,7 +2526,7 @@ twoop:
case OCAST:
l = n->left;
if(typev[l->type->etype]) {
- if(!vaddr(l, 1)) {
+ if(!vaddr(l, 1) && l->op != OINDEX) { // theres no 64 bit indexing
if(l->complex + 1 > nn->complex) {
d = regpair(Z, l);
sugen(l, d, 8);