bfin-xxx-gcc中insn-modes.h的生成

快乐虾

http://blog.csdn.net/lights_joy/

[email protected]

   

 

本文适用于

gcc- 4.3.1

Blackfin系列DSP

Visual Studio 2005

   

欢迎转载,但请保留作者信息

 

 

 

Makefile.in中这样定义规则:

insn-modes.h: s-modes-h; @true

s-modes-h: build/genmodes$(build_exeext)

     $(RUN_GEN) build/genmodes$(build_exeext) -h > tmp-modes.h

     $(SHELL) $(srcdir)/../move-if-change tmp-modes.h insn-modes.h

     $(STAMP) s-modes-h

即它由genmodes.exe生成,而genmodes.exe则由

build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h       /

  $(HASHTAB_H) machmode.def $(extra_modes_file)

# As a general rule...

build/gen%$(build_exeext): build/gen%.o $(BUILD_LIBDEPS)

     $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ /

         $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS)

规则指定。

因而先生成genmodes.exe,再执行

genmodes.exe –h

得到insn-modes.h

/* Generated automatically from machmode.def

   by genmodes.  */

 

#ifndef GCC_INSN_MODES_H

#define GCC_INSN_MODES_H

 

enum machine_mode

{

  VOIDmode,                /* machmode.def:169 */

  BLKmode,                 /* machmode.def:173 */

  CCmode,                  /* machmode.def:201 */

  BImode,                  /* machmode.def:176 */

  QImode,                  /* machmode.def:181 */

  HImode,                  /* machmode.def:182 */

  SImode,                  /* machmode.def:183 */

  DImode,                  /* machmode.def:184 */

  TImode,                  /* machmode.def:185 */

  QQmode,                  /* machmode.def:204 */

  HQmode,                  /* machmode.def:205 */

  SQmode,                  /* machmode.def:206 */

  DQmode,                  /* machmode.def:207 */

  TQmode,                  /* machmode.def:208 */

  UQQmode,                 /* machmode.def:210 */

  UHQmode,                 /* machmode.def:211 */

  USQmode,                 /* machmode.def:212 */

  UDQmode,                 /* machmode.def:213 */

  UTQmode,                 /* machmode.def:214 */

  HAmode,                  /* machmode.def:216 */

  SAmode,                  /* machmode.def:217 */

  DAmode,                  /* machmode.def:218 */

  TAmode,                  /* machmode.def:219 */

  UHAmode,                 /* machmode.def:221 */

  USAmode,                 /* machmode.def:222 */

  UDAmode,                 /* machmode.def:223 */

  UTAmode,                 /* machmode.def:224 */

  SFmode,                  /* machmode.def:196 */

  DFmode,                  /* machmode.def:197 */

  SDmode,                  /* machmode.def:236 */

  DDmode,                  /* machmode.def:237 */

  TDmode,                  /* machmode.def:238 */

  CQImode,                 /* machmode.def:232 */

  CHImode,                 /* machmode.def:232 */

  CSImode,                 /* machmode.def:232 */

  CDImode,                 /* machmode.def:232 */

  CTImode,                 /* machmode.def:232 */

  SCmode,                  /* machmode.def:233 */

  DCmode,                  /* machmode.def:233 */

  MAX_MACHINE_MODE,

 

  MIN_MODE_RANDOM = VOIDmode,

  MAX_MODE_RANDOM = BLKmode,

 

  MIN_MODE_CC = CCmode,

  MAX_MODE_CC = CCmode,

 

  MIN_MODE_INT = QImode,

  MAX_MODE_INT = TImode,

 

  MIN_MODE_PARTIAL_INT = VOIDmode,

  MAX_MODE_PARTIAL_INT = VOIDmode,

 

  MIN_MODE_FRACT = QQmode,

  MAX_MODE_FRACT = TQmode,

 

  MIN_MODE_UFRACT = UQQmode,

  MAX_MODE_UFRACT = UTQmode,

 

  MIN_MODE_ACCUM = HAmode,

  MAX_MODE_ACCUM = TAmode,

 

  MIN_MODE_UACCUM = UHAmode,

  MAX_MODE_UACCUM = UTAmode,

 

  MIN_MODE_FLOAT = SFmode,

  MAX_MODE_FLOAT = DFmode,

 

  MIN_MODE_DECIMAL_FLOAT = SDmode,

  MAX_MODE_DECIMAL_FLOAT = TDmode,

 

  MIN_MODE_COMPLEX_INT = CQImode,

  MAX_MODE_COMPLEX_INT = CTImode,

 

  MIN_MODE_COMPLEX_FLOAT = SCmode,

  MAX_MODE_COMPLEX_FLOAT = DCmode,

 

  MIN_MODE_VECTOR_INT = VOIDmode,

  MAX_MODE_VECTOR_INT = VOIDmode,

 

  MIN_MODE_VECTOR_FRACT = VOIDmode,

  MAX_MODE_VECTOR_FRACT = VOIDmode,

 

  MIN_MODE_VECTOR_UFRACT = VOIDmode,

  MAX_MODE_VECTOR_UFRACT = VOIDmode,

 

  MIN_MODE_VECTOR_ACCUM = VOIDmode,

  MAX_MODE_VECTOR_ACCUM = VOIDmode,

 

  MIN_MODE_VECTOR_UACCUM = VOIDmode,

  MAX_MODE_VECTOR_UACCUM = VOIDmode,

 

  MIN_MODE_VECTOR_FLOAT = VOIDmode,

  MAX_MODE_VECTOR_FLOAT = VOIDmode,

 

  NUM_MACHINE_MODES = MAX_MACHINE_MODE

};

 

#define CONST_MODE_SIZE const

#define CONST_MODE_BASE_ALIGN const

#define CONST_MODE_IBIT const

#define CONST_MODE_FBIT const

 

#endif /* insn-modes.h */

 

 

 

参考资料

无心插柳-在vs2005中编译GCC4( 2008-1-13 )

gcc交叉编译的实现( 2008-1-25 )

vs2005下编译gcc:工程文件( 2008-1-30 )

asm_out_filegcc汇编代码的生成( 2008-1-30 )

gcc4.1中的machine_mode( 2008-2-1 )

gcc 4.3 configure脚本学习(1):前言( 2008-4-23 )

gcc 4.3 configure脚本学习(2):Be Bourne compatible( 2008-4-24 )

gcc 4.3 configure脚本学习(3):NLS nuisances( 2008-4-24 )

bfin-gcc-4.3.1config.h的生成( 2008-8-5 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(1):输出注释( 2008-8-5 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(2):Shell检测( 2008-8-5 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(3):文件配置( 2008-8-6 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(4):帮助信息输出( 2008-8-6 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(5):参数判断( 2008-8-6 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(6):子目录获取( 2008-8-6 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(7):创建临时目录( 2008-8-6 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(8):配置文件生成( 2008-8-6 )

bfin-xxx-gcc-4.3.1config.status的生成及运行(9):头文件生成( 2008-8-6 )

bfin-xxx-gcc-4.3.1auto-host.h的生成( 2008-8-6 )

bfin-xxx-gccmultilib.h的生成( 2008-8-7 )

bfin-xxx-gcctm.h的生成( 2008-8-7 )

bfin-xxx-gccoptions.h的生成( 2008-8-7 )

bfin-xxx-gccbconfig.h的生成( 2008-8-7 )

 

 

 

你可能感兴趣的:(vector,gcc,脚本,Random,Build,float)