DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(gcc.info) Bit Fields

Info Catalog (gcc.info) Comparisons (gcc.info) RTL (gcc.info) Conversions
 
 Bit Fields
 ==========
 
    Special expression codes exist to represent bitfield instructions.
 These types of expressions are lvalues in RTL; they may appear on the
 left side of an assignment, indicating insertion of a value into the
 specified bit field.
 
 `(sign_extract:M LOC SIZE POS)'
      This represents a reference to a sign-extended bit field contained
      or starting in LOC (a memory or register reference).  The bit field
      is SIZE bits wide and starts at bit POS.  The compilation option
      `BITS_BIG_ENDIAN' says which end of the memory unit POS counts
      from.
 
      If LOC is in memory, its mode must be a single-byte integer mode.
      If LOC is in a register, the mode to use is specified by the
      operand of the `insv' or `extv' pattern ( Standard Names.)
      and is usually a full-word integer mode, which is the default if
      none is specified.
 
      The mode of POS is machine-specific and is also specified in the
      `insv' or `extv' pattern.
 
      The mode M is the same as the mode that would be used for LOC if
      it were a register.
 
 `(zero_extract:M LOC SIZE POS)'
      Like `sign_extract' but refers to an unsigned or zero-extended bit
      field.  The same sequence of bits are extracted, but they are
      filled to an entire word with zeros instead of by sign-extension.
 
Info Catalog (gcc.info) Comparisons (gcc.info) RTL (gcc.info) Conversions
automatically generated byinfo2html