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)) ```