Hi! On Tue, Apr 26, 2022 at 03:06:51PM -0500, Pat Haugen wrote: > Fix register count when not splitting Complex IEEE 128-bit args. > > For ABI_V4, we do not split complex args.
Because that is what the ABI requires, yes :-) > This created a problem because > even though an arg would be passed in two VSX regs, we were only > advancing the > function arg counter by one VSX register. Fixed with this patch. > gcc/ > PR testsuite/99685 > * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump > register count when not splitting IEEE 128-bit Complex. Note where the PR marker goes. > + /* If we are not splitting Complex IEEE 128-bit args then account > for You sent the patch as format=flawed. Don't. It does not work. > + the fact that they are passed in 2 VSX regs. */ > + if (! targetm.calls.split_complex_arg && type No space after "!" (or any other unary operator not written with letters). > + && TREE_CODE (type) == COMPLEX_TYPE && elt_mode == KCmode) > + cum->vregno++; > + With those trivialities fixed, okay for trunk. Thanks! Segher