亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? arm.h

?? 早期freebsd實現(xiàn)
?? H
?? 第 1 頁 / 共 4 頁
字號:
/* Definitions of target machine for GNU compiler, for Acorn RISC Machine.   Copyright (C) 1991 Free Software Foundation, Inc.   Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)              and Martin Simmons (@harleqn.co.uk).This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU CC is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING.  If not, write tothe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  *//* Sometimes the directive `riscos' is checked.  This does not imply that this   tm file can be used unchanged to build a GCC for RISC OS.   (Since in fact, it can't.)  */extern void output_prologue ();extern void output_epilogue ();extern char *arm_output_asm_insn ();extern char *arm_output_llc ();extern char *output_add_immediate ();extern char *output_call ();extern char *output_move_double ();extern char *output_mov_double_fpu_from_arm ();extern char *output_mov_double_arm_from_fpu ();extern char *output_mov_immediate ();extern char *output_multi_immediate ();extern char *output_shifted_move ();/* Translation to find startup files.  On RISCiX boxes, gcrt0.o is in   /usr/lib.  */#define STARTFILE_SPEC  \  "%{pg:/usr/lib/gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"#ifdef riscos#define CPP_PREDEFINES  "-Darm -Driscos"#else#define CPP_PREDEFINES  "-Darm -Driscix -Dunix"#endif/* Run-time Target Specification.  */#define TARGET_VERSION  \  fputs (" (ARM/RISCiX)", stderr);/* Run-time compilation parameters selecting different hardware subsets.   On the ARM, misuse it in a different way.  */extern int target_flags;/* Nonzero if the function prologue (and epilogue) should obey   the ARM Procedure Call Standard.  */#define TARGET_APCS	(target_flags & 1)/* Nonzero if the function prologue should output the function name to enable   the post mortem debugger to print a backtrace (very useful on RISCOS,   unused on RISCiX).  Specifying this flag also enables -mapcs.   XXX Must still be implemented in the prologue.  */#define TARGET_POKE_FUNCTION_NAME	(target_flags & 2)/* Nonzero if floating point instructions are emulated by the FPE, in which   case instruction scheduling becomes very uninteresting.  */#define TARGET_FPE	(target_flags & 4)#define TARGET_SWITCHES  \{                         			\  {"apcs",		 1},			\  {"poke-function-name", 2},			\  {"fpe",		 4},			\  {"",   		 TARGET_DEFAULT }	\}#define TARGET_DEFAULT  0#define TARGET_MEM_FUNCTIONS 1/* OVERRIDE_OPTIONS takes care of the following:   - if -mpoke-function-name, then -mapcs.   - if doing debugging, then -mapcs; if RISCOS, then -mpoke-function-name.   - if floating point is done by emulation, forget about instruction     scheduling.  Note that this only saves compilation time; it doesn't     matter for the final code.  */#ifdef riscos#define TARGET_WHEN_DEBUGGING  3#else#define TARGET_WHEN_DEBUGGING  1#endif#define OVERRIDE_OPTIONS  \{								\  if (write_symbols != NO_DEBUG)				\    target_flags |= TARGET_WHEN_DEBUGGING;			\  else if (TARGET_POKE_FUNCTION_NAME)				\    target_flags |= 1;						\  if (TARGET_FPE)						\    flag_schedule_insns = flag_schedule_insns_after_reload = 0;	\}/* Omitting the frame pointer is a very good idea on the ARM, especially if   not TARGET_APCS, in which case all that pushing on function entry isn't   mandatory anymore.  */#define OPTIMIZATION_OPTIONS(OPTIMIZE)  \{					\  if (OPTIMIZE)				\    flag_omit_frame_pointer = 1;	\}/* Target machine storage Layout.  *//* Define this if most significant bit is lowest numbered   in instructions that operate on numbered bit-fields.  */#define BITS_BIG_ENDIAN  0/* Define this if most significant byte of a word is the lowest numbered.  */#define BYTES_BIG_ENDIAN  0/* Define this if most significant word of a multiword number is the lowest   numbered.  */#define WORDS_BIG_ENDIAN  0/* Number of bits in an addressable storage unit */#define BITS_PER_UNIT  8#define BITS_PER_WORD  32#define UNITS_PER_WORD	4#define POINTER_SIZE  32#define PARM_BOUNDARY  	32#define STACK_BOUNDARY  32#define FUNCTION_BOUNDARY  32#define EMPTY_FIELD_BOUNDARY  32#define BIGGEST_ALIGNMENT  32/* Every structures size must be a multiple of 32 bits.  */#define STRUCTURE_SIZE_BOUNDARY 32#define STRICT_ALIGNMENT 1/* Define number of bits in most basic integer type.   (If undefined, default is BITS_PER_WORD).  *//* #define INT_TYPE_SIZE *//* Standard register usage.  *//* Register allocation in ARM Procedure Call Standard (as used on RISCiX):   (S - saved over call).	r0	   *	argument word/integer result	r1-r3		argument word	r4-r8	     S	register variable	r9	     S	(rfp) register variable (real frame pointer)	r10  	   F S	(sl) stack limit (not currently used)	r11 	   F S	(fp) argument pointer	r12		(ip) temp workspace	r13  	   F S	(sp) lower end of current stack frame	r14		(lr) link address/workspace	r15	   F	(pc) program counter	f0		floating point result	f1-f3		floating point scratch	f4-f7	     S	floating point variable   *: See CONDITIONAL_REGISTER_USAGE  *//* The number of hard registers is 16 ARM + 8 FPU.  */#define FIRST_PSEUDO_REGISTER  24/* 1 for registers that have pervasive standard uses   and are not available for the register allocator.  */#define FIXED_REGISTERS  \{                        \  0,0,0,0,0,0,0,0,	 \  0,0,1,1,0,1,0,1,	 \  0,0,0,0,0,0,0,0	 \}/* 1 for registers not available across function calls.   These must include the FIXED_REGISTERS and also any   registers that can be used without being saved.   The latter must include the registers where values are returned   and the register where structure-value addresses are passed.   Aside from that, you can include as many other registers as you like.  */#define CALL_USED_REGISTERS  \{                            \  1,1,1,1,0,0,0,0,	     \  0,0,1,1,1,1,1,1,	     \  1,1,1,1,0,0,0,0	     \}/* If doing stupid life analysis, avoid a bug causing a return value r0 to be   trampled.  This effectively reduces the number of available registers by 1.   XXX It is a hack, I know.   XXX Is this still needed?  */#define CONDITIONAL_REGISTER_USAGE  \{			\  if (obey_regdecls)	\    fixed_regs[0] = 1;	\}/* Return number of consecutive hard regs needed starting at reg REGNO   to hold something of mode MODE.   This is ordinarily the length in words of a value of mode MODE   but can be less for certain modes in special long registers.   On the ARM regs are UNITS_PER_WORD bits wide; FPU regs can hold any FP   mode.  */#define HARD_REGNO_NREGS(REGNO, MODE)  \    ((REGNO) >= 16 ? 1							\     : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.   This is TRUE for ARM regs since they can hold anything, and TRUE for FPU   regs holding FP.  */#define HARD_REGNO_MODE_OK(REGNO, MODE)  \  ((REGNO) < 16 || GET_MODE_CLASS (MODE) == MODE_FLOAT)/* Value is 1 if it is a good idea to tie two pseudo registers   when one has mode MODE1 and one has mode MODE2.   If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2,   for any hard reg, then this must be 0 for correct output.  */#define MODES_TIEABLE_P(MODE1, MODE2)  \  (((MODE1) == SFmode || (MODE1) == DFmode)      \   == ((MODE2) == SFmode || (MODE2) == DFmode))/* Specify the registers used for certain standard purposes.   The values of these macros are register numbers.  *//* Define this if the program counter is overloaded on a register.  */#define PC_REGNUM		15/* Register to use for pushing function arguments.  */#define STACK_POINTER_REGNUM	13/* Base register for access to local variables of the function.  */#define FRAME_POINTER_REGNUM	9/* Value should be nonzero if functions must have frame pointers.   Zero means the frame pointer need not be set up (and parms may be accessed   via the stack pointer) in functions that seem suitable.  */#define FRAME_POINTER_REQUIRED	0/* Base register for access to arguments of the function.  */#define ARG_POINTER_REGNUM	11/* The native (Norcroft) Pascal compiler for the ARM passes the static chain   as an invisible last argument (possible since varargs don't exist in   Pascal), so the following is not true.  */#define STATIC_CHAIN_REGNUM	8/* Register in which address to store a structure value   is passed to a function.  */#define STRUCT_VALUE_REGNUM	0/* The order in which register should be allocated.  It is good to use ip   since no saving is required (though calls clobber it).  It is quite good to   use lr since other calls may clobber it anyway.  */#define REG_ALLOC_ORDER  \{                                   \    0, 1, 2, 3, 12, 14,	4, 5,       \    6, 7, 8, 10, 9, 11, 13, 15,     \    16, 17, 18, 19, 20, 21, 22, 23  \}/* Register and constant classes.  *//* Register classes: all ARM regs or all FPU regs---simple! */enum reg_class{  NO_REGS,  FPU_REGS,  GENERAL_REGS,  ALL_REGS,  LIM_REG_CLASSES};#define N_REG_CLASSES  (int) LIM_REG_CLASSES/* Give names of register classes as strings for dump file.   */#define REG_CLASS_NAMES  \{			\  "NO_REGS",		\  "FPU_REGS",		\  "GENERAL_REGS",	\  "ALL_REGS",		\}/* Define which registers fit in which classes.   This is an initializer for a vector of HARD_REG_SET   of length N_REG_CLASSES.  */#define REG_CLASS_CONTENTS  \{				\  0x000000,  /* NO_REGS  */	\  0xFF0000,  /* FPU_REGS */	\  0x00FFFF,  /* GENERAL_REGS */	\  0xFFFFFF   /* ALL_REGS */	\}/* The same information, inverted:   Return the class number of the smallest class containing   reg number REGNO.  This could be a conditional expression   or could index an array.  */#define REGNO_REG_CLASS(REGNO)  \  ((REGNO) < 16 ? GENERAL_REGS : FPU_REGS)/* The class value for index registers, and the one for base regs.  */#define INDEX_REG_CLASS  GENERAL_REGS#define BASE_REG_CLASS	GENERAL_REGS/* Get reg_class from a letter such as appears in the machine description.   We only need constraint `f' for FPU_REGS (`r' == GENERAL_REGS).  */#define REG_CLASS_FROM_LETTER(C)  \  ((C)=='f' ? FPU_REGS : NO_REGS)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲小少妇裸体bbw| 久久精品噜噜噜成人av农村| 天堂蜜桃一区二区三区| 成人黄色小视频| 91精品国产综合久久久久久| 国产精品丝袜黑色高跟| 久久精品国产一区二区三| 欧美又粗又大又爽| 日韩伦理电影网| 风间由美一区二区三区在线观看 | 亚洲成人777| 成人精品高清在线| 欧美精品一区二区三区蜜桃| 午夜电影一区二区| 欧美主播一区二区三区美女| 亚洲视频每日更新| 成人一区二区视频| 久久久久久免费| 极品少妇一区二区三区精品视频| 欧美日韩三级视频| 性感美女极品91精品| 欧美在线一区二区| 悠悠色在线精品| 成人精品免费看| 中文在线免费一区三区高中清不卡| 激情图区综合网| 精品国产亚洲在线| 国产一区二区三区四区五区入口| 欧美mv日韩mv| 久久国内精品视频| 精品电影一区二区三区 | 一区二区日韩电影| 在线免费视频一区二区| 一区二区成人在线视频| 欧美性猛交xxxx乱大交退制版| 亚洲三级电影网站| 欧美亚洲综合网| 午夜精品免费在线| 欧美一级黄色录像| 精品在线你懂的| 久久精品夜夜夜夜久久| 成人免费电影视频| 日韩美女视频19| 欧美三级日本三级少妇99| 亚洲国产精品视频| 欧美一区二区不卡视频| 国产精品综合二区| 中文字幕亚洲在| 欧美美女bb生活片| 国产一区二区三区在线观看免费视频 | 亚洲国产精品影院| 日韩一区二区精品| 风流少妇一区二区| 亚洲丰满少妇videoshd| 欧美成人r级一区二区三区| 国产成人av在线影院| 亚洲精品日产精品乱码不卡| 欧美精品日韩精品| 国产91清纯白嫩初高中在线观看| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩中文字幕一区| 狠狠色狠狠色综合日日91app| 精品少妇一区二区三区免费观看| 国产成+人+日韩+欧美+亚洲| 亚洲精品国久久99热| 欧美情侣在线播放| 国产一区二区三区高清播放| 国产精品萝li| 精品国产乱码久久久久久闺蜜| 成人高清视频在线| 日韩黄色片在线观看| 国产精品私房写真福利视频| 91麻豆精品国产自产在线| 国产ts人妖一区二区| 日本不卡高清视频| 亚洲免费成人av| 国产日本一区二区| 欧美放荡的少妇| 99热在这里有精品免费| 免费久久精品视频| 亚洲图片激情小说| 久久久另类综合| 欧美伦理影视网| 色综合中文字幕国产| 亚洲同性gay激情无套| 91精品国产综合久久精品| 国产成人免费视频精品含羞草妖精 | 极品尤物av久久免费看| 亚洲国产精品天堂| 亚洲婷婷综合色高清在线| 久久影音资源网| 日韩精品一区二区三区视频在线观看| 91久久人澡人人添人人爽欧美| 国产成人高清在线| 国内成人精品2018免费看| 亚洲成a人v欧美综合天堂 | 91久久精品一区二区三| 国产成人av自拍| 激情文学综合插| 捆绑调教一区二区三区| 亚洲成人免费在线| 亚洲黄色小视频| 亚洲色图第一区| 中文字幕亚洲欧美在线不卡| 久久色视频免费观看| 欧美一区二区大片| 欧美一二三在线| 正在播放一区二区| 欧美电影在线免费观看| 欧美日韩精品欧美日韩精品一| 欧美自拍丝袜亚洲| 欧美三级欧美一级| 欧美日韩精品系列| 欧美肥妇bbw| 日韩欧美自拍偷拍| 日韩欧美在线123| 日韩精品一区二区三区四区| 欧美一区二区性放荡片| 欧美成人一区二区| ww亚洲ww在线观看国产| 国产日韩欧美在线一区| 国产精品国产自产拍在线| 成人在线视频一区二区| 国产精品1区2区| 国产 欧美在线| 99久久精品国产精品久久| 本田岬高潮一区二区三区| 色综合色综合色综合色综合色综合| 99re热这里只有精品免费视频| 色综合天天综合网天天狠天天| 日本精品一区二区三区四区的功能| 在线观看91视频| 日韩一区二区三区高清免费看看| 欧美成人性战久久| 国产精品高潮久久久久无| 亚洲美女在线一区| 青青草一区二区三区| 国产一区二区三区美女| 成年人午夜久久久| 777亚洲妇女| 久久精品日韩一区二区三区| 中文字幕一区二区三中文字幕| 亚洲最新视频在线播放| 看片网站欧美日韩| 91香蕉国产在线观看软件| 欧美精品黑人性xxxx| 久久精品视频在线免费观看| 亚洲精品成人在线| 九色综合国产一区二区三区| 99re66热这里只有精品3直播| 欧美日韩高清一区二区三区| 久久香蕉国产线看观看99| 亚洲人成精品久久久久| 蜜臀av性久久久久蜜臀av麻豆| 不卡电影一区二区三区| 日韩丝袜情趣美女图片| 亚洲男人天堂一区| 黄色精品一二区| 欧美怡红院视频| 国产精品午夜在线| 日本欧美久久久久免费播放网| gogo大胆日本视频一区| 欧美一区二区三区啪啪| 亚洲日穴在线视频| 国产精品一区二区三区乱码| 欧美日韩精品系列| 国产精品久久久久婷婷二区次| 美女性感视频久久| 日本道在线观看一区二区| 欧美激情一区二区三区不卡| 亚洲成va人在线观看| 91在线视频播放地址| 2020国产精品自拍| 日本欧洲一区二区| 在线观看91视频| 国产精品麻豆一区二区| 国产一区二区三区四| 日韩视频一区二区| 日韩精彩视频在线观看| 国产精品一区在线观看你懂的| 国产激情一区二区三区桃花岛亚洲| 欧美日韩视频在线观看一区二区三区 | 欧美人与z0zoxxxx视频| 亚洲人成在线观看一区二区| 成人性生交大片免费看中文 | 国产在线不卡一卡二卡三卡四卡| 欧美怡红院视频| 亚洲已满18点击进入久久| 91色视频在线| 亚洲视频精选在线| 91丨九色丨蝌蚪富婆spa| 中文字幕在线视频一区| 国产高清一区日本| 精品乱码亚洲一区二区不卡| 亚洲视频在线一区观看| 国产精品亚洲一区二区三区妖精| 精品久久久久一区二区国产| 激情伊人五月天久久综合| 欧美va亚洲va| 激情综合亚洲精品|