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]

combo patch for m68k bug 9812


This is a patch for PR 9812.  There is some additional info about my
analysis in the PR.

When -fpic is specified, the m68k port is trying to avoid CONST_DOUBLEs
which would turn into a symbolic reference if we called
force_const_mem.  This is because of a bogus patch I added in 1995.  The
real problem here is that XFmode constants aren't valid, and the port is
trying to fix this in the movxf pattern which is the wrong place.  The
right place is LEGITIMATE_CONSTANT_P.  This allows us to eliminate the
LEGITIMATE_PIC_OPERAND_P hack.  Since the m68k is the only port that
uses mem_for_const_double, we can now eliminate that function.  Also, I
noticed that we had 6 identical copies of LEGITIMATE_PIC_OPERAND_P, so I
deleted 5 of them.  I also fixed movxf so that it can no longer call
force_const_mem during reload, and documented the apparent confusion
with XFmode constant support in the md file.

This was tested by Matthias Klose with m68k and i386 linux bootstraps. 
See the PR.


Attachment: tmp.file.369
Description: Text document


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