Forcing memory mode to some addresses
Ian Lance Taylor
iant@google.com
Wed Nov 16 18:29:00 GMT 2011
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
More information about the Gcc-help
mailing list