This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Forcing memory mode to some addresses
Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com> writes:
> I would like to force accesses to some memory variables in a specific mode.
> For example, I would like GCC to access a 16-bit wide hardware
> register always in HImode when using a 16bit wide bitfield struct...
> Currently, GCC can accesses part of this memory structure using
> QImode, which is not always permitted.
> Is there a way to do it using an attribute ? Or perhaps another way ?
>
> If a target specific attribute must be defined, what should it
> control, and how to recognized it in my backend ?
You should always use a volatile qualified pointer when accessing a
hardware register. When you do that, gcc should always use the
appropriate mode.
Ian