diff options
| -rw-r--r-- | amd64/sysv.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/amd64/sysv.c b/amd64/sysv.c index be9fbde..bc0b5d2 100644 --- a/amd64/sysv.c +++ b/amd64/sysv.c @@ -103,7 +103,11 @@ abiret(short r[2], uchar cls[2], int *ni, union irtype typ) { int ret; - if (!typ.isagg) return kisflt(cls[0] = typ.cls) ? XMM0 : RAX; + if (!typ.isagg) { + r[0] = kisflt(cls[0] = typ.cls) ? XMM0 : RAX; + return 1; + } + cls[0] = cls[1] = 0; ret = classify(cls, &typedata[typ.dat], 0); if (!ret) { /* MEMORY */ |