https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91131

--- Comment #5 from Per Dalgas Jakobsen <pdj at knaldgas dot dk> ---
(In reply to Richard Biener from comment #2)
> So your complaint is that
> 
> struct Reg_T {
>         unsigned int a : 3;
>         unsigned int b : 1;
>         unsigned int c : 4;
> } __attribute__((packed));
> 
> volatile struct Reg_T Reg_A;
> ...
>         Reg_A = (struct Reg_T){ .a = 0, .b = 0, .c = 0 };
> 
> does not yield a single store, correct?

Primary complaint, Yes.

Secondary complaint is the use of RAM-memory locations for constants, where an
immediate would be more efficient. Especially on a microcontroller with 32
bytes of RAM...

Reply via email to