This is the mail archive of the 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]


We have a target which has a set of 64-bit "general purpose" registers
and a set of 32-bit "floating point" registers (used in pairs to hold

It's very desirable to make DImode and SImode tieable, but
  HARD_REGNO_MODE_OK (fpreg, SImode) is 1
  HARD_REGNO_MODE_OK (fpreg, DImode) is 0
because fp regs can't hold more than 32 bits.

The gcc manual states in this situation, the modes are not tieable
"unless some other mechanism ensures the accessibility of the value
in a narrower mode".  Unfortunately, I don't understand this statement,
or the significance of "narrower mode", or what the other mechanism
might be ;-(

However, there appear to be other targets that have a similar
register set up and that do make SImode and DImode tieable (e.g. sparc
for TARGET_V9).

So can I just go ahead and make SImode and DImode tieable, or am I
missing some subtlety here?

Stephen Clarke, Principal Engineer, SuperH Inc.
Phone:1-408-922-4062, Fax:1-408-954-8507,
Mail:  SuperH Inc., 3801 Zanker Rd., San Jose, CA 95134, USA.

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