This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

IA-64 complex long double bug fix


This fixes some problems with complex long double that show up when
running the gcc testsuite.  The testcases are in gcc.dg/compat, and are
struct-by-value-3 and struct-return-3.

The problem here is that HARD_REGNO_NREGS knows that an XFmode value
takes only 1 FP register, however, we have no support for XCmode, so it
gets the default calculation which gives an answer of 4.  The correct
answer for XCmode in FP regs is 2.  This is enough to fix the one
testcase I looked at, but for completeness, I went through and looked
for everyplace that had special handling for XFmode and added equivalent
code to handle XCmode.  I ended up making 5 separate but closely related
changes.

This was tested with an ia64-linux bootstrap and make check.  I get 6
new gcc testsuite passes.  2 failures and 4 unresolveds are now gone. 
There were no other changes in the testsuite results.

I have checked in the patch.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com

Attachment: patch.complex.xfmode
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]