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

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

?? pyr.md

?? 這是完整的gcc源代碼
?? MD
?? 第 1 頁 / 共 3 頁
字號:
;; Machine description for Pyramid 90 Series for GNU C compiler;; Copyright (C) 1989 Free Software Foundation, Inc.;; 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.;; Instruction patterns.  When multiple patterns apply,;; the first one in the file is chosen.;;;; 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.;; * Try using define_insn instead of some peepholes in more places.;; * Set REG_NOTES:REG_EQUIV for cvt[bh]w loads.  This would make the;;   backward scan in sign_extend needless.;; * Match (pc) (label_ref) case in peephole patterns.;; * Should optimize;;   "cmpX op1,op2;  b{eq,ne} LY;  ucmpX op1.op2;  b{lt,le,gt,ge} LZ";;   to;;   "ucmpX op1,op2;  b{eq,ne} LY;  b{lt,le,gt,ge} LZ";;   by pre-scanning insn and running notice_update_cc for them.;; * Is it necessary to do copy_rtx in the test and compare patterns?;; * Fix true frame pointer omission.;; * Make the jump tables contain branches, not addresses!  This would;;   save us one instruction.;; * Could the compilcated scheme for compares be simplyfied, if we had;;   no named cmpqi or cmphi patterns, and instead anonymous patterns for;;   the less-than-word compare cases pyr can handle???;; * The jump insn seems to accept more than just IR addressing.  Would;;   we win by telling GCC?  Or can we use movw into the global reg which;;   is a synonym for pc?;; * More DImode patterns.;; * Scan backwards in "zero_extendhisi2", "zero_extendqisi2" to find out;;   if the extension can be omitted.;; * "divmodsi" with Pyramid "ediv" insn.  Is it possible in rtl??;; * Would "rcsp tmpreg; u?cmp[bh] op1_regdispl(tmpreg),op2" win in;;   comparison with the two extensions and single test generated now?;;   The rcsp insn could be expanded, and moved out of loops by the;;   optimizer, making 1 (64 bit) insn of 3 (32 bit) insns in loops.;;   The rcsp insn could be followed by an add insn, making non-displacement;;   IR addressing sufficient.;______________________________________________________________________;;	Test and Compare Patterns.;______________________________________________________________________; The argument for the rather complicated test and compare expansion; scheme, is the irregular pyramid instructions for these operations.; 1) Pyramid has different signed and unsigned compares.  2) HImode; and QImode integers are memory-memory and immediate-memory only.  3); Unsigned HImode compares doesn't exist.  4) Only certain; combinations of addresses are allowed for memory-memory compares.; Whenever necessary, in order to fulfill these addressing; constraints, the compare operands are swapped.(define_expand "tstsi"  [(set (cc0)	(match_operand:SI 0 "general_operand" ""))]  "" "operands[0] = force_reg (SImode, operands[0]);")(define_insn ""  [(set (cc0)	(compare (match_operand:SI 0 "memory_operand" "m")		 (match_operand:SI 1 "memory_operand" "m")))]  "weird_memory_memory (operands[0], operands[1])"  "*{  rtx br_insn = NEXT_INSN (insn);  RTX_CODE br_code;  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  br_code =  GET_CODE (XEXP (XEXP (PATTERN (br_insn), 1), 0));  weird_memory_memory (operands[0], operands[1]);  if (swap_operands)    {      cc_status.flags = CC_REVERSED;      if (TRULY_UNSIGNED_COMPARE_P (br_code))	{	  cc_status.mdep = CC_VALID_FOR_UNSIGNED;	  return \"ucmpw %0,%1\";	}      return \"cmpw %0,%1\";    }  if (TRULY_UNSIGNED_COMPARE_P (br_code))    {      cc_status.mdep = CC_VALID_FOR_UNSIGNED;      return \"ucmpw %1,%0\";    }  return \"cmpw %1,%0\";}")(define_insn "cmpsi"  [(set (cc0)	(compare (match_operand:SI 0 "general_operand" "r,g")		 (match_operand:SI 1 "general_operand" "g,r")))]  ""  "*{  rtx br_insn = NEXT_INSN (insn);  RTX_CODE br_code;  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  br_code =  GET_CODE (XEXP (XEXP (PATTERN (br_insn), 1), 0));  if (which_alternative != 0)    {      cc_status.flags = CC_REVERSED;      if (TRULY_UNSIGNED_COMPARE_P (br_code))	{	  cc_status.mdep = CC_VALID_FOR_UNSIGNED;	  return \"ucmpw %0,%1\";	}      return \"cmpw %0,%1\";    }  if (TRULY_UNSIGNED_COMPARE_P (br_code))    {      cc_status.mdep = CC_VALID_FOR_UNSIGNED;      return \"ucmpw %1,%0\";    }  return \"cmpw %1,%0\";}")(define_insn ""  [(set (cc0)	(match_operand:SI 0 "general_operand" "r"))]  ""  "*{  rtx br_insn = NEXT_INSN (insn);  RTX_CODE br_code;  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  br_code =  GET_CODE (XEXP (XEXP (PATTERN (br_insn), 1), 0));  if (TRULY_UNSIGNED_COMPARE_P (br_code))    {      cc_status.mdep = CC_VALID_FOR_UNSIGNED;      return \"ucmpw $0,%0\";    }  return \"mtstw %0,%0\";}")(define_expand "cmphi"  [(set (cc0)	(compare (match_operand:HI 0 "general_operand" "")		 (match_operand:HI 1 "general_operand" "")))]  ""  "{  extern rtx test_op0, test_op1;  extern enum machine_mode test_mode;  test_op0 = copy_rtx (operands[0]);  test_op1 = copy_rtx (operands[1]);  test_mode = HImode;  DONE;}")(define_insn "tsthi"  [(set (cc0)	(match_operand:HI 0 "nonimmediate_operand" "rm"))]  ""  "*{  cc_status.flags = CC_NO_OVERFLOW;  return \"cvthw %0,lr15\";}")(define_insn ""  [(set (cc0)	(compare (match_operand:HI 0 "memory_operand" "m")		 (match_operand:HI 1 "memory_operand" "m")))]  "weird_memory_memory (operands[0], operands[1])"  "*{  rtx br_insn = NEXT_INSN (insn);  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  weird_memory_memory (operands[0], operands[1]);  if (swap_operands)    {      cc_status.flags = CC_REVERSED;      return \"cmph %0,%1\";    }  return \"cmph %1,%0\";}")(define_insn ""  [(set (cc0)	(compare (match_operand:HI 0 "nonimmediate_operand" "r,m")		 (match_operand:HI 1 "nonimmediate_operand" "m,r")))]  "(GET_CODE (operands[0]) != GET_CODE (operands[1]))"  "*{  rtx br_insn = NEXT_INSN (insn);  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  if (which_alternative != 0)    {      cc_status.flags = CC_REVERSED;      return \"cmph %0,%1\";    }  return \"cmph %1,%0\";}")(define_expand "cmpqi"  [(set (cc0)	(compare (match_operand:QI 0 "general_operand" "")		 (match_operand:QI 1 "general_operand" "")))]  ""  "{  extern rtx test_op0, test_op1;  extern enum machine_mode test_mode;  test_op0 = copy_rtx (operands[0]);  test_op1 = copy_rtx (operands[1]);  test_mode = QImode;  DONE;}")(define_insn "tstqi"  [(set (cc0)	(match_operand:QI 0 "nonimmediate_operand" "rm"))]  ""  "*{  cc_status.flags = CC_NO_OVERFLOW;  return \"cvtbw %0,lr15\";}")(define_insn ""  [(set (cc0)	(compare (match_operand:QI 0 "memory_operand" "m")		 (match_operand:QI 1 "memory_operand" "m")))]  "weird_memory_memory (operands[0], operands[1])"  "*{  rtx br_insn = NEXT_INSN (insn);  RTX_CODE br_code;  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  br_code =  GET_CODE (XEXP (XEXP (PATTERN (br_insn), 1), 0));  weird_memory_memory (operands[0], operands[1]);  if (swap_operands)    {      cc_status.flags = CC_REVERSED;      if (TRULY_UNSIGNED_COMPARE_P (br_code))	{	  cc_status.mdep = CC_VALID_FOR_UNSIGNED;	  return \"ucmpb %0,%1\";	}      return \"cmpb %0,%1\";    }  if (TRULY_UNSIGNED_COMPARE_P (br_code))    {      cc_status.mdep = CC_VALID_FOR_UNSIGNED;      return \"ucmpb %1,%0\";    }  return \"cmpb %1,%0\";}")(define_insn ""  [(set (cc0)	(compare (match_operand:QI 0 "nonimmediate_operand" "r,m")		 (match_operand:QI 1 "nonimmediate_operand" "m,r")))]  "(GET_CODE (operands[0]) != GET_CODE (operands[1]))"  "*{  rtx br_insn = NEXT_INSN (insn);  RTX_CODE br_code;  if (GET_CODE (br_insn) != JUMP_INSN)    abort();  br_code =  GET_CODE (XEXP (XEXP (PATTERN (br_insn), 1), 0));  if (which_alternative != 0)    {      cc_status.flags = CC_REVERSED;      if (TRULY_UNSIGNED_COMPARE_P (br_code))	{	  cc_status.mdep = CC_VALID_FOR_UNSIGNED;	  return \"ucmpb %0,%1\";	}      return \"cmpb %0,%1\";    }  if (TRULY_UNSIGNED_COMPARE_P (br_code))    {      cc_status.mdep = CC_VALID_FOR_UNSIGNED;      return \"ucmpb %1,%0\";    }  return \"cmpb %1,%0\";}")(define_expand "bgt"  [(set (pc) (if_then_else (gt (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (SIGN_EXTEND);")(define_expand "blt"  [(set (pc) (if_then_else (lt (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (SIGN_EXTEND);")(define_expand "bge"  [(set (pc) (if_then_else (ge (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (SIGN_EXTEND);")(define_expand "ble"  [(set (pc) (if_then_else (le (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (SIGN_EXTEND);")(define_expand "beq"  [(set (pc) (if_then_else (eq (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (SIGN_EXTEND);")(define_expand "bne"  [(set (pc) (if_then_else (ne (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (SIGN_EXTEND);")(define_expand "bgtu"  [(set (pc) (if_then_else (gtu (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (ZERO_EXTEND);")(define_expand "bltu"  [(set (pc) (if_then_else (ltu (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (ZERO_EXTEND);")(define_expand "bgeu"  [(set (pc) (if_then_else (geu (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (ZERO_EXTEND);")(define_expand "bleu"  [(set (pc) (if_then_else (leu (cc0) (const_int 0))			   (label_ref (match_operand 0 "" "")) (pc)))]  "" "extend_and_branch (ZERO_EXTEND);")(define_insn "cmpdf"  [(set (cc0)	(compare (match_operand:DF 0 "register_operand" "r")		 (match_operand:DF 1 "register_operand" "r")))]  ""  "cmpd %1,%0")(define_insn "cmpsf"  [(set (cc0)	(compare (match_operand:SF 0 "register_operand" "r")		 (match_operand:SF 1 "register_operand" "r")))]  ""  "cmpf %1,%0")(define_insn "tstdf"  [(set (cc0)       	(match_operand:DF 0 "register_operand" "r"))]  ""  "mtstd %0,%0")(define_insn "tstsf"  [(set (cc0)       	(match_operand:SF 0 "register_operand" "r"))]  ""  "mtstf %0,%0");______________________________________________________________________;;	Fixed-point Arithmetic.;______________________________________________________________________(define_insn "addsi3"  [(set (match_operand:SI 0 "register_operand" "=r,!r")	(plus:SI (match_operand:SI 1 "general_operand" "%0,r")		 (match_operand:SI 2 "general_operand" "g,rJ")))]  ""  "*{  if (which_alternative == 0)    return \"addw %2,%0\";  else    {      forget_cc_if_dependent (operands[0]);      return REG_P (operands[2])	? \"mova (%2)[%1*1],%0\" : \"mova %a2[%1*1],%0\";    }}")(define_insn "subsi3"  [(set (match_operand:SI 0 "register_operand" "=r,r")	(minus:SI (match_operand:SI 1 "general_operand" "0,g")		  (match_operand:SI 2 "general_operand" "g,0")))]  ""  "* return (which_alternative == 0) ? \"subw %2,%0\" : \"rsubw %1,%0\";")(define_insn "mulsi3"  [(set (match_operand:SI 0 "register_operand" "=r")	(mult:SI (match_operand:SI 1 "general_operand" "%0")		 (match_operand:SI 2 "general_operand" "g")))]  ""  "mulw %2,%0")(define_insn "umulsi3"  [(set (match_operand:SI 0 "register_operand" "=r")	(umult:SI (match_operand:SI 1 "general_operand" "%0")		  (match_operand:SI 2 "general_operand" "g")))]  ""  "umulw %2,%0")(define_insn "divsi3"  [(set (match_operand:SI 0 "register_operand" "=r,r")	(div:SI (match_operand:SI 1 "general_operand" "0,g")		(match_operand:SI 2 "general_operand" "g,0")))]  ""  "* return (which_alternative == 0) ? \"divw %2,%0\" : \"rdivw %1,%0\";")(define_insn "udivsi3"  [(set (match_operand:SI 0 "register_operand" "=r")	(udiv:SI (match_operand:SI 1 "register_operand" "0")		 (match_operand:SI 2 "general_operand" "g")))]  ""  "udivw %2,%0")(define_insn "modsi3"  [(set (match_operand:SI 0 "register_operand" "=r")

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一线二线三线精华| 亚洲欧美一区二区久久| 99久久久无码国产精品| www.亚洲人| eeuss鲁片一区二区三区在线观看| 久久99精品久久久久久| 久久99精品国产.久久久久| 日本成人在线电影网| 麻豆精品视频在线| 黑人巨大精品欧美一区| 精久久久久久久久久久| 国产精品99久| 色丁香久综合在线久综合在线观看| 一本一道久久a久久精品综合蜜臀| 欧美中文字幕一二三区视频| 欧美精品1区2区3区| 日韩免费高清av| 国产精品国产三级国产普通话蜜臀 | 成人一级视频在线观看| caoporm超碰国产精品| 色国产精品一区在线观看| 69久久夜色精品国产69蝌蚪网| 欧美日韩亚州综合| 国产亚洲一二三区| 亚洲激情一二三区| 久久99精品久久久久久久久久久久 | 亚洲欧美日本在线| 青草av.久久免费一区| 丁香婷婷综合色啪| 6080午夜不卡| 亚洲欧洲日本在线| 另类调教123区| 99久久婷婷国产综合精品电影| 欧美亚洲国产一卡| 久久久亚洲高清| 亚洲与欧洲av电影| 国产精品99久久久久久似苏梦涵| 91国偷自产一区二区三区观看| 日韩欧美美女一区二区三区| 中文一区二区在线观看| 日韩二区三区四区| 色综合久久久网| 国产亚洲综合性久久久影院| 亚洲第一电影网| 波多野结衣的一区二区三区| 日韩三级免费观看| 亚洲国产视频一区| 91在线播放网址| 久久久久久毛片| 日韩av一二三| 欧美在线观看18| 国产精品久久久久久久久免费樱桃 | 日韩精品一区二区三区视频播放| 亚洲三级视频在线观看| 黑人精品欧美一区二区蜜桃| 欧美电影在线免费观看| 亚洲欧美日韩精品久久久久| 成人爽a毛片一区二区免费| 欧美另类久久久品| 亚洲在线视频免费观看| 91亚洲精华国产精华精华液| 欧美激情在线一区二区| 韩国欧美国产一区| 欧美成人精精品一区二区频| 日韩精品电影在线| 欧美婷婷六月丁香综合色| 自拍偷拍国产亚洲| 97久久精品人人做人人爽50路| 国产午夜亚洲精品羞羞网站| 久久99精品国产麻豆不卡| 欧美肥妇毛茸茸| 日韩电影在线一区二区三区| 91麻豆精品国产自产在线观看一区| 亚洲精品视频观看| 欧美综合天天夜夜久久| 亚洲在线视频网站| 制服视频三区第一页精品| 亚洲mv在线观看| 欧美一区二区三区四区视频| 日本三级亚洲精品| 日韩欧美国产高清| 国产麻豆91精品| 中文字幕第一区二区| 成人av电影在线观看| 国产精品电影院| 美女视频一区在线观看| 欧美va在线播放| 国产成a人亚洲| 亚洲欧美aⅴ...| 欧美日韩精品欧美日韩精品一 | 国产精品美女www爽爽爽| 成人高清免费在线播放| 亚洲视频在线一区观看| 欧洲激情一区二区| 免费欧美高清视频| 国产日韩欧美精品一区| 在线观看视频91| 免费看欧美女人艹b| 国产日韩v精品一区二区| 99精品1区2区| 奇米四色…亚洲| 中文字幕免费不卡| 欧美日韩视频不卡| 国产一区欧美日韩| 樱花影视一区二区| 欧美va在线播放| 色乱码一区二区三区88 | 日韩精品一区国产麻豆| 成人18视频日本| 蜜臀99久久精品久久久久久软件| 国产午夜亚洲精品理论片色戒 | 蜜乳av一区二区| 国产精品久久久久国产精品日日 | 久久久久久久久久久电影| www.日韩在线| 日本sm残虐另类| 1024精品合集| 久久久国产精品麻豆| 欧美日韩高清一区二区| www.在线成人| 国产经典欧美精品| 婷婷夜色潮精品综合在线| 中文在线资源观看网站视频免费不卡 | 久久久另类综合| 欧美精品久久天天躁| av亚洲精华国产精华精| 激情伊人五月天久久综合| 亚洲一区二区三区四区在线观看| 国产日韩欧美电影| 久久众筹精品私拍模特| 91麻豆精品国产综合久久久久久| www.亚洲激情.com| 成人午夜在线播放| 韩国三级在线一区| 九色综合狠狠综合久久| 亚洲国产欧美在线| 亚洲精品一卡二卡| 中文字幕亚洲在| 日本一区二区三区在线不卡| 欧美大尺度电影在线| 欧美理论片在线| 91九色02白丝porn| 色婷婷综合久久久| 99精品视频在线观看| 国产v综合v亚洲欧| 成人污污视频在线观看| 成人小视频在线观看| 国产在线视频不卡二| 免费成人av在线播放| 午夜欧美大尺度福利影院在线看| 夜夜爽夜夜爽精品视频| 亚洲女与黑人做爰| 亚洲午夜三级在线| 亚洲成人av在线电影| 亚洲午夜激情网站| 视频精品一区二区| 三级一区在线视频先锋| 日韩av在线免费观看不卡| 青青草成人在线观看| 免费成人性网站| 国内精品视频一区二区三区八戒| 久久精品国产网站| 国产精品一卡二| av中文字幕一区| 色成年激情久久综合| 欧美美女黄视频| www成人在线观看| 国产精品美日韩| 亚洲一区二区三区视频在线播放| 亚洲成人精品一区| 另类人妖一区二区av| 成人性生交大片免费看中文| 成人久久18免费网站麻豆| 99riav一区二区三区| 欧美日韩久久不卡| 26uuu国产在线精品一区二区| 国产精品免费丝袜| 亚洲va欧美va国产va天堂影院| 蜜臀精品一区二区三区在线观看| 国产盗摄一区二区| 欧美在线短视频| 2021久久国产精品不只是精品| 国产精品第13页| 男女性色大片免费观看一区二区| 国产精品一区二区久激情瑜伽 | 成人高清av在线| 欧美日韩高清一区二区不卡| 久久久久国产精品麻豆| 亚洲综合久久久久| 国内外成人在线| 精品1区2区3区| 国产欧美日产一区| 天堂成人免费av电影一区| 大陆成人av片| 91麻豆精品国产91久久久使用方法| 久久精品亚洲麻豆av一区二区| 亚洲电影中文字幕在线观看| 成人免费va视频| 欧美一三区三区四区免费在线看 | 日本伊人午夜精品|