GNU Compiler Collection (GCC) Internals: RTL Declarations

Next: Side Effects, Previous: Conversions, Up: RTL [Contents][Index]

### 14.14 Declarations

Declaration expression codes do not represent arithmetic operations but rather state assertions about their operands.

`(strict_low_part (subreg:m (reg:n r) 0))`

  This expression code is used in only one context: as the destination operand of a `set` expression. In addition, the operand of this expression must be a non-paradoxical `subreg` expression.

  The presence of `strict_low_part` says that the part of the register which is meaningful in mode n, but is not part of mode m, is not to be altered. Normally, an assignment to such a subreg is allowed to have undefined effects on the rest of the register when m is smaller than ‘`REGMODE_NATURAL_SIZE (n)`’.