diff options
| -rw-r--r-- | sys/src/cmd/6c/txt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/cmd/6c/txt.c b/sys/src/cmd/6c/txt.c index 861cdfde4..82045c168 100644 --- a/sys/src/cmd/6c/txt.c +++ b/sys/src/cmd/6c/txt.c @@ -343,9 +343,12 @@ regalloc(Node *n, Node *tn, Node *o) if(i >= D_AX && i <= D_R15) goto out; } - for(i=D_AX; i<=D_R15; i++) + for(i=D_AX; i<=D_R15; i++){ + i ^= 7; if(reg[i] == 0 && !resvreg[i]) goto out; + i ^= 7; + } diag(tn, "out of fixed registers"); goto err; |
