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

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

?? arm.md

?? linux下的gcc編譯器
?? MD
?? 第 1 頁 / 共 5 頁
字號:
;;- Machine description for ARM for GNU compiler;;  Copyright 1991, 1993, 1994, 1995, 1996, 1996, 1997, 1998, 1999, 2000,;;  2001, 2002, 2004  Free Software Foundation, Inc.;;  Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl);;  and Martin Simmons (@harleqn.co.uk).;;  More major hacks by Richard Earnshaw (rearnsha@arm.com).;; This file is part of GNU CC.;; GNU CC is free software; you can redistribute it and/or modify;; it under the terms of the GNU General Public License as published by;; the 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 of;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the;; GNU General Public License for more details.;; You should have received a copy of the GNU General Public License;; along with GNU CC; see the file COPYING.  If not, write to;; the Free Software Foundation, 59 Temple Place - Suite 330,;; Boston, MA 02111-1307, USA.;;- See file "rtl.def" for documentation on define_insn, match_*, et. al.;; There are patterns in this file to support XFmode arithmetic.;; Unfortunately RISC iX doesn't work well with these so they are disabled.;; (See arm.h);;---------------------------------------------------------------------------;; Constants;; Register numbers(define_constants  [(IP_REGNUM	    12)		; Scratch register   (SP_REGNUM	    13)		; Stack pointer   (LR_REGNUM       14)		; Return address register   (PC_REGNUM	    15)		; Program counter   (CC_REGNUM       24)		; Condition code pseudo register   (LAST_ARM_REGNUM 15)  ]);; UNSPEC Usage:;; Note: sin and cos are no-longer used.(define_constants  [(UNSPEC_SIN       0)	; `sin' operation (MODE_FLOAT):			;   operand 0 is the result,			;   operand 1 the parameter.   (UNPSEC_COS	     1)	; `cos' operation (MODE_FLOAT):			;   operand 0 is the result,			;   operand 1 the parameter.   (UNSPEC_PUSH_MULT 2)	; `push multiple' operation:			;   operand 0 is the first register,			;   subsequent registers are in parallel (use ...)			;   expressions.   (UNSPEC_PIC_SYM   3) ; A symbol that has been treated properly for pic			;   usage, that is, we will add the pic_register			;   value to it before trying to dereference it.   (UNSPEC_PIC_BASE  4)	; Adding the PC value to the offset to the			;   GLOBAL_OFFSET_TABLE.  The operation is fully			;   described by the RTL but must be wrapped to			;   prevent combine from trying to rip it apart.   (UNSPEC_PRLG_STK  5) ; A special barrier that prevents frame accesses 			;   being scheduled before the stack adjustment insn.   (UNSPEC_CLZ	     5) ; `clz' instruction, count leading zeros (SImode):			;   operand 0 is the result,			;   operand 1 is the parameter.   (UNSPEC_PROLOGUE_USE 6) ; As USE insns are not meaningful after reload,   			; this unspec is used to prevent the deletion of   			; instructions setting registers for EH handling   			; and stack frame generation.  Operand 0 is the   			; register to "use".   (UNSPEC_CHECK_ARCH 7); Set CCs to indicate 26-bit or 32-bit mode.  ]);; UNSPEC_VOLATILE Usage:(define_constants  [(VUNSPEC_BLOCKAGE 0) ; `blockage' insn to prevent scheduling across an			;   insn in the code.   (VUNSPEC_EPILOGUE 1) ; `epilogue' insn, used to represent any part of the			;   instruction epilogue sequence that isn't expanded			;   into normal RTL.  Used for both normal and sibcall			;   epilogues.   (VUNSPEC_ALIGN    2) ; `align' insn.  Used at the head of a minipool table 			;   for inlined constants.   (VUNSPEC_POOL_END 3) ; `end-of-table'.  Used to mark the end of a minipool			;   table.   (VUNSPEC_POOL_1   4) ; `pool-entry(1)'.  An entry in the constant pool for			;   an 8-bit object.   (VUNSPEC_POOL_2   5) ; `pool-entry(2)'.  An entry in the constant pool for			;   a 16-bit object.   (VUNSPEC_POOL_4   6) ; `pool-entry(4)'.  An entry in the constant pool for			;   a 32-bit object.   (VUNSPEC_POOL_8   7) ; `pool-entry(8)'.  An entry in the constant pool for			;   a 64-bit object.  ]);;---------------------------------------------------------------------------;; Attributes; IS_THUMB is set to 'yes' when we are generating Thumb code, and 'no' when; generating ARM code.  This is used to control the length of some insn; patterns that share the same RTL in both ARM and Thumb code.(define_attr "is_thumb" "no,yes" (const (symbol_ref "thumb_code"))); PROG_MODE attribute is used to determine whether condition codes are; clobbered by a call insn: they are if in prog32 mode.  This is controlled; by the -mapcs-{32,26} flag, and possibly the -mcpu=... option.(define_attr "prog_mode" "prog26,prog32" (const (symbol_ref "arm_prog_mode"))); IS_STRONGARM is set to 'yes' when compiling for StrongARM, it affects; scheduling decisions for the load unit and the multiplier.(define_attr "is_strongarm" "no,yes" (const (symbol_ref "arm_is_strong")));; Operand number of an input operand that is shifted.  Zero if the;; given instruction does not shift one of its input operands.(define_attr "is_xscale" "no,yes" (const (symbol_ref "arm_tune_xscale")))(define_attr "shift" "" (const_int 0)); Floating Point Unit.  If we only have floating point emulation, then there; is no point in scheduling the floating point insns.  (Well, for best; performance we should try and group them together).(define_attr "fpu" "fpa,fpe2,fpe3" (const (symbol_ref "arm_fpu_attr"))); LENGTH of an instruction (in bytes)(define_attr "length" "" (const_int 4)); POOL_RANGE is how far away from a constant pool entry that this insn; can be placed.  If the distance is zero, then this insn will never; reference the pool.; NEG_POOL_RANGE is nonzero for insns that can reference a constant pool entry; before its address.(define_attr "pool_range" "" (const_int 0))(define_attr "neg_pool_range" "" (const_int 0)); An assembler sequence may clobber the condition codes without us knowing.; If such an insn references the pool, then we have no way of knowing how,; so use the most conservative value for pool_range.(define_asm_attributes [(set_attr "conds" "clob")  (set_attr "length" "4")  (set_attr "pool_range" "250")]); TYPE attribute is used to detect floating point instructions which, if; running on a co-processor can run in parallel with other, basic instructions; If write-buffer scheduling is enabled then it can also be used in the; scheduling of writes.; Classification of each insn; normal	any data instruction that doesn't hit memory or fp regs; mult		a multiply instruction; block		blockage insn, this blocks all functional units; float		a floating point arithmetic operation (subject to expansion); fdivx		XFmode floating point division; fdivd		DFmode floating point division; fdivs		SFmode floating point division; fmul		Floating point multiply; ffmul		Fast floating point multiply; farith	Floating point arithmetic (4 cycle); ffarith	Fast floating point arithmetic (2 cycle); float_em	a floating point arithmetic operation that is normally emulated;		even on a machine with an fpa.; f_load	a floating point load from memory; f_store	a floating point store to memory; f_mem_r	a transfer of a floating point register to a real reg via mem; r_mem_f	the reverse of f_mem_r; f_2_r		fast transfer float to arm (no memory needed); r_2_f		fast transfer arm to float; call		a subroutine call; load		any load from memory; store1	store 1 word to memory from arm registers; store2	store 2 words; store3	store 3 words; store4	store 4 words;(define_attr "type"	"normal,mult,block,float,fdivx,fdivd,fdivs,fmul,ffmul,farith,ffarith,float_em,f_load,f_store,f_mem_r,r_mem_f,f_2_r,r_2_f,call,load,store1,store2,store3,store4" 	(const_string "normal")); Load scheduling, set from the arm_ld_sched variable; initialized by arm_override_options() (define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched"))); condition codes: this one is used by final_prescan_insn to speed up; conditionalizing instructions.  It saves having to scan the rtl to see if; it uses or alters the condition codes.; ; USE means that the condition codes are used by the insn in the process of;   outputting code, this means (at present) that we can't use the insn in;   inlined branches;; SET means that the purpose of the insn is to set the condition codes in a;   well defined manner.;; CLOB means that the condition codes are altered in an undefined manner, if;   they are altered at all;; JUMP_CLOB is used when the condition cannot be represented by a single;   instruction (UNEQ and LTGT).  These cannot be predicated.;; NOCOND means that the condition codes are neither altered nor affect the;   output of this insn(define_attr "conds" "use,set,clob,jump_clob,nocond"	(if_then_else (eq_attr "type" "call")	 (if_then_else (eq_attr "prog_mode" "prog32")	  (const_string "clob") (const_string "nocond"))	 (const_string "nocond"))); Predicable means that the insn can be conditionally executed based on; an automatically added predicate (additional patterns are generated by ; gen...).  We default to 'no' because no Thumb patterns match this rule; and not all ARM patterns do.(define_attr "predicable" "no,yes" (const_string "no")); Only model the write buffer for ARM6 and ARM7.  Earlier processors don't; have one.  Later ones, such as StrongARM, have write-back caches, so don't; suffer blockages enough to warrent modelling this (and it can adversely; affect the schedule).(define_attr "model_wbuf" "no,yes" (const (symbol_ref "arm_is_6_or_7"))); WRITE_CONFLICT implies that a read following an unrelated write is likely; to stall the processor.  Used with model_wbuf above.(define_attr "write_conflict" "no,yes"  (if_then_else (eq_attr "type"		 "block,float_em,f_load,f_store,f_mem_r,r_mem_f,call,load")		(const_string "yes")		(const_string "no"))); Classify the insns into those that take one cycle and those that take more; than one on the main cpu execution unit.(define_attr "core_cycles" "single,multi"  (if_then_else (eq_attr "type"		 "normal,float,fdivx,fdivd,fdivs,fmul,ffmul,farith,ffarith")		(const_string "single")	        (const_string "multi")));; FAR_JUMP is "yes" if a BL instruction is used to generate a branch to a;; distant label.  Only applicable to Thumb code.(define_attr "far_jump" "yes,no" (const_string "no"));; (define_function_unit {name} {num-units} {n-users} {test};;                       {ready-delay} {issue-delay} [{conflict-list}]);;--------------------------------------------------------------------;; Floating point unit (FPA);;--------------------------------------------------------------------(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "fdivx")) 71 69)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "fdivd")) 59 57)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "fdivs")) 31 29)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "fmul")) 9 7)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "ffmul")) 6 4)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "farith")) 4 2)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "ffarith")) 2 2)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "r_2_f")) 5 3)(define_function_unit "fpa" 1 0 (and (eq_attr "fpu" "fpa")				     (eq_attr "type" "f_2_r")) 1 2); The fpa10 doesn't really have a memory read unit, but it can start to; speculatively execute the instruction in the pipeline, provided the data; is already loaded, so pretend reads have a delay of 2 (and that the; pipeline is infinite).(define_function_unit "fpa_mem" 1 0 (and (eq_attr "fpu" "fpa")					 (eq_attr "type" "f_load")) 3 1);;--------------------------------------------------------------------;; Write buffer;;--------------------------------------------------------------------; Strictly, we should model a 4-deep write buffer for ARM7xx based chips;; The write buffer on some of the arm6 processors is hard to model exactly.; There is room in the buffer for up to two addresses and up to eight words; of memory, but the two needn't be split evenly.  When writing the two; addresses are fully pipelined.  However, a read from memory that is not; currently in the cache will block until the writes have completed.; It is normally the case that FCLK and MCLK will be in the ratio 2:1, so; writes will take 2 FCLK cycles per word, if FCLK and MCLK are asynchronous; (they aren't allowed to be at present) then there is a startup cost of 1MCLK; cycle to add as well.(define_function_unit "write_buf" 1 2  (and (eq_attr "model_wbuf" "yes")       (eq_attr "type" "store1,r_mem_f")) 5 3)(define_function_unit "write_buf" 1 2   (and (eq_attr "model_wbuf" "yes")       (eq_attr "type" "store2")) 7 4)(define_function_unit "write_buf" 1 2  (and (eq_attr "model_wbuf" "yes")       (eq_attr "type" "store3")) 9 5)(define_function_unit "write_buf" 1 2  (and (eq_attr "model_wbuf" "yes")       (eq_attr "type" "store4")) 11 6);;--------------------------------------------------------------------;; Write blockage unit;;--------------------------------------------------------------------; The write_blockage unit models (partially), the fact that reads will stall; until the write buffer empties.; The f_mem_r and r_mem_f could also block, but they are to the stack,; so we don't model them here(define_function_unit "write_blockage" 1 0 (and (eq_attr "model_wbuf" "yes")						(eq_attr "type" "store1")) 5 5	[(eq_attr "write_conflict" "yes")])(define_function_unit "write_blockage" 1 0 (and (eq_attr "model_wbuf" "yes")						(eq_attr "type" "store2")) 7 7	[(eq_attr "write_conflict" "yes")])(define_function_unit "write_blockage" 1 0 (and (eq_attr "model_wbuf" "yes")						(eq_attr "type" "store3")) 9 9	[(eq_attr "write_conflict" "yes")])(define_function_unit "write_blockage" 1 0	(and (eq_attr "model_wbuf" "yes") (eq_attr "type" "store4")) 11 11	[(eq_attr "write_conflict" "yes")])(define_function_unit "write_blockage" 1 0	(and (eq_attr "model_wbuf" "yes")	     (eq_attr "write_conflict" "yes")) 1 1);;--------------------------------------------------------------------;; Core unit;;--------------------------------------------------------------------; Everything must spend at least one cycle in the core unit(define_function_unit "core" 1 0 (eq_attr "core_cycles" "single") 1 1)(define_function_unit "core" 1 0  (and (eq_attr "ldsched" "yes") (eq_attr "type" "store1")) 1 1)(define_function_unit "core" 1 0  (and (eq_attr "ldsched" "yes") (eq_attr "type" "load")) 2 1);; We do not need to conditionalize the define_function_unit immediately;; above.  This one will be ignored for anything other than xscale;; compiles and for xscale compiles it provides a larger delay;; and the scheduler will DTRT.;; FIXME: this test needs to be revamped to not depend on this feature ;; of the scheduler.(define_function_unit "core" 1 0  (and (and (eq_attr "ldsched" "yes") (eq_attr "type" "load"))       (eq_attr "is_xscale" "yes"))   3 1)(define_function_unit "core" 1 0  (and (eq_attr "ldsched" "!yes") (eq_attr "type" "load,store1")) 2 2)(define_function_unit "core" 1 0  (and (eq_attr "fpu" "fpa") (eq_attr "type" "f_load")) 3 3)(define_function_unit "core" 1 0  (and (eq_attr "fpu" "fpa") (eq_attr "type" "f_store")) 4 4)(define_function_unit "core" 1 0  (and (eq_attr "fpu" "fpa") (eq_attr "type" "r_mem_f")) 6 6)(define_function_unit "core" 1 0  (and (eq_attr "fpu" "fpa") (eq_attr "type" "f_mem_r")) 7 7)(define_function_unit "core" 1 0  (and (eq_attr "ldsched" "no") (eq_attr "type" "mult")) 16 16)(define_function_unit "core" 1 0  (and (and (eq_attr "ldsched" "yes") (eq_attr "is_strongarm" "no"))       (eq_attr "type" "mult")) 4 4)(define_function_unit "core" 1 0  (and (and (eq_attr "ldsched" "yes") (eq_attr "is_strongarm" "yes"))       (eq_attr "type" "mult")) 3 2)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲私人黄色宅男| 97精品电影院| 老司机午夜精品99久久| 一区二区三区在线视频免费| 国产人久久人人人人爽| 日韩免费性生活视频播放| 在线成人小视频| 欧美日韩免费不卡视频一区二区三区| 国产一区二区三区香蕉| 久久国产婷婷国产香蕉| 久久成人综合网| 激情深爱一区二区| 国产电影精品久久禁18| 国产成人欧美日韩在线电影 | 久久综合久久久久88| 久久综合九色综合久久久精品综合 | 成人精品国产一区二区4080| 精品国产免费视频| 在线免费亚洲电影| 欧美日韩在线观看一区二区 | 欧洲国内综合视频| 在线综合亚洲欧美在线视频| 欧美精三区欧美精三区| 欧美久久久久免费| 久久夜色精品国产欧美乱极品| 日韩一区二区三免费高清| 久久亚洲一级片| 亚洲欧美日本韩国| 麻豆精品国产传媒mv男同| 成人黄色小视频| 欧美一区二区性放荡片| 国产精品系列在线| 麻豆精品一区二区综合av| 国产成人av电影在线观看| 欧美日韩精品系列| 中文字幕一区二区三区四区不卡| 91精品国产91久久久久久最新毛片| 欧美mv日韩mv亚洲| 亚洲成人免费视频| av在线综合网| 精品成人私密视频| 国产精品美女久久久久久久久 | 久久精品国产秦先生| 久久www免费人成看片高清| 99久久精品国产麻豆演员表| 欧美影视一区在线| 一区二区在线观看免费| 风间由美中文字幕在线看视频国产欧美| 欧美日韩国产一级| 中文字幕中文乱码欧美一区二区| 视频在线观看一区| 欧美日韩一区二区三区免费看| 亚洲免费在线观看| 日本人妖一区二区| 欧美mv日韩mv亚洲| 日本女优在线视频一区二区| 色综合中文字幕| 午夜精品在线看| 91激情五月电影| 偷拍日韩校园综合在线| 777奇米四色成人影色区| 免费在线看成人av| 精品国产区一区| 成人自拍视频在线| 国产亚洲一区二区三区在线观看 | 婷婷成人激情在线网| 久久国产欧美日韩精品| 亚洲精品亚洲人成人网| 久久久一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 欧美三区在线视频| 欧美色窝79yyyycom| 91丨九色丨国产丨porny| 成人激情午夜影院| 成人一级黄色片| 国产99精品在线观看| 国产一区三区三区| 国产一区二区影院| 国产成人午夜精品5599| 国产mv日韩mv欧美| 波多野结衣亚洲| 91视频你懂的| 欧洲视频一区二区| 欧美片网站yy| 精品国产亚洲在线| 国产欧美久久久精品影院| 国产精品乱码一区二三区小蝌蚪| 国产精品九色蝌蚪自拍| 亚洲免费观看在线观看| 亚洲成人av电影在线| 免费av成人在线| 国产精品一区二区在线播放| 成人av电影在线播放| 日本精品裸体写真集在线观看| 在线看国产一区| 日韩一区二区免费在线观看| 欧美大片顶级少妇| 国产精品免费av| 亚洲在线视频一区| 美女视频网站久久| 成人永久免费视频| 在线影院国内精品| 欧美成人官网二区| 国产精品美女久久久久久久久久久 | 亚洲成人午夜影院| 久久99久久99小草精品免视看| 国产成人自拍网| 欧美性一二三区| 精品欧美一区二区三区精品久久| 国产精品成人一区二区三区夜夜夜| 亚洲天堂福利av| 久久av老司机精品网站导航| 99国产精品久| 91精品国模一区二区三区| 国产女主播一区| 亚洲成av人在线观看| 国产成人精品一区二区三区网站观看| 色婷婷av一区二区三区软件| 精品美女在线播放| 一区二区日韩av| 国产精品1区2区| 欧美精品 日韩| 韩国一区二区三区| 不卡的av电影| 精品国精品自拍自在线| 亚洲一区二三区| 国产高清亚洲一区| 欧美一区二区三区免费在线看| 国产精品人成在线观看免费 | 亚洲啪啪综合av一区二区三区| 首页国产丝袜综合| 91美女片黄在线观看| 久久午夜色播影院免费高清| 亚洲超碰精品一区二区| jvid福利写真一区二区三区| 精品久久久久一区| 香蕉av福利精品导航| 91亚洲精品乱码久久久久久蜜桃 | 婷婷国产在线综合| 91浏览器入口在线观看| 精品国产免费一区二区三区四区| 亚洲成人中文在线| 色婷婷国产精品久久包臀| 中文字幕第一区综合| 国产呦萝稀缺另类资源| 欧美一区二区三区免费在线看| 一区二区三区不卡在线观看| 91日韩一区二区三区| 国产精品天天看| 国产精品一二三四| 久久久久久久电影| 久久精品国产亚洲高清剧情介绍| 欧美日韩精品欧美日韩精品一| 国产精品盗摄一区二区三区| 国产91精品一区二区麻豆网站| 欧美第一区第二区| 久久aⅴ国产欧美74aaa| 日韩欧美激情一区| 久久99精品国产麻豆婷婷| 91精品国产综合久久精品麻豆| 亚洲一区在线视频观看| 在线免费亚洲电影| 亚洲最大成人综合| 欧美亚洲另类激情小说| 亚洲一区成人在线| 欧美三级三级三级爽爽爽| 亚洲韩国一区二区三区| 欧美日韩五月天| 亚洲.国产.中文慕字在线| 欧美日韩亚洲高清一区二区| 香蕉久久一区二区不卡无毒影院| 欧美午夜精品久久久久久超碰 | 欧美亚洲综合一区| 日韩在线a电影| 精品国产亚洲在线| 成人综合在线网站| 亚洲精选在线视频| 欧美日本国产视频| 毛片av中文字幕一区二区| 精品国产麻豆免费人成网站| 国产精品香蕉一区二区三区| 国产精品美女久久久久久2018| 色婷婷久久久亚洲一区二区三区| 亚洲国产va精品久久久不卡综合| 6080yy午夜一二三区久久| 精品综合久久久久久8888| 国产欧美日本一区视频| 色婷婷综合久久久久中文| 三级亚洲高清视频| 久久综合色婷婷| 91日韩在线专区| 男女男精品视频网| 国产精品视频yy9299一区| 欧美专区亚洲专区| 久久精品国产精品亚洲综合| 国产日韩欧美在线一区| 日本乱人伦一区| 狠狠v欧美v日韩v亚洲ⅴ| 中文字幕一区二区三中文字幕| 色婷婷激情综合|