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

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

?? mips.c.svn-base

?? PSP用開發(fā)必裝庫GCC4
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
      if (no_new_pseudos)	emit_move_insn (dest, x), x = dest;      else	x = force_reg (mode, x);      x = gen_rtx_fmt_ee (codes[i].code, mode, x, GEN_INT (codes[i].value));    }  emit_insn (gen_rtx_SET (VOIDmode, dest, x));}/* Subroutine of mips_legitimize_move.  Move constant SRC into register   DEST given that SRC satisfies immediate_operand but doesn't satisfy   move_operand.  */static voidmips_legitimize_const_move (enum machine_mode mode, rtx dest, rtx src){  rtx base;  HOST_WIDE_INT offset;  enum mips_symbol_type symbol_type;  /* Split moves of big integers into smaller pieces.  In mips16 code,     it's better to force the constant into memory instead.  */  if (GET_CODE (src) == CONST_INT && !TARGET_MIPS16)    {      mips_move_integer (dest, INTVAL (src));      return;    }  /* See if the symbol can be split.  For mips16, this is often worse than     forcing it in the constant pool since it needs the single-register form     of addiu or daddiu.  */  if (!TARGET_MIPS16      && mips_symbolic_constant_p (src, &symbol_type)      && mips_split_p[symbol_type])    {      emit_move_insn (dest, mips_split_symbol (dest, src));      return;    }  /* If we have (const (plus symbol offset)), load the symbol first     and then add in the offset.  This is usually better than forcing     the constant into memory, at least in non-mips16 code.  */  mips_split_const (src, &base, &offset);  if (!TARGET_MIPS16      && offset != 0      && (!no_new_pseudos || SMALL_OPERAND (offset)))    {      base = mips_force_temporary (dest, base);      emit_move_insn (dest, mips_add_offset (0, base, offset));      return;    }  src = force_const_mem (mode, src);  /* When using explicit relocs, constant pool references are sometimes     not legitimate addresses.  */  if (!memory_operand (src, VOIDmode))    src = replace_equiv_address (src, mips_split_symbol (dest, XEXP (src, 0)));  emit_move_insn (dest, src);}/* If (set DEST SRC) is not a valid instruction, emit an equivalent   sequence that is valid.  */boolmips_legitimize_move (enum machine_mode mode, rtx dest, rtx src){  if (!register_operand (dest, mode) && !reg_or_0_operand (src, mode))    {      emit_move_insn (dest, force_reg (mode, src));      return true;    }  /* Check for individual, fully-reloaded mflo and mfhi instructions.  */  if (GET_MODE_SIZE (mode) <= UNITS_PER_WORD      && REG_P (src) && MD_REG_P (REGNO (src))      && REG_P (dest) && GP_REG_P (REGNO (dest)))    {      int other_regno = REGNO (src) == HI_REGNUM ? LO_REGNUM : HI_REGNUM;      if (GET_MODE_SIZE (mode) <= 4)	emit_insn (gen_mfhilo_si (gen_rtx_REG (SImode, REGNO (dest)),				  gen_rtx_REG (SImode, REGNO (src)),				  gen_rtx_REG (SImode, other_regno)));      else	emit_insn (gen_mfhilo_di (gen_rtx_REG (DImode, REGNO (dest)),				  gen_rtx_REG (DImode, REGNO (src)),				  gen_rtx_REG (DImode, other_regno)));      return true;    }  /* We need to deal with constants that would be legitimate     immediate_operands but not legitimate move_operands.  */  if (CONSTANT_P (src) && !move_operand (src, mode))    {      mips_legitimize_const_move (mode, dest, src);      set_unique_reg_note (get_last_insn (), REG_EQUAL, copy_rtx (src));      return true;    }  return false;}/* We need a lot of little routines to check constant values on the   mips16.  These are used to figure out how long the instruction will   be.  It would be much better to do this using constraints, but   there aren't nearly enough letters available.  */static intm16_check_op (rtx op, int low, int high, int mask){  return (GET_CODE (op) == CONST_INT	  && INTVAL (op) >= low	  && INTVAL (op) <= high	  && (INTVAL (op) & mask) == 0);}intm16_uimm3_b (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, 0x1, 0x8, 0);}intm16_simm4_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0x8, 0x7, 0);}intm16_nsimm4_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0x7, 0x8, 0);}intm16_simm5_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0x10, 0xf, 0);}intm16_nsimm5_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0xf, 0x10, 0);}intm16_uimm5_4 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, (- 0x10) << 2, 0xf << 2, 3);}intm16_nuimm5_4 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, (- 0xf) << 2, 0x10 << 2, 3);}intm16_simm8_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0x80, 0x7f, 0);}intm16_nsimm8_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0x7f, 0x80, 0);}intm16_uimm8_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, 0x0, 0xff, 0);}intm16_nuimm8_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0xff, 0x0, 0);}intm16_uimm8_m1_1 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, - 0x1, 0xfe, 0);}intm16_uimm8_4 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, 0x0, 0xff << 2, 3);}intm16_nuimm8_4 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, (- 0xff) << 2, 0x0, 3);}intm16_simm8_8 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, (- 0x80) << 3, 0x7f << 3, 7);}intm16_nsimm8_8 (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED){  return m16_check_op (op, (- 0x7f) << 3, 0x80 << 3, 7);}static boolmips_rtx_costs (rtx x, int code, int outer_code, int *total){  enum machine_mode mode = GET_MODE (x);  switch (code)    {    case CONST_INT:      if (!TARGET_MIPS16)        {          /* Always return 0, since we don't have different sized             instructions, hence different costs according to Richard             Kenner */          *total = 0;          return true;        }      /* A number between 1 and 8 inclusive is efficient for a shift.         Otherwise, we will need an extended instruction.  */      if ((outer_code) == ASHIFT || (outer_code) == ASHIFTRT          || (outer_code) == LSHIFTRT)        {          if (INTVAL (x) >= 1 && INTVAL (x) <= 8)            *total = 0;          else            *total = COSTS_N_INSNS (1);          return true;        }      /* We can use cmpi for an xor with an unsigned 16 bit value.  */      if ((outer_code) == XOR          && INTVAL (x) >= 0 && INTVAL (x) < 0x10000)        {          *total = 0;          return true;        }      /* We may be able to use slt or sltu for a comparison with a         signed 16 bit value.  (The boundary conditions aren't quite         right, but this is just a heuristic anyhow.)  */      if (((outer_code) == LT || (outer_code) == LE           || (outer_code) == GE || (outer_code) == GT           || (outer_code) == LTU || (outer_code) == LEU           || (outer_code) == GEU || (outer_code) == GTU)          && INTVAL (x) >= -0x8000 && INTVAL (x) < 0x8000)        {          *total = 0;          return true;        }      /* Equality comparisons with 0 are cheap.  */      if (((outer_code) == EQ || (outer_code) == NE)          && INTVAL (x) == 0)        {          *total = 0;          return true;        }      /* Constants in the range 0...255 can be loaded with an unextended	 instruction.  They are therefore as cheap as a register move.	 Given the choice between "li R1,0...255" and "move R1,R2"	 (where R2 is a known constant), it is usually better to use "li",	 since we do not want to unnecessarily extend the lifetime of R2.  */      if (outer_code == SET	  && INTVAL (x) >= 0	  && INTVAL (x) < 256)	{	  *total = 0;	  return true;	}      /* Otherwise fall through to the handling below.  */    case CONST:    case SYMBOL_REF:    case LABEL_REF:    case CONST_DOUBLE:      if (LEGITIMATE_CONSTANT_P (x))	{	  *total = COSTS_N_INSNS (1);	  return true;	}      else	{	  /* The value will need to be fetched from the constant pool.  */	  *total = CONSTANT_POOL_COST;	  return true;	}    case MEM:      {        /* If the address is legitimate, return the number of           instructions it needs, otherwise use the default handling.  */        int n = mips_address_insns (XEXP (x, 0), GET_MODE (x));        if (n > 0)          {            *total = COSTS_N_INSNS (1 + n);            return true;          }        return false;      }    case FFS:      *total = COSTS_N_INSNS (6);      return true;    case NOT:      *total = COSTS_N_INSNS ((mode == DImode && !TARGET_64BIT) ? 2 : 1);      return true;    case AND:    case IOR:    case XOR:      if (mode == DImode && !TARGET_64BIT)        {          *total = COSTS_N_INSNS (2);          return true;        }      return false;    case ASHIFT:    case ASHIFTRT:    case LSHIFTRT:      if (mode == DImode && !TARGET_64BIT)        {          *total = COSTS_N_INSNS ((GET_CODE (XEXP (x, 1)) == CONST_INT)                                  ? 4 : 12);          return true;        }      return false;    case ABS:      if (mode == SFmode || mode == DFmode)        *total = COSTS_N_INSNS (1);      else        *total = COSTS_N_INSNS (4);      return true;    case LO_SUM:      *total = COSTS_N_INSNS (1);      return true;    case PLUS:    case MINUS:      if (mode == SFmode || mode == DFmode)        {          if (TUNE_MIPS3000 || TUNE_MIPS3900)            *total = COSTS_N_INSNS (2);          else if (TUNE_MIPS6000)            *total = COSTS_N_INSNS (3);	  else if (TUNE_SB1)	    *total = COSTS_N_INSNS (4);          else            *total = COSTS_N_INSNS (6);          return true;        }      if (mode == DImode && !TARGET_64BIT)        {          *total = COSTS_N_INSNS (4);          return true;        }      return false;    case NEG:      if (mode == DImode && !TARGET_64BIT)        {          *total = 4;          return true;        }      return false;    case MULT:      if (mode == SFmode)        {          if (TUNE_MIPS3000              || TUNE_MIPS3900              || TUNE_MIPS5000	      || TUNE_SB1)            *total = COSTS_N_INSNS (4);          else if (TUNE_MIPS6000                   || TUNE_MIPS5400                   || TUNE_MIPS5500)            *total = COSTS_N_INSNS (5);          else            *total = COSTS_N_INSNS (7);          return true;        }      if (mode == DFmode)        {          if (TUNE_SB1)	    *total = COSTS_N_INSNS (4);          else if (TUNE_MIPS3000              || TUNE_MIPS3900              || TUNE_MIPS5000)            *total = COSTS_N_INSNS (5);          else if (TUNE_MIPS6000                   || TUNE_MIPS5400                   || TUNE_MIPS5500)            *total = COSTS_N_INSNS (6);          else 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91一区二区三区在线观看| 国产成人在线观看免费网站| 夜夜嗨av一区二区三区中文字幕 | 91超碰这里只有精品国产| 91国偷自产一区二区三区观看| 成av人片一区二区| 日本乱码高清不卡字幕| 欧美日韩色综合| 欧美大片在线观看一区| 久久久久久久久久久久久夜| 国产无人区一区二区三区| 中文字幕精品在线不卡| 91精品一区二区三区久久久久久| 欧美日韩aaa| 精品不卡在线视频| 1000部国产精品成人观看| 午夜视频久久久久久| 国产真实乱偷精品视频免| 91啦中文在线观看| 欧美一区日韩一区| 中文字幕亚洲视频| 麻豆精品国产传媒mv男同| 黄色日韩网站视频| 色嗨嗨av一区二区三区| 精品人在线二区三区| 亚洲日韩欧美一区二区在线| 免费精品99久久国产综合精品| av亚洲精华国产精华精华| 日韩西西人体444www| 亚洲精品美国一| 成人在线综合网| 精品久久五月天| 亚洲va国产天堂va久久en| 粉嫩高潮美女一区二区三区| 日韩欧美国产一区二区三区 | 一区二区三区鲁丝不卡| 国产精品1区2区| 欧美成人高清电影在线| 亚洲电影欧美电影有声小说| 色婷婷av一区二区| 国产精品美女久久久久久久| 国内欧美视频一区二区| 欧美一级欧美三级在线观看| 亚洲va韩国va欧美va| 欧洲一区在线电影| 亚洲精品国产成人久久av盗摄| 国产成人精品在线看| 国产色婷婷亚洲99精品小说| 国产露脸91国语对白| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 最新久久zyz资源站| 国产精品一区二区91| 中文av一区特黄| av成人免费在线| 亚洲人成亚洲人成在线观看图片 | 久久―日本道色综合久久| 久久成人免费电影| 国产色产综合色产在线视频| 成人在线视频一区二区| 亚洲婷婷在线视频| 色8久久人人97超碰香蕉987| 亚洲国产精品久久久男人的天堂| 欧美亚洲一区三区| 奇米888四色在线精品| 欧美成人性战久久| 99久久久免费精品国产一区二区| 亚洲在线一区二区三区| 欧美一区二区免费视频| 韩国一区二区三区| 亚洲黄一区二区三区| 91精品欧美综合在线观看最新| 国产伦精品一区二区三区免费| 一区视频在线播放| 欧美一区欧美二区| av在线不卡电影| 美腿丝袜在线亚洲一区| 中文字幕一区二区三区不卡 | 国产一区二三区| 国产精品女主播在线观看| 欧美日本在线看| bt7086福利一区国产| 青青草97国产精品免费观看无弹窗版| 久久精品欧美一区二区三区不卡| 在线一区二区三区四区| 国产福利不卡视频| 肉肉av福利一精品导航| 一区二区在线免费| 国产精品视频九色porn| 久久伊人蜜桃av一区二区| 欧美性感一类影片在线播放| 国产盗摄精品一区二区三区在线 | 国产呦精品一区二区三区网站| 一区二区三区.www| 亚洲欧美一区二区三区久本道91| 久久精品一区四区| 久久久国产一区二区三区四区小说| 精品1区2区3区| 欧美在线观看视频在线| 成人黄色免费短视频| 成人久久视频在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲激情一二三区| 亚洲国产cao| 亚洲1区2区3区4区| 五月激情综合色| 日韩av电影天堂| 肉色丝袜一区二区| 日韩精品一级二级| 日韩电影免费一区| 麻豆国产精品官网| 国产成人综合亚洲网站| 成人免费毛片片v| 欧美色图免费看| 精品少妇一区二区三区日产乱码 | 欧美电影免费提供在线观看| 欧美大胆人体bbbb| 欧美激情一区二区三区蜜桃视频 | 色先锋aa成人| 91精品免费观看| 久久精品亚洲精品国产欧美kt∨ | 国产精品久久久久一区二区三区| 国产精品国产三级国产a| 亚洲综合另类小说| 久久99精品久久只有精品| 成人午夜免费电影| 欧美日韩国产免费| 久久精品网站免费观看| 一区二区三区在线免费播放 | 美女国产一区二区| av激情亚洲男人天堂| 在线观看91精品国产麻豆| www国产亚洲精品久久麻豆| 综合av第一页| 国模套图日韩精品一区二区| 99久久777色| 亚洲精品在线免费播放| 亚洲一级二级在线| 国产精品综合视频| 欧美一区二区三区啪啪| 亚洲免费在线电影| 国产成人午夜视频| 欧美一区二区三区人| 亚洲一区在线观看免费观看电影高清 | 美女任你摸久久| 精品视频一区二区三区免费| 国产精品无码永久免费888| 男人的j进女人的j一区| 欧美精品久久99久久在免费线 | 日韩成人伦理电影在线观看| 色婷婷一区二区三区四区| 国产午夜精品一区二区| 精品亚洲成a人在线观看| 6080午夜不卡| 视频一区视频二区中文字幕| 欧美天堂一区二区三区| 亚洲欧洲国产日韩| 99久久伊人精品| 成人免费在线视频| 91一区一区三区| 一区二区久久久久久| 在线观看亚洲a| 亚洲国产精品影院| 在线影院国内精品| 图片区小说区区亚洲影院| 91麻豆精品国产综合久久久久久 | 国产二区国产一区在线观看| 国产欧美一区二区在线| 99久久精品国产网站| 一区二区三区在线视频观看58| 欧美伊人久久久久久午夜久久久久| 一区二区在线电影| 欧美午夜在线观看| 国产在线国偷精品免费看| 国产日韩精品一区二区三区在线| 9i看片成人免费高清| 亚洲一区二区精品久久av| 欧美日韩一区二区三区不卡| 久久99国产精品免费| 亚洲国产精品ⅴa在线观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美xxxx老人做受| 大胆欧美人体老妇| 亚洲一区二区三区在线看| 欧美大片一区二区| 色婷婷综合五月| 国产在线观看免费一区| 亚洲精品国产一区二区精华液 | 日本va欧美va精品| 欧美激情一区二区| 在线观看中文字幕不卡| 久88久久88久久久| 亚洲一区二区三区中文字幕 | 婷婷六月综合网| 国产精品白丝在线| 欧美日韩一级片网站| 成人精品国产福利| 国产乱人伦精品一区二区在线观看| 亚洲六月丁香色婷婷综合久久| 国产蜜臀av在线一区二区三区| 欧美日韩国产高清一区二区三区 |