Moore, Catherine <catherine_mo...@mentor.com> writes: > Review comments are attached. I will tackle the R6 patch next. > Thanks, > Catherine
Thanks Catherine. Depending on whether the fix to the following hunk needs discussion I'll make the changes and commit. >> static bool >> mips_function_value_regno_p (const unsigned int regno) >> { >> if (regno == GP_RETURN >> || regno == FP_RETURN >>+ || regno == FP_RETURN + 2 >> || (LONG_DOUBLE_TYPE_SIZE == 128 >> && FP_RETURN != GP_RETURN >> && regno == FP_RETURN + 2)) >> return true; >> > Is this right? I'm not following the intent of this modification. The intent is to cover the complex return case where both FP_RETURN and FP_RETURN+2 are used to return the real and imaginary parts of _Complex float. The hunk which follows then deals with the _Complex double case where the corresponding odd numbered registers are also used for FP32. What I noticed when you first pointed me at this code on IRC was that the new condition leads to the pre-existing LONG_DOUBLE_TYPE_SIZE condition being redundant so should be removed I think. I just want to re-read how these functions are used to reassure myself this is all correct. I'll also check on whether o32 or O32 is the consistent name and change appropriately. For the R6 patch. I will be rebasing and updating that patch following submission of FPXX but the only significant fix it needs relates to allowing the use of DSP with R6. That will affect the conditions on a few patterns and some of the expand code. A general read through the current patch on the list wouldn't be wasted though. Thanks, Matthew