This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
How to define target-specific PSImode?
- From: Lev Yudalevich <lyudalev at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Sun, 6 Dec 2009 17:42:52 +0200
- Subject: How to define target-specific PSImode?
Hi,
I asked this question about a month ago at gcc-help, but got no answer, so...
I'm trying to define a nonstandard type for 12-bit scalar variables
based on a target-dependent PSI mode.
In my TARGET-modes.def file I have PARTIAL_MODE_INT(SI) defined.
During the backend's init_builtins processing I do the following:
tree t = make_unsigned_type (12);
(*lang_hooks.types.register_builtin_type) (t, "mybit12_t");
SET_TYPE_MODE (PSImode);
However, when the resulting gcc compiler crashes (ICE) when it tries
to convert any integer into my new type.
I would really appreciate any help on this problem and even general
guidance on how to properly define the PSI mode for scalar data (all
ports I'm aware of use the PSImode for pointers, and not scalars).
PARTIAL_MODE_INT seems to be kind of undocumented feature. Can anybody
suggest the steps required to use it properly?
(the gcc version I'm working on is 4.4.1).
Sincerely,
-- Lev.