[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
特別な式コードがあり、ビットフィールド命令を表現することができる。 この型の式は、RTL 中で左辺値となる。代入式の左辺に置くことが可能で、 その式で指定されたビットフィールドにある値を代入することを指示する。
(sign_extract:m loc size pos)
これは、loc(メモリかレジスタの参照)に含まれるか、そこで始まっている
符号拡張されたビットフィールドへの参照を表す。
このビットフィールドは幅が size ビットで、ビット位置 pos から
始まっている。コンパイル時の選択により、BITS_BIG_ENDIAN
が、
メモリ単位のどちらの端から pos を数えるかを指定する。
loc がメモリ中に置かれているなら、そのモードは一バイト整数のモードで
なければならない。
loc がレジスタに置かれているなら、使うべきモードは、
パターン insv
または extv
(see section RTL生成用標準パターン名)
のオペランドとして指定されたものになり、通常は全語の整数モードである。
何も指定がないときのデフォルトは全語の整数モードになる。
pos のモードはマシン固有であり、パターン insv
または
extv
でも指定される。
モード m は、loc がレジスタなら、それに使われるモードと 同じである。
(zero_extract:m loc size pos)
sign_extract
と同様だが、符号なし、あるいはゼロ拡張された
ビットフィールドを参照する。
同じビット列が抽出されるが、符号拡張ではなくゼロで埋め尽くされる。
This document was generated
using texi2html 1.78.