aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64/sysv.c
diff options
context:
space:
mode:
Diffstat (limited to 'amd64/sysv.c')
-rw-r--r--amd64/sysv.c6
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 */