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

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

?? arm.h

?? 早期freebsd實(shí)現(xiàn)
?? H
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* 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))/* 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))#define REG_OK_FOR_PRE_POST_P(X)  \  (REGNO (X) < 16 || (unsigned) reg_renumber[REGNO (X)] < 16)#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.  */#define BASE_REGISTER_RTX_P(X)  \  (GET_CODE (X) == REG && REG_OK_FOR_BASE_P (X))#define INDEX_REGISTER_RTX_P(X)  \  (GET_CODE (X) == REG && REG_OK_FOR_INDEX_P (X))/* A C statement (sans semicolon) to jump to LABEL for legitimate index RTXs   used by the macro GO_IF_LEGITIMATE_ADDRESS.  Floating point indices can   only be small constants. */#define GO_IF_LEGITIMATE_INDEX(MODE, BASE_REGNO, INDEX, LABEL)  \do \{										      \  int range;									      \										      \  if (GET_MODE_CLASS (MODE) == MODE_FLOAT)					      \    range = 1024;								      \  else										      \    {										      \      if (INDEX_REGISTER_RTX_P (INDEX))						      \	goto LABEL;								      \      if (GET_MODE_SIZE (MODE) <= 4  &&  GET_CODE (INDEX) == MULT)		      \	{									      \	  rtx xiop0 = XEXP (INDEX, 0);						      \	  rtx xiop1 = XEXP (INDEX, 1);						      \	  if (INDEX_REGISTER_RTX_P (xiop0) &&  power_of_two_operand (xiop1, SImode))  \	    goto LABEL;								      \	  if (INDEX_REGISTER_RTX_P (xiop1) &&  power_of_two_operand (xiop0, SImode))  \	    goto LABEL;								      \	}									      \      range = 4096;								      \    }										      \										      \    if (GET_CODE (INDEX) == CONST_INT && abs (INTVAL (INDEX)) < range)  	      \      goto LABEL;								      \} while (0)/* Jump to LABEL if X is a valid address RTX.  This must also take   REG_OK_STRICT into account when deciding about valid registers, but it uses   the above macros so we are in luck.  Allow REG, REG+REG, REG+INDEX,   INDEX+REG, REG-INDEX, and non floating SYMBOL_REF to the constant pool.   Allow REG-only and AUTINC-REG if handling TImode.  Other symbol refs must   be forced though a static cell to ensure addressability.  */#define GO_IF_LEGITIMATE_ADDRESS(MODE, X, LABEL)  \{									\  if (BASE_REGISTER_RTX_P (X))						\    goto LABEL;								\  else if ((GET_CODE (X) == POST_INC || GET_CODE (X) == PRE_DEC)	\	   && GET_CODE (XEXP (X, 0)) == REG				\	   && REG_OK_FOR_PRE_POST_P (XEXP (X, 0)))			\    goto LABEL;								\  else if ((MODE) == TImode)						\    ;									\  else if (GET_CODE (X) == PLUS)					\    {									\      rtx xop0 = XEXP(X,0);						\      rtx xop1 = XEXP(X,1);						\									\      if (BASE_REGISTER_RTX_P (xop0))					\	GO_IF_LEGITIMATE_INDEX (MODE, REGNO (xop0), xop1, LABEL);	\      else if (BASE_REGISTER_RTX_P (xop1))				\	GO_IF_LEGITIMATE_INDEX (MODE, REGNO (xop1), xop0, LABEL);	\    }									\  else if (GET_CODE (X) == MINUS)					\    {									\      rtx xop0 = XEXP (X,0);						\      rtx xop1 = XEXP (X,1);						\									\      if (BASE_REGISTER_RTX_P (xop0))					\	GO_IF_LEGITIMATE_INDEX (MODE, -1, xop1, LABEL);			\    }									\  else if (GET_MODE_CLASS (MODE) != MODE_FLOAT				\	   && GET_CODE (X) == SYMBOL_REF				\	   && CONSTANT_POOL_ADDRESS_P (X))				\    goto LABEL;								\  else if ((GET_CODE (X) == PRE_INC || GET_CODE (X) == POST_DEC)	\	   && GET_CODE (XEXP (X, 0)) == REG				\	   && REG_OK_FOR_PRE_POST_P (XEXP (X, 0)))			\    goto LABEL;								\}/* 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.   On the ARM, try to convert [REG, #BIGCONST]   into ADD BASE, REG, #UPPERCONST and [BASE, #VALIDCONST],   where VALIDCONST == 0 in case of TImode.  */#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)  \{						        		     \  if (GET_CODE (X) == PLUS)			        		     \    {						        		     \      rtx xop0 = XEXP (X, 0);			        		     \      rtx xop1 = XEXP (X, 1);			        		     \						        		     \      if (BASE_REGISTER_RTX_P (xop0) && GET_CODE (xop1) == CONST_INT)	     \	{					        		     \	  int n = INTVAL (xop1);		        		     \	  int low_n = ((MODE) == TImode ? 0	        		     \		       : n >= 0 ? (n & 0xFFF) : -((-n) & 0xFFF));	     \	  rtx base_reg = gen_reg_rtx (SImode);	        		     \	  rtx val = force_operand (gen_rtx (PLUS, SImode, xop0,		     \					    gen_rtx (CONST_INT,		     \						     VOIDmode, n - low_n)),  \				   0);					     \          emit_move_insn (base_reg, val);				     \	  (X) = (low_n == 0 ? base_reg					     \		 : gen_rtx (PLUS, SImode, base_reg,			     \			    gen_rtx (CONST_INT, VOIDmode, low_n)));	     \	}								     \      else if (BASE_REGISTER_RTX_P (xop1) && GET_CODE (xop0) == CONST_INT)   \	{								     \	  int n = INTVAL (xop0);					     \	  int low_n = ((MODE) == TImode ? 0				     \		       : n >= 0 ? (n & 0xFFF) : -((-n) & 0xFFF));	     \	  rtx base_reg = gen_reg_rtx (SImode);				     \	  rtx val = force_operand (gen_rtx (PLUS, SImode, xop1,		     \					    gen_rtx (CONST_INT,		     \						     VOIDmode, n - low_n)),  \				   0);					     \	  emit_move_insn (base_reg, val);				     \	  (X) = (low_n == 0 ? base_reg					     \		 : gen_rtx (PLUS, SImode, base_reg,			     \			    gen_rtx (CONST_INT, VOIDmode, low_n)));	     \	}								     \    }									     \  if (memory_address_p (MODE, X))					     \    goto win;								     \}/* Go to LABEL if ADDR (a legitimate address expression)   has an effect that depends on the machine mode it is used for.  */#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL)  \{									\  if (GET_CODE(ADDR) == PRE_DEC || GET_CODE(ADDR) == POST_DEC		\      || GET_CODE(ADDR) == PRE_INC || GET_CODE(ADDR) == POST_INC)	\    goto LABEL;								\}/* 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.  */#define EASY_DIV_EXPR  TRUNC_DIV_EXPR/* 'char' is signed by default on RISCiX, unsigned on RISCOS.  */#ifdef riscos#define DEFAULT_SIGNED_CHAR  0#else#define DEFAULT_SIGNED_CHAR  1#endif/* Don't cse the address of the function being compiled.  */#define NO_RECURSIVE_FUNCTION_CSE 1/* Max number of bytes we can move from memory to memory   in one reasonably fast instruction.  */#define MOVE_MAX 4/* Define if normal loads of shorter-than-word items from memory clears   the rest of the bigs in the register.   On the ARM, movhi does a garbage extend.  *//* #define BYTE_LOADS_ZERO_EXTEND *//* Define this if zero-extension is slow (more than one real instruction).   On the ARM, it is more than one instruction only if not fetching from   memory.  *//* #define SLOW_ZERO_EXTEND *//* Nonzero if access to memory by bytes is slow and undesirable.  */#define SLOW_BYTE_ACCESS 0/* Immediate shift counts are truncated by the output routines (or was it   the assembler?).  Shift counts in a register are truncated by ARM.  Note   that the native compiler puts too large (> 32) immediate shift counts   into a register and shifts by the register, letting the ARM decide what   to do instead of doing that itself.  */#define SHIFT_COUNT_TRUNCATED 1/* We have the vprintf function.  */#define HAVE_VPRINTF 1/* XX This is not true, is it?  *//* All integers have the same format so truncation is easy.  */#define TRULY_NOOP_TRUNCATION(OUTPREC,INPREC)  1/* Calling from registers is a massive pain.  */#define NO_FUNCTION_CSE 1/* Chars and shorts should be passed as ints.  */#define PROMOTE_PROTOTYPES 1/* The machine modes of pointers and functions */#define Pmode  SImode#define FUNCTION_MODE  Pmode/* The structure type of the machine dependent info field of insns   No uses for this yet.  *//* #define INSN_MACHINE_INFO  struct machine_info  *//* The relative costs of various types of constants.  Note that cse.c defines   REG = 1, SUBREG = 2, any node = (2 + sum of subnodes).  */#define CONST_COSTS(RTX, CODE, OUTER_CODE)  \  case CONST_INT:				\    if (const_ok_for_arm (INTVAL (RTX)))	\      return (2);				\    else					\      return (5);				\						\  case CONST: 					\  case LABEL_REF:				\  case SYMBOL_REF:				\    return (6);					\						\  case CONST_DOUBLE:				\    if (const_double_rtx_ok_for_fpu (RTX))	\      return(2);				\    else					\      return(7);/* Condition code information.  *//* 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.  *//* On the ARM nothing sets the condition code implicitly---apart from DImode   operations excluding moves---but we have to watch for registers in the   condition code value being clobbered.  This clobbering includes (alas)   function calls.  XXX They could just be considered to clobber regs 0-3 and   10-15 with extra work.  */#define NOTICE_UPDATE_CC(EXP, INSN)  \{									\  if (GET_MODE (EXP) == DImode						\      && GET_CODE (EXP) == SET						\      && GET_CODE (SET_SRC (EXP)) != REG				\      && GET_CODE (SET_SRC (EXP)) != MEM				\      && GET_CODE (SET_SRC (EXP)) != CONST_INT)				\    CC_STATUS_INIT;							\  else if (GET_CODE (EXP) == SET)					\    {									\      rtx dest = SET_DEST (EXP);					\      if (dest == cc0_rtx)						\	{								\	  cc_status.flags = 0;						\	  cc_status.value1 = SET_DEST (EXP);				\	  cc_status.value2 = SET_SRC (EXP);				\	}								\      if (BASE_REGISTER_RTX_P (dest))					\	{								\	  if (cc_status.value1						\	      && reg_overlap_mentioned_p (dest, cc_status.value1))	\	    cc_status.value1 = 0;					\	  if (cc_status.value2						\	      && reg_overlap_mentioned_p (dest, cc_status.value2)) 	\	    cc_status.value2 = 0;				        \	}							        \    }								        \  else if (GET_CODE (INSN) != JUMP_INSN && GET_CODE (EXP) == PARALLEL)	\    {									\      CC_STATUS_INIT;							\    }									\}/* Assembler output control *//* The text to go at the start of the assembler file */#define ASM_FILE_START(STREAM)  \{                                                                             \  extern char *version_string;                                                \                                                                              \  fprintf (STREAM,"@ Generated by gcc %s for ARM/RISCiX\n", version_string);  \  fprintf (STREAM,"rfp\t.req\tr9\n");                                         \  fprintf (STREAM,"fp\t.req\tr11\n");				              \  fprintf (STREAM,"ip\t.req\tr12\n");				              \  fprintf (STREAM,"sp\t.req\tr13\n");				              \  fprintf (STREAM,"lr\t.req\tr14\n");					      \  fprintf (STREAM,"pc\t.req\tr15\n");				              \}#define ASM_APP_ON  ""#define ASM_APP_OFF  ""/* Switch to the text or data segment.  */#define TEXT_SECTION_ASM_OP  ".text"#define DATA_SECTION_ASM_OP  ".data"/* The assembler's names for the registers.  RFP need not always be used as   the Real framepointer; it can also be used as a normal general register.   Note that the name `fp' is horribly misleading since `fp' is in fact only   the argument-and-return-context pointer.  */#define REGISTER_NAMES  \{				                   \  "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",  \  "r8","rfp", "sl", "fp", "ip", "sp", "lr", "pc",  \  "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7"   \

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区不卡| aaa欧美大片| 波多野结衣在线一区| 欧美日韩高清不卡| 成人免费小视频| 国产麻豆日韩欧美久久| 欧美日韩国产一区二区三区地区| 欧美精品一区二区三区蜜桃视频| 亚洲电影激情视频网站| 99久久综合99久久综合网站| 久久精品亚洲麻豆av一区二区| 婷婷一区二区三区| 欧美自拍偷拍一区| 中文字幕亚洲精品在线观看| 丁香五精品蜜臀久久久久99网站| 日韩欧美国产一二三区| 日韩精品亚洲一区二区三区免费| 一本一道久久a久久精品| 欧美国产视频在线| 国产99精品视频| 国产亚洲欧洲997久久综合| 韩日av一区二区| 精品久久五月天| 久久精品国产精品青草| 日韩欧美激情四射| 久久99九九99精品| 久久亚洲欧美国产精品乐播| 国产一区二区精品久久99| 久久婷婷成人综合色| 国产在线精品一区在线观看麻豆| 欧美草草影院在线视频| 免费美女久久99| 精品日韩在线观看| 国产综合久久久久久鬼色 | 国产欧美精品在线观看| 久草中文综合在线| 久久免费视频一区| bt欧美亚洲午夜电影天堂| 国产精品久久久久久久久晋中| 成人app软件下载大全免费| 亚洲人成网站色在线观看| 欧美亚洲日本一区| 日本伊人色综合网| 久久久亚洲午夜电影| 国产成都精品91一区二区三| 中文字幕中文乱码欧美一区二区 | 欧美极品另类videosde| 成人国产精品免费观看| 综合久久久久久久| 欧美午夜精品一区二区三区| 蜜臀av亚洲一区中文字幕| 久久久一区二区| 色婷婷精品大在线视频 | 亚洲柠檬福利资源导航| 91黄色激情网站| 亚洲精品视频在线观看免费| 成人av第一页| 17c精品麻豆一区二区免费| 欧美精品九九99久久| 久久91精品久久久久久秒播| 久久久国产一区二区三区四区小说| 成人h动漫精品| 香蕉影视欧美成人| 久久久精品天堂| 欧美亚男人的天堂| 国产精品白丝jk白祙喷水网站| 国产精品久久久久久户外露出 | 色哟哟精品一区| 国产午夜三级一区二区三| 91免费国产在线观看| 日本sm残虐另类| 亚洲视频一区在线| 久久精品一区二区三区不卡 | 国产suv一区二区三区88区| 国产精品免费久久久久| 91在线免费视频观看| 九九**精品视频免费播放| 一级日本不卡的影视| 国产视频一区在线播放| 欧美乱妇15p| 91极品美女在线| 免费美女久久99| 国产精品成人午夜| 欧美日韩在线播放三区四区| 国产精品一区久久久久| 五月婷婷综合在线| 最新国产成人在线观看| 欧美高清dvd| 94-欧美-setu| 丁香网亚洲国际| 精品写真视频在线观看| 午夜一区二区三区视频| 亚洲狼人国产精品| 日韩一区二区三区观看| 欧洲一区在线电影| 99久久国产综合精品女不卡| 国精品**一区二区三区在线蜜桃 | 国产三级久久久| 欧美天天综合网| 色婷婷av一区二区| 色哟哟欧美精品| 色吊一区二区三区| 91免费版在线| 99国产麻豆精品| 99久久久无码国产精品| 成人v精品蜜桃久久一区| 国产成人精品影院| 国产乱淫av一区二区三区| 激情五月婷婷综合网| 精品在线一区二区三区| 麻豆国产欧美日韩综合精品二区| 久久精品免费观看| 丝袜亚洲另类丝袜在线| 亚洲成人资源在线| 视频在线观看91| 亚洲成人午夜电影| 午夜精品久久久久久久久久 | 国产欧美一区二区精品性色超碰 | 成人激情动漫在线观看| 国产精品888| 处破女av一区二区| 盗摄精品av一区二区三区| 成人国产在线观看| 97超碰欧美中文字幕| 91成人免费网站| 91精品国产综合久久久久久| 日韩一区二区在线免费观看| 欧美www视频| 国产欧美一区二区精品性色超碰| 国产精品久久久久久久久快鸭| 亚洲桃色在线一区| 亚洲主播在线观看| 九九国产精品视频| 成人黄色在线看| 欧美影院精品一区| 91精品国产入口| 久久久国际精品| 亚洲色图视频免费播放| 亚洲精品国产第一综合99久久| 性做久久久久久免费观看| 韩日欧美一区二区三区| 色中色一区二区| 精品日韩成人av| 亚洲日本va午夜在线影院| 免费久久99精品国产| 成人激情av网| 91精品久久久久久久久99蜜臂| 国产日韩精品一区二区三区| 中文字幕国产一区二区| 一级日本不卡的影视| 久久99久久精品| 91在线无精精品入口| 欧美一卡二卡三卡| 国产精品嫩草99a| 亚洲国产精品一区二区久久恐怖片| 蓝色福利精品导航| 日本道精品一区二区三区| 久久久久久毛片| 日韩高清在线不卡| 色婷婷一区二区| 国产色一区二区| 日韩电影在线观看一区| 99精品黄色片免费大全| 精品国产一区二区三区不卡| 亚洲网友自拍偷拍| 成人自拍视频在线观看| 日韩欧美不卡一区| 亚洲久本草在线中文字幕| 亚洲成av人**亚洲成av**| 国产白丝网站精品污在线入口| 日韩一区二区在线免费观看| 亚洲一区免费视频| 97成人超碰视| 国产精品久久毛片| 国产精品1区2区3区在线观看| 91精品国产麻豆国产自产在线| 亚洲精品精品亚洲| 99久久国产免费看| 中文一区二区在线观看| 国产在线精品视频| 精品精品国产高清一毛片一天堂| 亚洲777理论| 欧美日韩高清一区二区三区| 亚洲中国最大av网站| 在线日韩av片| 蜜桃一区二区三区在线观看| 一本色道久久综合狠狠躁的推荐| 国产欧美日韩不卡免费| 精一区二区三区| 欧美一区二区精品在线| 日日夜夜免费精品视频| 日本久久精品电影| 亚洲日本va午夜在线影院| 99国产精品99久久久久久| 国产精品乱码一区二区三区软件| 国产精品亚洲成人| 国产欧美精品区一区二区三区| 国产馆精品极品| 国产精品嫩草99a| 色先锋资源久久综合|