GCC Middle and Back End API Reference
bitint_info Struct Reference

#include <target.h>

Data Fields

machine_mode abi_limb_mode
machine_mode limb_mode
bool big_endian
bool extended

Detailed Description

Target properties of _BitInt(N) type.  _BitInt(N) is to be represented
as series of abi_limb_mode CEIL (N, GET_MODE_PRECISION (abi_limb_mode))
limbs, ordered from least significant to most significant if !big_endian,
otherwise from most significant to least significant.  If extended is
false, the bits above or equal to N are undefined when stored in a register
or memory, otherwise they are zero or sign extended depending on if
it is unsigned _BitInt(N) or _BitInt(N) / signed _BitInt(N).
limb_mode is either the same as abi_limb_mode, or some narrower mode
in which _BitInt lowering should actually perform operations in and
what libgcc _BitInt helpers should use.
E.g. abi_limb_mode could be TImode which is something some processor
specific ABI would specify to use, but it would be desirable to handle
it as an array of DImode instead for efficiency.
Note, abi_limb_mode can be different from limb_mode only if big_endian
matches WORDS_BIG_ENDIAN.   

Field Documentation

◆ abi_limb_mode

◆ big_endian

◆ extended

bool bitint_info::extended

◆ limb_mode

The documentation for this struct was generated from the following file: