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

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

?? m88k.md

?? 這是完整的gcc源代碼
?? MD
?? 第 1 頁 / 共 4 頁
字號:
;;- Machine description for the Motorola 88000 for GNU C compiler;;   Copyright (C) 1988 Free Software Foundation, Inc.;;   Contributed by Michael Tiemann (tiemann@mcc.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 1, 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, 675 Mass Ave, Cambridge, MA 02139, USA.;;- See file "rtl.def" for documentation on define_insn, match_*, et. al.;;- cpp macro #define NOTICE_UPDATE_CC in file tm.h handles condition code;;- updates for most instructions.;;- Operand classes for the register allocator:;; Compare instructions.;; This pattern is used for generating an "insn";; which does just a compare and sets a (fictitious) condition code.;; The actual the m88000 insns are compare-and-conditional-jump.;; The define_peephole's below recognize the combinations of;; compares and jumps, and output each pair as a single assembler insn.;; This controls RTL generation and register allocation.(define_insn "cmpsi"  [(set (cc0)	(compare (match_operand:SI 0 "arith_operand" "rI")		 (match_operand:SI 1 "arith_operand" "rI")))]  ""  "*{  if (GET_CODE (operands[0]) == CONST_INT)    {      cc_status.flags |= CC_REVERSED;      return \"cmp r25,%1,%0\";    }  return \"cmp r25,%0,%1\";}")(define_insn "cmpdf"  [(set (cc0)	(compare (match_operand:DF 0 "nonmemory_operand" "rG")		 (match_operand:DF 1 "nonmemory_operand" "rG")))]  ""  "*{  if (GET_CODE (operands[0]) == CONST_DOUBLE)    {      cc_status.flags |= CC_REVERSED | CC_IN_FCCR;      return \"fcmp.sdd r25,%1,%0\";    }  cc_status.flags |= CC_IN_FCCR;  return \"fcmp.sdd r25,%0,%1\";}")(define_insn "cmpsf"  [(set (cc0)	(compare (match_operand:SF 0 "nonmemory_operand" "rG")		 (match_operand:SF 1 "nonmemory_operand" "rG")))]  ""  "*{  if (GET_CODE (operands[0]) == CONST_DOUBLE)    {      cc_status.flags |= CC_REVERSED | CC_IN_FCCR;      return \"fcmp.sss r25,%1,%0\";    }  cc_status.flags |= CC_IN_FCCR;  return \"fcmp.sss r25,%0,%1\";}");; We have to have this because cse can optimize the previous pattern;; into this one.(define_insn "tstsi"  [(set (cc0)	(match_operand:SI 0 "register_operand" "r"))]  ""  "cmp r25,%0,0")(define_insn "tstdf"  [(set (cc0)	(match_operand:DF 0 "register_operand" "r"))]  ""  "*{  cc_status.flags |= CC_IN_FCCR;  return \"fcmp.sds r25,%0,r0\";}")(define_insn "tstsf"  [(set (cc0)	(match_operand:SF 0 "register_operand" "r"))]  ""  "*{  cc_status.flags |= CC_IN_FCCR;  return \"fcmp.sss r25,%0,r0\";}");; These control RTL generation for conditional jump insns;; and match them for register allocation.(define_insn "beq"  [(set (pc)	(if_then_else (eq (cc0)			  (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 eq,r25,%l0")(define_peephole  [(set (cc0)	(match_operand:SI 0 "register_operand" "r"))   (set (pc)	(if_then_else (eq (cc0)			  (const_int 0))		      (label_ref (match_operand 1 "" ""))		      (pc)))]  ""  "*{  CC_STATUS_INIT;  return \"bcnd eq0,%0,%l1\";}")(define_insn "bne"  [(set (pc)	(if_then_else (ne (cc0)			  (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 ne,r25,%l0")(define_peephole  [(set (cc0)	(match_operand:SI 0 "register_operand" "r"))   (set (pc)	(if_then_else (ne (cc0)			  (const_int 0))		      (label_ref (match_operand 1 "" ""))		      (pc)))]  ""  "*{  CC_STATUS_INIT;  return \"bcnd ne0,%0,%l1\";}")(define_insn "bgt"  [(set (pc)	(if_then_else (gt (cc0)			  (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 gt,r25,%l0")(define_insn "bgtu"  [(set (pc)	(if_then_else (gtu (cc0)			   (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 hi,r25,%l0")(define_insn "blt"  [(set (pc)	(if_then_else (lt (cc0)			  (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 lt,r25,%l0")(define_insn "bltu"  [(set (pc)	(if_then_else (ltu (cc0)			   (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 lo,r25,%l0")(define_insn "bge"  [(set (pc)	(if_then_else (ge (cc0)			  (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 ge,r25,%l0")(define_insn "bgeu"  [(set (pc)	(if_then_else (geu (cc0)			   (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 hs,r25,%l0")(define_insn "ble"  [(set (pc)	(if_then_else (le (cc0)			  (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 le,r25,%l0")(define_insn "bleu"  [(set (pc)	(if_then_else (leu (cc0)			   (const_int 0))		      (label_ref (match_operand 0 "" ""))		      (pc)))]  ""  "bb1 ls,r25,%l0");; These match inverted jump insns for register allocation.(define_insn ""  [(set (pc)	(if_then_else (eq (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 eq,r25,%l0")(define_peephole  [(set (cc0) (match_operand:SI 0 "register_operand" "r"))   (set (pc)	(if_then_else (eq (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 1 "" ""))))]  ""  "*{  CC_STATUS_INIT;  return \"bcnd ne0,%0,%l1\";}")(define_insn ""  [(set (pc)	(if_then_else (ne (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 ne,r25,%l0")(define_peephole  [(set (cc0) (match_operand:SI 0 "register_operand" "r"))   (set (pc)	(if_then_else (ne (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 1 "" ""))))]  ""  "*{  CC_STATUS_INIT;  return \"bcnd eq0,%0,%l1\";}")(define_insn ""  [(set (pc)	(if_then_else (gt (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 gt,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (gtu (cc0)			   (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 hi,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (lt (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 lt,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (ltu (cc0)			   (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 lo,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (ge (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 ge,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (geu (cc0)			   (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 hs,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (le (cc0)			  (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 le,r25,%l0")(define_insn ""  [(set (pc)	(if_then_else (leu (cc0)			   (const_int 0))		      (pc)		      (label_ref (match_operand 0 "" ""))))]  ""  "bb0 ls,r25,%l0");; Move instructions(define_insn "swapsi"  [(set (match_operand:SI 0 "general_operand" "g")	(match_operand:SI 1 "general_operand" "g"))   (set (match_dup 1) (match_dup 0))]  ""  "*{  if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)    {      CC_STATUS_INIT;      return \"ld r25,%0\;xmem r25,%1\;st r25,%0\";    }  if (! REG_P (operands[1]))    return \"xmem %0,%1\";  if (REG_P (operands[0]))    {      if (REGNO (operands[0]) == REGNO (operands[1]))	return \"\";      return \"xor %0,%0,%1\;xor %1,%1,%0\;xor %0,%0,%1\";    }  return \"xmem %1,%0\";}")(define_peephole  [(set (match_operand:SI 0 "register_operand" "=r")	(match_operand:SI 1 "memory_operand" "m"))   (set (match_operand:SI 2 "register_operand" "=r")	(match_operand:SI 3 "memory_operand" "m"))   (set (match_dup 1) (match_dup 2))   (set (match_dup 3) (match_dup 0))]  ""  "*{  CC_STATUS_INIT;  return \"ld r25,%1\;xmem r25,%3\;st r25,%1\";}")(define_insn "swapqi"  [(set (match_operand:QI 0 "general_operand" "g")	(match_operand:QI 1 "general_operand" "g"))   (set (match_dup 1) (match_dup 0))]  ""  "*{  if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM)    {      CC_STATUS_INIT;      return \"ld.bu r25,%0\;xmem.bu r25,%1\;st.bu r25,%0\";    }  if (! REG_P (operands[1]))    return \"xmem.bu %0,%1\";  if (REG_P (operands[0]))    {      if (REGNO (operands[0]) == REGNO (operands[1]))	return \"\";      return \"xor %0,%0,%1\;xor %1,%1,%0\;xor %0,%0,%1\";    }  return \"xmem.bu %1,%0\";}")(define_peephole  [(set (match_operand:QI 0 "register_operand" "=r")	(match_operand:QI 1 "memory_operand" "m"))   (set (match_operand:QI 2 "register_operand" "=r")	(match_operand:QI 3 "memory_operand" "m"))   (set (match_dup 1) (match_dup 2))   (set (match_dup 3) (match_dup 0))]  ""  "*{  CC_STATUS_INIT;  return \"ld.bu r25,%1\;xmem.bu r25,%3\;st.bu r25,%1\";}")(define_insn ""  [(set (match_operand:SI 0 "general_operand" "g")	(const_int 0))]  ""  "*{  if (REG_P (operands[0]))    return \"or %0,r0,0\";  return \"st r0,%0\";}")(define_insn "movsi"  [(set (match_operand:SI 0 "general_operand" "=g,r")	(match_operand:SI 1 "general_operand" "r,mi"))]  ""  "*{  if (REG_P (operands[0]))    {      if (GET_CODE (operands[1]) == MEM)	return \"ld %0,%1\";      if (GET_CODE (operands[1]) == CONST_INT)	return output_store_const_int (SImode, operands);      if (GET_CODE (operands[1]) == LABEL_REF	  || GET_CODE (operands[1]) == SYMBOL_REF)	return \"lda %0,r0,%1\";      return \"or %0,r0,%1\";    }  return \"st %1,%0\";}");; Simulate pre inc.  Post inc/dec is automatically optimized;; by sheer luck.  ?? In which phase should this really be done??(define_insn ""  [(set (match_operand:SI 0 "register_operand" "r")	(mem:SI (plus:SI (match_operand:SI 1 "register_operand" "r")			 (match_operand:SI 2 "arith_operand" "rI"))))   (set (match_dup 1)	(plus:SI (match_dup 1)		 (match_dup 2)))]  ""  "ld %0,%1,%2\\t;; pipelined!\;addu %1,%1,%2\\t;; /")(define_insn ""  [(set (mem:SI (plus:SI (match_operand:SI 0 "register_operand" "r")			 (match_operand:SI 1 "arith_operand" "rI")))	(match_operand:SI 2 "register_operand" "r"))   (set (match_dup 0)	(plus:SI (match_dup 0)		 (match_dup 1)))]  ""  "st %2,%0,%1\\t;; pipelined!\;addu %0,%0,%1\\t;; /")(define_insn ""  [(set (match_operand:HI 0 "general_operand" "g")	(const_int 0))]  ""  "*{  if (REG_P (operands[0]))    return \"or %0,r0,0\";  return \"st.h r0,%0\";}")(define_insn "movhi"  [(set (match_operand:HI 0 "general_operand" "=g,r")	(match_operand:HI 1 "general_operand" "r,mn"))]  ""  "*{  if (REG_P (operands[0]))    {      if (GET_CODE (operands[1]) == MEM)	return \"ld.h %0,%1\";      if (GET_CODE (operands[1]) == CONST_INT)	return output_store_const_int (HImode, operands);      return \"or %0,r0,%1\";    }  return \"st.h %1,%0\";}")(define_insn ""  [(set (match_operand:SI 0 "register_operand" "r")	(sign_extend:SI	  (mem:HI (plus:SI (match_operand:SI 1 "register_operand" "r")			   (match_operand:SI 2 "arith_operand" "rI")))))   (set (match_dup 1)	(plus:SI (match_dup 1)		 (match_dup 2)))]  ""  "ld.h %0,%1,%2\\t;; pipelined!\;addu %1,%1,%2\\t;; /")(define_insn ""  [(set (match_operand:SI 0 "register_operand" "r")	(zero_extend:SI	  (mem:HI (plus:SI (match_operand:SI 1 "register_operand" "r")			   (match_operand:SI 2 "arith_operand" "rI")))))   (set (match_dup 1)	(plus:SI (match_dup 1)		 (match_dup 2)))]  ""  "ld.hu %0,%1,%2\\t;; pipelined!\;addu %1,%1,%2\\t;; /")(define_insn ""  [(set (mem:HI (plus:SI (match_operand:SI 0 "register_operand" "r")			 (match_operand:SI 1 "arith_operand" "rI")))	(match_operand:SI 2 "register_operand" "r"))   (set (match_dup 0)	(plus:SI (match_dup 0)		 (match_dup 1)))]  ""  "st.h %2,%0,%1\\t;; pipelined!\;addu %0,%0,%1\\t;; /")(define_insn ""  [(set (match_operand:QI 0 "general_operand" "g")	(const_int 0))]  ""  "*{  if (REG_P (operands[0]))    return \"or %0,r0,0\";  return \"st.b r0,%0\";}")(define_insn "movqi"  [(set (match_operand:QI 0 "general_operand" "=g,r")	(match_operand:QI 1 "general_operand" "r,mn"))]  ""  "*{  if (REG_P (operands[0]))    {      if (GET_CODE (operands[1]) == MEM)	return \"ld.b %0,%1\";      if (GET_CODE (operands[1]) == CONST_INT)	return output_store_const_int (QImode, operands);      return \"or %0,r0,%1\";    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色精品在线视频| 亚洲六月丁香色婷婷综合久久 | 麻豆高清免费国产一区| 日本一区二区三区国色天香 | 91精品国产综合久久香蕉麻豆| 成人污视频在线观看| 亚洲成a人片在线不卡一二三区 | 另类中文字幕网| 亚洲色欲色欲www| 大桥未久av一区二区三区中文| 美女诱惑一区二区| 五月天激情综合网| 亚洲自拍另类综合| 一区二区三区欧美久久| 蜜桃精品在线观看| 亚洲免费在线观看| 久久国产精品色婷婷| 精品人在线二区三区| 欧美tickle裸体挠脚心vk| 69久久夜色精品国产69蝌蚪网| 欧美男男青年gay1069videost | 另类小说图片综合网| 琪琪久久久久日韩精品| 精品一区二区三区日韩| 久久99精品国产91久久来源| 欧美一级国产精品| 日本韩国欧美三级| 欧美一卡二卡在线观看| 欧美精品一区二区精品网| 国产亚洲精品中文字幕| 中文字幕在线观看一区| 久久国产生活片100| 亚洲麻豆国产自偷在线| 视频一区二区三区入口| 久久免费视频一区| 中文字幕一区二区三区视频| 五月激情综合网| 国产精品资源站在线| 色狠狠一区二区三区香蕉| 日韩欧美国产综合一区| 国产精品一级在线| 国产成人在线观看| 欧美绝品在线观看成人午夜影视| 日韩欧美国产系列| 亚洲自拍偷拍图区| 国产成人精品影视| 欧美美女bb生活片| 国产精品的网站| 精品一区二区免费| 老司机一区二区| 日本一区二区三区四区| 亚洲国产精品成人综合色在线婷婷| 一区二区三区日韩精品视频| 东方欧美亚洲色图在线| 欧美一区二区精品久久911| 日韩成人一级大片| 色哦色哦哦色天天综合| 久久精品视频在线免费观看| 欧美性猛交xxxxxx富婆| 亚洲欧洲国产日韩| 国产成人av资源| 久久伊人中文字幕| 久久精品国产精品亚洲精品| 欧美日韩精品欧美日韩精品一| 色哟哟一区二区| 亚洲免费在线看| 91视视频在线直接观看在线看网页在线看 | 亚洲精品日韩专区silk| 免费观看一级欧美片| 欧美日韩国产高清一区二区三区| 亚洲另类中文字| 欧美日韩一级二级三级| 亚洲已满18点击进入久久| 欧美三级资源在线| 视频一区视频二区中文| 久久久777精品电影网影网 | 色94色欧美sute亚洲线路一久| 亚洲精品欧美在线| 欧美日韩国产综合草草| 欧美aaaaaa午夜精品| 久久伊人中文字幕| 国产欧美日韩在线看| 日韩1区2区日韩1区2区| 久久综合色播五月| 色综合天天综合网天天看片| 天天色综合天天| 精品国产成人在线影院 | 亚洲国产一区二区三区| 欧美一级一区二区| 色婷婷综合中文久久一本| 处破女av一区二区| 亚洲综合小说图片| 91精品国产综合久久福利 | 久久尤物电影视频在线观看| 国产女同性恋一区二区| 国产精一品亚洲二区在线视频| 亚洲色图一区二区| 欧美一级二级三级蜜桃| 99re热视频精品| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲一区二区欧美激情| 国产亚洲婷婷免费| 日韩精品中文字幕一区二区三区 | 欧美一级夜夜爽| 在线观看91精品国产入口| 国产成人精品在线看| 国产精品一区二区在线看| 成人免费一区二区三区视频 | 国产精品资源网站| 麻豆国产精品视频| 日本aⅴ亚洲精品中文乱码| 樱花草国产18久久久久| 国产精品国产馆在线真实露脸| 久久影院午夜论| 久久免费看少妇高潮| 久久久久久久久久久久电影| 青青草成人在线观看| 日本中文字幕一区二区视频| 午夜亚洲国产au精品一区二区| 亚洲午夜视频在线观看| 亚洲综合激情网| 亚洲va在线va天堂| 色婷婷综合久久久中文一区二区| 日韩精品一区第一页| 日韩黄色片在线观看| 国内外精品视频| 日韩免费高清av| 99热这里都是精品| 欧美在线观看一区| 欧美一区欧美二区| 精品久久久久一区| 国产精品免费观看视频| 亚洲精品写真福利| 亚洲在线视频免费观看| 久久久久久久精| 国产欧美va欧美不卡在线| 亚洲精品福利视频网站| 蜜臀国产一区二区三区在线播放| 开心九九激情九九欧美日韩精美视频电影 | 一区免费观看视频| 亚洲已满18点击进入久久| 色综合中文字幕国产 | 99久久精品国产导航| 欧美精品99久久久**| 成人国产一区二区三区精品| 欧美美女视频在线观看| 视频一区在线视频| 亚洲一区视频在线| 国产在线精品一区在线观看麻豆| 成人av片在线观看| 天天爽夜夜爽夜夜爽精品视频| 日韩专区一卡二卡| 99久久综合99久久综合网站| 欧美一区二区精美| 午夜欧美大尺度福利影院在线看| 高潮精品一区videoshd| 精品日韩av一区二区| 午夜成人免费电影| 色丁香久综合在线久综合在线观看| 久久久精品国产99久久精品芒果| 视频一区中文字幕| 欧美日韩成人在线| 亚洲网友自拍偷拍| 亚洲美女免费视频| 91天堂素人约啪| 亚洲视频在线观看一区| 国产jizzjizz一区二区| 久久夜色精品国产噜噜av| 青草国产精品久久久久久| 欧美乱妇23p| 成人激情免费视频| 精品国产99国产精品| 国内精品伊人久久久久av一坑 | 一级精品视频在线观看宜春院 | 国产一区二区三区综合| 麻豆精品久久精品色综合| 日韩一区二区三区在线| 久久99精品视频| 久久精品综合网| 国产成人av一区二区三区在线观看| 国产亚洲va综合人人澡精品 | 久久奇米777| 成人免费毛片aaaaa**| 亚洲日本成人在线观看| 欧美图区在线视频| 免费精品99久久国产综合精品| 精品乱人伦一区二区三区| 国产成人在线视频网址| 亚洲日韩欧美一区二区在线| 91精品久久久久久久91蜜桃| 国产一区二区调教| 亚洲手机成人高清视频| 欧美精品高清视频| 国产精品电影院| 欧美天堂一区二区三区| 蓝色福利精品导航| 综合av第一页| 亚洲精品在线一区二区| 色美美综合视频| 国产麻豆9l精品三级站|