[Bug tree-optimization/108199] Bitfields, unions and SRA and storage_order_attribute
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 9 21:46:20 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108199
--- Comment #11 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Here is a testcase for the trunk on x86_64-linux-gnu:
Thanks. The problem is indeed the BIT_FIELD_REF of a scalar, which is an
undocumented extension of GENERIC:
/* Reference to a group of bits within an object. Similar to COMPONENT_REF
except the position is given explicitly rather than via a FIELD_DECL.
Operand 0 is the structure or union expression;
operand 1 is a tree giving the constant number of bits being referenced;
operand 2 is a tree giving the constant position of the first referenced
bit.
The result type width has to match the number of bits referenced.
If the result type is integral, its signedness specifies how it is extended
to its mode width. */
DEFTREECODE (BIT_FIELD_REF, "bit_field_ref", tcc_reference, 3)
How are the bits numbered in there, IOW is bit 0 always the LSB or not?
More information about the Gcc-bugs
mailing list