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] |
On Sat, Jun 07, 2003 at 10:56:17PM +0200, Eric Botcazou wrote: > Is this the right approach? I'm a bit worried because I'm afraid that reload > might screw up everything afterwards. I think there is a good chance that reload will screw up after. I think we need to re-structure the FP register classes on Sparc. Something like #define REG_CLASS_CONTENTS \ {{0x00000000, 0x00000000, 0x00000000, 0x00}, /* NO_REGS */ \ {0x00000000, 0x00000000, 0x00000000, 0x0f}, /* FPCC_REGS */ \ {0x0000ffff, 0x00000000, 0x00000000, 0x00}, /* I64_REGS */ \ {0xffffffff, 0x00000000, 0x00000000, 0x20}, /* GENERAL_REGS */ \ {0x00000000, 0x11111111, 0x11111111, 0x00}, /* FP_Q_REGS */ \ {0x00000000, 0x55555555, 0x55555555, 0x00}, /* FP_D_REGS */ \ {0x00000000, 0xffffffff, 0x00000000, 0x00}, /* FP_S_REGS */ \ {0xffffffff, 0xffffffff, 0xffffffff, 0x20}, /* GENERAL_OR_FP_REGS */ \ {0xffffffff, 0xffffffff, 0xffffffff, 0x3f}} /* ALL_REGS */ When !TARGET_V9, the high registers will simply be marked fixed, and so they won't be used or usable. I think we can just map 'f' -> FP_S_REGS and 'e' -> FP_D_REGS and get good backward compatibility with existing assembly code; that just leaves choosing a new letter for FP_Q_REGS. Not that hardware for TFmode hard-fp exists... I tried prototyping this right quick, but didn't get everything right, and it crashes. Attached, if you're interested in using it as a starting point, or seeing what not to do. ;-) Oh, something else that might be worthwhile, in terms of speeding up the compiler a little bit -- gid rid of the unused 16 registers between 64 and 95. Just because the hard register name is %f38 is no reason that the internal register number has to be FP_BASE + 38. That'd be for a separate cleanup, I'd think... r~
Attachment:
z
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |