This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
MODES_TIEABLE_P question
- To: gcc at gcc dot gnu dot org
- Subject: MODES_TIEABLE_P question
- From: Stephen Clarke <Stephen dot Clarke at st dot com>
- Date: Thu, 08 Nov 2001 15:28:02 -0800
- Organization: STMicroelectronics
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
doubles).
It's very desirable to make DImode and SImode tieable, but
HARD_REGNO_MODE_OK (fpreg, SImode) is 1
and
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?
Steve.
--
Stephen Clarke, Principal Engineer, SuperH Inc.
Phone:1-408-922-4062, Fax:1-408-954-8507, mailto:Stephen.Clarke@st.com
Mail: SuperH Inc., 3801 Zanker Rd., San Jose, CA 95134, USA.