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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tm-pyr.h

?? 這是完整的gcc源代碼
?? H
?? 第 1 頁 / 共 4 頁
字號:
/* ---> Since we always have a frame pointer, it is safe for this   to not work.   */#define FIX_FRAME_POINTER_ADDRESS(ADDR,DEPTH) \	fatal ("compiler error, Pyramid call without frame ptr!\n")/*** Addressing modes, and classification of registers for them.  ***//* #define HAVE_POST_INCREMENT */	/* pyramid has none of these *//* #define HAVE_POST_DECREMENT *//* #define HAVE_PRE_DECREMENT *//* #define HAVE_PRE_INCREMENT *//* Macros to check register numbers against specific register classes.  *//* These assume that REGNO is a hard or pseudo reg number.   They give nonzero only if REGNO is a hard reg of the suitable class   or a pseudo reg currently allocated to a suitable hard reg.   Since they use reg_renumber, they are safe only once reg_renumber   has been allocated, which happens in local-alloc.c.  *//* All registers except gr0 OK as index or base registers.  */#define REGNO_OK_FOR_BASE_P(regno) \((0 < (regno) && (regno) < FIRST_PSEUDO_REGISTER) || reg_renumber[regno] > 0)#define REGNO_OK_FOR_INDEX_P(regno)  \((0 < (regno) && (regno) < FIRST_PSEUDO_REGISTER) || reg_renumber[regno] > 0)/* Maximum number of registers that can appear in a valid memory address.  */#define MAX_REGS_PER_ADDRESS 2     /* check MAX_REGS_PER_ADDRESS *//* 1 if X is an rtx for a constant that is a valid address.  */#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X)/* Nonzero if the constant value X is a legitimate general operand.   It is given that X satisfies CONSTANT_P or is a CONST_DOUBLE.  */#define LEGITIMATE_CONSTANT_P(X) 1/* The macros REG_OK_FOR..._P assume that the arg is a REG rtx   and check its validity for a certain class.   We have two alternate definitions for each of them.   The usual definition accepts all pseudo regs; the other rejects   them unless they have been allocated suitable hard regs.   The symbol REG_OK_STRICT causes the latter definition to be used.   Most source files want to accept pseudo regs in the hope that   they will get allocated to the class that the insn wants them to be in.   Source files for reload pass need to be strict.   After reload, it makes no difference, since pseudo regs have   been eliminated by then.  */#ifndef REG_OK_STRICT/* Nonzero if X is a hard reg that can be used as an index   or if it is a pseudo reg.  */#define REG_OK_FOR_INDEX_P(X) 1/* Nonzero if X is a hard reg that can be used as a base reg   or if it is a pseudo reg.  */#define REG_OK_FOR_BASE_P(X) 1#else/* Nonzero if X is a hard reg that can be used as an index.  */#define REG_OK_FOR_INDEX_P(X) REGNO_OK_FOR_INDEX_P (REGNO (X))/* Nonzero if X is a hard reg that can be used as a base reg.  */#define REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X))#endif/* GO_IF_LEGITIMATE_ADDRESS recognizes an RTL expression   that is a valid memory address for an instruction.   The MODE argument is the machine mode for the MEM expression   that wants to use this address.   The other macros defined here are used only in GO_IF_LEGITIMATE_ADDRESS,   except for CONSTANT_ADDRESS_P which is actually machine-independent.  *//* Go to ADDR if X is indexable -- ie, neither indexed nor offset.   Note that X is indexable iff x is offset.  */#define GO_IF_INDEXABLE_ADDRESS(X, ADDR)  \{ register rtx xfoob = (X);						\  if ((CONSTANT_ADDRESS_P (xfoob))					\      || (GET_CODE (xfoob) == REG && (REG_OK_FOR_BASE_P (xfoob))))	\	  goto ADDR;							\ }/* Go to label ADDR if X is a valid address that doesn't use indexing.   This is so if X is either a simple address, or the contents of a register   plus an offset.   This macro also gets used in output-pyramid.h in the function that   recognizes non-indexed operands.  */#define GO_IF_NONINDEXED_ADDRESS(X, ADDR)  \{									\  if (GET_CODE (X) == REG)						\      goto ADDR;							\  GO_IF_INDEXABLE_ADDRESS (X, ADDR);					\  if (GET_CODE (X) == PLUS)						\    { /* Handle offset(reg) represented with offset on left */		\      if (CONSTANT_ADDRESS_P (XEXP (X, 0)))				\	{ if (GET_CODE (XEXP (X, 1)) == REG				\	      && REG_OK_FOR_BASE_P (XEXP (X, 1)))			\	    goto ADDR;							\	 }								\      /* Handle offset(reg) represented with offset on right */		\      if (CONSTANT_ADDRESS_P (XEXP (X, 1)))				\	{ if (GET_CODE (XEXP (X, 0)) == REG				\	      && REG_OK_FOR_BASE_P (XEXP (X, 0)))			\	    goto ADDR;							\	 }								\     }									\}/* 1 if PROD is either a reg or a reg times a valid offset multiplier   (ie, 2, 4, or 8).   This macro's expansion uses the temporary variables xfoo0 and xfoo1   that must be declared in the surrounding context.  */#define INDEX_TERM_P(PROD, MODE)   \((GET_CODE (PROD) == REG && REG_OK_FOR_BASE_P (PROD))			\  || (GET_CODE (PROD) == MULT						\      &&								\      (xfoo0 = XEXP (PROD, 0), xfoo1 = XEXP (PROD, 1),			\       ((GET_CODE (xfoo0) == CONST_INT					\         && (INTVAL (xfoo0) == 1					\	     || INTVAL (xfoo0) == 2					\	     || INTVAL (xfoo0) == 4					\	     || INTVAL (xfoo0) == 8)					\         && GET_CODE (xfoo1) == REG					\         && REG_OK_FOR_INDEX_P (xfoo1))					\        ||								\        (GET_CODE (xfoo1) == CONST_INT					\	 && (INTVAL (xfoo1) == 1					\	     || INTVAL (xfoo1) == 2					\	     || INTVAL (xfoo1) == 4					\	     || INTVAL (xfoo1) == 8)					\        && GET_CODE (xfoo0) == REG					\        && REG_OK_FOR_INDEX_P (xfoo0))))))#define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR)  \{ register rtx xone, xtwo, xfoo0, xfoo1;				\  GO_IF_NONINDEXED_ADDRESS (X, ADDR);					\  if (TARGET_INDEX && GET_CODE (X) == PLUS)				\    {									\      /* Handle <address>[index] represented with index-sum outermost */\      xone = XEXP (X, 0);						\      xtwo = XEXP (X, 1);						\      if (INDEX_TERM_P (xone, MODE))					\	{ GO_IF_INDEXABLE_ADDRESS (xtwo, ADDR); }			\      /* Handle <address>[index] represented with index-sum innermost */\      if (INDEX_TERM_P (xtwo, MODE))					\	{ GO_IF_INDEXABLE_ADDRESS (xone, ADDR); }			\    }									\}/* Try machine-dependent ways of modifying an illegitimate address   to be legitimate.  If we find one, return the new, valid address.   This macro is used in only one place: `memory_address' in explow.c.   OLDX is the address as it was before break_out_memory_refs was called.   In some cases it is useful to look at this to decide what needs to be done.   MODE and WIN are passed so that this macro can use   GO_IF_LEGITIMATE_ADDRESS.   It is always safe for this macro to do nothing.  It exists to recognize   opportunities to optimize the output.   --> FIXME: We haven't yet figured out what optimizations are useful   --> on Pyramids.   */#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}/* Go to LABEL if ADDR (a legitimate address expression)   has an effect that depends on the machine mode it is used for.   There don't seem to be any such modes on pyramids. */#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL)/*** Miscellaneous Parameters ***//* Specify the machine mode that this machine uses   for the index in the tablejump instruction.  */#define CASE_VECTOR_MODE SImode/* Define this if the tablejump instruction expects the table   to contain offsets from the address of the table.   Do not define this if the table should contain absolute addresses.  *//*#define CASE_VECTOR_PC_RELATIVE*//* Specify the tree operation to be used to convert reals to integers.  */#define IMPLICIT_FIX_EXPR FIX_ROUND_EXPR/* This is the kind of divide that is easiest to do in the general case.   It's just a guess. I have no idea of insn cost on pyrs. */#define EASY_DIV_EXPR TRUNC_DIV_EXPR/* Define this as 1 if `char' should by default be signed; else as 0.  */#define DEFAULT_SIGNED_CHAR 1/* This flag, if defined, says the same insns that convert to a signed fixnum   also convert validly to an unsigned one.  *//* This is untrue for pyramid.  The cvtdw instruction generates a trap   for input operands that are out-of-range for a signed int.  *//* #define FIXUNS_TRUNC_LIKE_FIX_TRUNC *//* Define this macro if the preprocessor should silently ignore  '#sccs' directives. *//* #define SCCS_DIRECTIVE *//* Define this macro if the preprocessor should silently ignore  '#ident' directives. *//* #define IDENT_DIRECTIVE *//* Max number of bytes we can move from memory to memory   in one reasonably fast instruction.  */#define MOVE_MAX 8/* Define this if zero-extension is slow (more than one real instruction).  *//* #define SLOW_ZERO_EXTEND *//* number of bits in an 'int' on target machine */#define INT_TYPE_SIZE 32/* 1 if byte access requires more than one instruction */#define SLOW_BYTE_ACCESS 0/* Define if shifts truncate the shift count   which implies one can omit a sign-extension or zero-extension   of a shift count.  */#define SHIFT_COUNT_TRUNCATED/* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits   is done just by pretending it is already truncated.  */#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1/* Define this macro if it is as good or better to call a constant   function address than to call an address kept in a register./* #define NO_FUNCTION_CSE *//* When a prototype says `char' or `short', really pass an `int'.  */#define PROMOTE_PROTOTYPES/* There are no flag store insns on a pyr. *//* #define STORE_FLAG_VALUE *//* Specify the machine mode that pointers have.   After generation of rtl, the compiler makes no further distinction   between pointers and any other objects of this machine mode.  */#define Pmode SImode/* A function address in a call instruction   is a byte address (for indexing purposes)   so give the MEM rtx a byte's mode.  */#define FUNCTION_MODE QImode/* Compute the cost of computing a constant rtl expression RTX   whose rtx-code is CODE.  The body of this macro is a portion   of a switch statement.  If the code is computed here,   return it with a return statement.  Otherwise, break from the switch.  */#define CONST_COSTS(RTX,CODE) \  case CONST_INT:						\    if (CONST_OK_FOR_LETTER_P (INTVAL (RTX),'I')) return 0;	\  case CONST:							\  case LABEL_REF:						\  case SYMBOL_REF:						\    return 2;							\  case CONST_DOUBLE:						\    return 4;/*** Condition Code Information ***//* Tell final.c how to eliminate redundant test instructions.  *//* Here we define machine-dependent flags and fields in cc_status   (see `conditions.h').  No extra ones are needed for the pyr.  *//* Store in cc_status the expressions   that the condition codes will describe   after execution of an instruction whose pattern is EXP.   Do not alter them if the instruction would not alter the cc's.  *//* This is a very simple definition of NOTICE_UPDATE_CC.   Many cases can be optimized, to improve condition code usage.   Maybe we should handle this entirely in the md, since it complicated   to describe the way pyr sets cc.  */#define TRULY_UNSIGNED_COMPARE_P(X) \  (X == GEU || X == GTU || X == LEU || X == LTU)#define CC_VALID_FOR_UNSIGNED 2#define CC_STATUS_MDEP_INIT cc_status.mdep = 0#define NOTICE_UPDATE_CC(EXP, INSN) \  notice_update_cc(EXP, INSN)/*** Output of Assembler Code ***//* Output at beginning of assembler file.  */#define ASM_FILE_START(FILE) \  fprintf (FILE, ((TARGET_UNIX_ASM)? "" : "#NO_APP\n"));/* Output to assembler file text saying following lines   may contain character constants, extra white space, comments, etc.  */#define ASM_APP_ON ((TARGET_UNIX_ASM) ? "" : "#APP\n")/* Output to assembler file text saying following lines   no longer contain unusual constructs.  */#define ASM_APP_OFF ((TARGET_UNIX_ASM) ? "" : "#NO_APP\n")/* Output before read-only data.  */#define TEXT_SECTION_ASM_OP ".text"/* Output before writable data.  */#define DATA_SECTION_ASM_OP ".data"/* How to refer to registers in assembler output.   This sequence is indexed by compiler's hard-register-number (see above).  */#define REGISTER_NAMES \{"gr0", "gr1", "gr2", "gr3", "gr4", "gr5", "gr6", "gr7", "gr8", \ "gr9", "gr10", "gr11", "logpsw", "cfp", "sp", "pc", \ "pr0", "pr1", "pr2", "pr3", "pr4", "pr5", "pr6", "pr7", \ "pr8", "pr9", "pr10", "pr11", "pr12", "pr13", "pr14", "pr15", \ "lr0", "lr1", "lr2", "lr3", "lr4", "lr5", "lr6", "lr7", \ "lr8", "lr9", "lr10", "lr11", "lr12", "lr13", "lr14", "lr15", \ "tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7", \ "tr8", "tr9", "tr10", "tr11", "tr12", "tr13", "tr14", "tr15"}/* How to renumber registers for dbx and gdb.  */#define DBX_REGISTER_NUMBER(REGNO) (REGNO)/* Our preference is for dbx rather than sdb.   Yours may be different. */#define DBX_DEBUGGING_INFO/* #define SDB_DEBUGGING_INFO *//* Don't use the `xsfoo;' construct in DBX output; this system   doesn't support it.  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区三区| 99这里只有精品| 99久久精品国产一区二区三区 | 欧美日韩国产色站一区二区三区| 欧美一级生活片| 亚洲欧美日韩在线| 国模大尺度一区二区三区| 欧美影视一区在线| 中文字幕在线不卡视频| 麻豆高清免费国产一区| 欧美三级一区二区| 亚洲女人****多毛耸耸8| 国产福利精品导航| 欧美一卡二卡三卡| 亚洲成人久久影院| 日本久久精品电影| 亚洲视频小说图片| 成人妖精视频yjsp地址| 久久精品一区二区三区四区| 美女网站在线免费欧美精品| 欧美三级韩国三级日本三斤| 亚洲免费在线播放| 色一情一乱一乱一91av| 中文字幕一区二区三区在线不卡 | 717成人午夜免费福利电影| 欧美大片国产精品| 日韩不卡在线观看日韩不卡视频| 一道本成人在线| 夜夜精品视频一区二区| 91麻豆免费视频| 亚洲理论在线观看| 在线观看国产91| 亚洲成人在线免费| 欧美日本国产视频| 日韩国产欧美三级| 欧美成人精品福利| 精品一区中文字幕| 久久久亚洲精华液精华液精华液 | 精品国产青草久久久久福利| 久久爱www久久做| 久久精品夜夜夜夜久久| 成人黄色在线看| 亚洲色图在线看| 欧美精品久久一区二区三区 | 亚洲成a人在线观看| 欧美天堂亚洲电影院在线播放| 亚洲第一成年网| 欧美变态凌虐bdsm| 成人午夜激情片| 亚洲精品日日夜夜| 欧美肥妇毛茸茸| 国产一区二区三区精品视频| 日本一区二区三区四区| 91色porny| 免费人成精品欧美精品| wwwwww.欧美系列| 成人性生交大片免费看中文网站| 综合在线观看色| 欧美日韩高清不卡| 丰满白嫩尤物一区二区| 亚洲国产日韩在线一区模特| 欧美一级片在线看| 成人性色生活片免费看爆迷你毛片| 亚洲美女视频在线观看| 日韩一级片在线观看| 波多野结衣一区二区三区| 亚洲国产视频网站| 26uuu亚洲综合色欧美 | 亚洲一区免费在线观看| 精品国产伦一区二区三区观看体验| av在线不卡电影| 日日欢夜夜爽一区| 国产精品另类一区| 欧美二区三区的天堂| 成人性色生活片| 免费人成在线不卡| 一区二区在线观看不卡| 精品福利一二区| 欧美日韩视频第一区| 成人激情动漫在线观看| 美女高潮久久久| 亚洲一区二区三区四区五区中文| 久久网站热最新地址| 欧美三级资源在线| 99视频国产精品| 国产美女久久久久| 日本成人中文字幕| 亚洲综合视频在线| 中文文精品字幕一区二区| 日韩精品一区二区三区swag| 欧美视频一区二| 日本高清视频一区二区| 成人在线视频一区二区| 精品一区二区国语对白| 日日夜夜一区二区| 亚洲在线成人精品| 亚洲精品亚洲人成人网在线播放| 久久亚洲捆绑美女| 日韩免费电影网站| 91精品福利在线一区二区三区| 色老综合老女人久久久| jiyouzz国产精品久久| 国产91精品欧美| 成人一区二区三区中文字幕| 国产麻豆9l精品三级站| 麻豆精品视频在线观看视频| 午夜欧美电影在线观看| 亚洲黄一区二区三区| 亚洲视频一区在线观看| 亚洲精品亚洲人成人网 | 欧美在线免费播放| 91麻豆视频网站| 欧洲一区二区三区在线| 99国产精品国产精品久久| 99re热这里只有精品视频| 99久久综合国产精品| 99久久综合色| 欧美视频日韩视频| 91精品综合久久久久久| 欧美成人精品3d动漫h| 久久精子c满五个校花| 国产日产亚洲精品系列| 国产精品美女久久久久久久久久久 | 久久av老司机精品网站导航| 精品一区二区三区欧美| 国产精品自拍在线| 99久久久精品| 欧美日韩国产片| 精品国产乱码久久久久久夜甘婷婷| 久久久久久夜精品精品免费| 国产精品日韩精品欧美在线| 亚洲另类在线一区| 秋霞影院一区二区| 国产乱码字幕精品高清av| 99热99精品| 9191精品国产综合久久久久久| 日韩精品一区二区三区中文精品| 久久久久久亚洲综合| 最新欧美精品一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 日韩精品久久理论片| 国产精品白丝av| 色噜噜狠狠色综合欧洲selulu| 欧美日韩日日摸| 久久久久97国产精华液好用吗| 中文字幕一区三区| 日韩和的一区二区| 国产成人免费视频 | 99久久综合国产精品| 欧美三级中文字| 久久久久久**毛片大全| 亚洲男帅同性gay1069| 裸体健美xxxx欧美裸体表演| 高清日韩电视剧大全免费| 欧美精品久久一区| 中文字幕在线观看不卡| 美国三级日本三级久久99| 成人做爰69片免费看网站| 在线电影欧美成精品| 国产精品污污网站在线观看| 亚欧色一区w666天堂| 波多野结衣在线aⅴ中文字幕不卡| 久久国内精品视频| 色欧美片视频在线观看| 久久日韩粉嫩一区二区三区 | 久久爱www久久做| 在线免费观看成人短视频| 日韩欧美国产综合一区| 有码一区二区三区| 成人精品免费看| 欧美成人精品1314www| 亚洲第四色夜色| 91免费观看视频| 国产精品乱码一区二三区小蝌蚪| 久久99精品国产麻豆婷婷洗澡| 欧美性受极品xxxx喷水| 亚洲欧洲在线观看av| 国产精选一区二区三区| 欧美日韩dvd在线观看| 亚洲男同性视频| www.激情成人| 日本一区二区三区四区在线视频 | www国产精品av| 日韩福利电影在线| 欧美日韩一本到| 一区二区三区在线高清| 国产成人午夜99999| 26uuu另类欧美| 国产一区三区三区| 欧美成人女星排名| 久久国产福利国产秒拍| 欧美成人高清电影在线| 天天射综合影视| 欧美剧在线免费观看网站| 亚洲国产中文字幕| 欧美精品高清视频| 日韩黄色一级片| 欧美一级欧美三级在线观看 | 亚洲成人av一区| 欧美自拍偷拍一区|