https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107208

--- Comment #3 from vfdff <zhongyunde at huawei dot com> ---
it seems releted to targetm.calls.function_value called by assign_parms, who
return different behaviour for MODE_COMPLEX_FLOAT and MODE_COMPLEX_INT. With
the following changes, then choose a pair of DI for the int case
```
@@ -20333,7 +20333,7 @@ aarch64_vfp_is_call_or_return_candidate (machine_mode
mode,
       *count = 1;
       new_mode = mode;
     }
-  else if (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT)
+  else if (COMPLEX_MODE_P (mode))

```

Reply via email to