このページを編集する際は,編集に関する方針に従ってください.[]
概要[]
- よくわからないけど,gcc-4.1.0/gcc/genmodes.c の emit_insn_modes_h 関数で自動生成される insn-modes.h で定義されるようだ.
ビルドの途中で、 gcc-4.1.0/host-(cpu)-(vendor)-(os)/gcc/buildディレクトリ下に、 genmodesというコマンドができる様子。 $ genmodes -h で標準出力にinsn-modes.hに書き出したいテキストデータが出力された。
makeの途中で、 genmodes -h > gcc-4.1.0/host-(cpu)-(vendor)-(os)/gcc/insn-modes.h みたいな感じで生成しているはず。
http://gcc.yokinihakarae.com/S/918.html#L768
- 一例(CPUがintel系)
enum machine_mode
{
VOIDmode, /* machmode.def:146 */
BLKmode, /* machmode.def:150 */
CCmode, /* machmode.def:178 */
CCGCmode, /* config/i386/i386-modes.def:58 */
CCGOCmode, /* config/i386/i386-modes.def:59 */
CCNOmode, /* config/i386/i386-modes.def:60 */
CCZmode, /* config/i386/i386-modes.def:61 */
CCFPmode, /* config/i386/i386-modes.def:62 */
CCFPUmode, /* config/i386/i386-modes.def:63 */
BImode, /* machmode.def:153 */
QImode, /* machmode.def:158 */
HImode, /* machmode.def:159 */
SImode, /* machmode.def:160 */
DImode, /* machmode.def:161 */
TImode, /* machmode.def:162 */
SFmode, /* machmode.def:173 */
DFmode, /* machmode.def:174 */
XFmode, /* config/i386/i386-modes.def:25 */
TFmode, /* config/i386/i386-modes.def:26 */
CQImode, /* machmode.def:186 */
CHImode, /* machmode.def:186 */
CSImode, /* machmode.def:186 */
CDImode, /* machmode.def:186 */
CTImode, /* machmode.def:186 */
SCmode, /* machmode.def:187 */
DCmode, /* machmode.def:187 */
XCmode, /* machmode.def:187 */
TCmode, /* machmode.def:187 */
V4QImode, /* config/i386/i386-modes.def:66 */
V2HImode, /* config/i386/i386-modes.def:66 */
V8QImode, /* config/i386/i386-modes.def:67 */
V4HImode, /* config/i386/i386-modes.def:67 */
V2SImode, /* config/i386/i386-modes.def:67 */
V16QImode, /* config/i386/i386-modes.def:68 */
V8HImode, /* config/i386/i386-modes.def:68 */
V4SImode, /* config/i386/i386-modes.def:68 */
V2DImode, /* config/i386/i386-modes.def:68 */
V32QImode, /* config/i386/i386-modes.def:74 */
V16HImode, /* config/i386/i386-modes.def:73 */
V8SImode, /* config/i386/i386-modes.def:72 */
V4DImode, /* config/i386/i386-modes.def:71 */
V2SFmode, /* config/i386/i386-modes.def:69 */
V4SFmode, /* config/i386/i386-modes.def:70 */
V2DFmode, /* config/i386/i386-modes.def:70 */
V8SFmode, /* config/i386/i386-modes.def:76 */
V4DFmode, /* config/i386/i386-modes.def:75 */
MAX_MACHINE_MODE,
MIN_MODE_RANDOM = VOIDmode,
MAX_MODE_RANDOM = BLKmode,
MIN_MODE_CC = CCmode,
MAX_MODE_CC = CCFPUmode,
MIN_MODE_INT = QImode,
MAX_MODE_INT = TImode,
MIN_MODE_PARTIAL_INT = VOIDmode,
MAX_MODE_PARTIAL_INT = VOIDmode,
MIN_MODE_FLOAT = SFmode,
MAX_MODE_FLOAT = TFmode,
MIN_MODE_COMPLEX_INT = CQImode,
MAX_MODE_COMPLEX_INT = CTImode,
MIN_MODE_COMPLEX_FLOAT = SCmode,
MAX_MODE_COMPLEX_FLOAT = TCmode,
MIN_MODE_VECTOR_INT = V4QImode,
MAX_MODE_VECTOR_INT = V4DImode,
MIN_MODE_VECTOR_FLOAT = V2SFmode,
MAX_MODE_VECTOR_FLOAT = V4DFmode,
NUM_MACHINE_MODES = MAX_MACHINE_MODE
};