ref: e3673148355d3adbc64419cdd67530ccc840db86
parent: 350a4acbb13a24d2bdb66267c243a237cc7a7bf3
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Jun 24 15:25:13 EDT 2019
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.
--- a/sys/src/cmd/8c/cgen64.c
+++ b/sys/src/cmd/8c/cgen64.c
@@ -2526,7 +2526,7 @@
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);
--
⑨