このページを編集する際は,編集に関する方針に従ってください.
概要
- gcc-4.1.0/gcc/genmodes.cのemit_mode_precisionにて生成される
- 生成された内容はhost-{CPU}-{PC}-{OS}/gcc/ディレクトリ下のinsn-modes.cに書き込まれるようだ
- host-{CPU}-{PC}-{OS}はhost-i686-pc-linux-gnuとかhost-i386-apple-darwin8.10.1とかになる
- 生成された内容はhost-{CPU}-{PC}-{OS}/gcc/ディレクトリ下のinsn-modes.cに書き込まれるようだ
- BITS_PER_UNITをかけていないものがprecision(正確)ということのようだ
- 1はもちろんのこと80(8 * 10)も10という単位で扱うことはコンピュータでは少ない
実装
- 一例
- emit_mode_precisionをまだ読んでいないのでこの通りになるとは保証できない
const unsigned short mode_precision[NUM_MACHINE_MODES] =
{
0, /* VOID */
0, /* BLK */
4*BITS_PER_UNIT, /* CC */
4*BITS_PER_UNIT, /* CCGC */
4*BITS_PER_UNIT, /* CCGOC */
4*BITS_PER_UNIT, /* CCNO */
4*BITS_PER_UNIT, /* CCZ */
4*BITS_PER_UNIT, /* CCFP */
4*BITS_PER_UNIT, /* CCFPU */
1, /* BI */
1*BITS_PER_UNIT, /* QI */
2*BITS_PER_UNIT, /* HI */
4*BITS_PER_UNIT, /* SI */
8*BITS_PER_UNIT, /* DI */
16*BITS_PER_UNIT, /* TI */
4*BITS_PER_UNIT, /* SF */
8*BITS_PER_UNIT, /* DF */
80, /* XF */
16*BITS_PER_UNIT, /* TF */
2*BITS_PER_UNIT, /* CQI */
4*BITS_PER_UNIT, /* CHI */
8*BITS_PER_UNIT, /* CSI */
16*BITS_PER_UNIT, /* CDI */
32*BITS_PER_UNIT, /* CTI */
8*BITS_PER_UNIT, /* SC */
16*BITS_PER_UNIT, /* DC */
160, /* XC */
32*BITS_PER_UNIT, /* TC */
4*BITS_PER_UNIT, /* V4QI */
4*BITS_PER_UNIT, /* V2HI */
8*BITS_PER_UNIT, /* V8QI */
8*BITS_PER_UNIT, /* V4HI */
8*BITS_PER_UNIT, /* V2SI */
16*BITS_PER_UNIT, /* V16QI */
16*BITS_PER_UNIT, /* V8HI */
16*BITS_PER_UNIT, /* V4SI */
16*BITS_PER_UNIT, /* V2DI */
32*BITS_PER_UNIT, /* V32QI */
32*BITS_PER_UNIT, /* V16HI */
32*BITS_PER_UNIT, /* V8SI */
32*BITS_PER_UNIT, /* V4DI */
8*BITS_PER_UNIT, /* V2SF */
16*BITS_PER_UNIT, /* V4SF */
16*BITS_PER_UNIT, /* V2DF */
32*BITS_PER_UNIT, /* V8SF */
32*BITS_PER_UNIT, /* V4DF */
};