------- Comment #8 from ktietz at gcc dot gnu dot org 2009-02-18 14:23 ------- (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #5) > > > (In reply to comment #4) > > > > ok, I found the issue, which causes here the problem. > > > > The x86_64 abi returns TFmode in rax,edx which is stored in aligned > > > > stack > > > > > > XFmode > > > > > > > right, sorry I meant XFmode > > > > w64 ABI doesn't cover XFmode. Why do you use integer registers for > XFmode? It doesn't make any senses to me. >
As I said above there are two reasons. First 32-bit code supports XFmode, too. Also the vendor specific library supports 96-bit floating point, too. But not as native type, they use a struct for this (what is the current implementation in gcc to pass them as memory reference). So there is no good reason for not supporting XFmode types for w64 IMHO. This issue here seems to be more the store size in x86_64 abi. Hasn't x86_64 also the need to have those types store 16-bytes aligned? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39224