diff options
| author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-10-03 12:18:20 +0200 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-10-03 12:18:20 +0200 |
| commit | 74a557a167533d37ddd551c2d222fe208c5a4302 (patch) | |
| tree | eda59d75ef503ff2b7cb5b711d62dac22e696788 | |
| parent | cde69a78225ee3b8c5e46ddb98ce4bd599d4f355 (diff) | |
| download | plan9front-74a557a167533d37ddd551c2d222fe208c5a4302.tar.xz | |
8c: make cgen64() compile target first when it contains functoin call so final assignment wont trash the registers
| -rw-r--r-- | sys/src/cmd/8c/cgen64.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/src/cmd/8c/cgen64.c b/sys/src/cmd/8c/cgen64.c index 3077dad04..26afadaf0 100644 --- a/sys/src/cmd/8c/cgen64.c +++ b/sys/src/cmd/8c/cgen64.c @@ -1575,6 +1575,13 @@ cgen64(Node *n, Node *nn) cmp = 0; sh = 0; + if(nn != Z && nn->complex >= FNX){ + reglcgen(&nod1, nn, Z); + m = cgen64(n, &nod1); + regfree(&nod1); + return m; + } + switch(n->op) { case ONEG: d = regpair(nn, n); |
