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

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

?? tm-tahoe.h

?? 這是完整的gcc源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* Definitions of target machine for GNU compiler.  Tahoe version.   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 modifyit under the terms of the GNU General Public License as published bythe 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING.  If not, write tothe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  *//* * File: tm-tahoe.h * * This port made at the University of Buffalo by Devon Bowen, * Dale Wiles and Kevin Zachmann. * * Mail bugs reports or fixes to:	gcc@cs.buffalo.edu *//* * Run-time Target Specification *//* we want "tahoe" and "unix" auto-defined for all future compilations */#define CPP_PREDEFINES "-Dtahoe -Dunix"/* have cc1 print that this is the tahoe version */#define TARGET_VERSION printf (" (tahoe)");/* this is required in all tm files to hold flags */extern int target_flags;/* Zero if it is safe to output .dfloat and .float pseudos.  */#define TARGET_HEX_FLOAT (target_flags & 1)#define TARGET_DEFAULT 1#define TARGET_SWITCHES		\  { {"hex-float", 1},		\    {"no-hex-float", -1},	\    { "", TARGET_DEFAULT} }/* * Storage Layout *//* tahoe uses a big endian byte order */#define BYTES_BIG_ENDIAN/* tahoe uses a big endian word order */#define WORDS_BIG_ENDIAN/* standard byte size is usable on tahoe */#define BITS_PER_UNIT 8/* longs on the tahoe are 4 byte groups */#define BITS_PER_WORD 32/* from the last two params we get 4 bytes per word */#define UNITS_PER_WORD 4/* addresses are 32 bits (one word) */#define POINTER_SIZE 32/* pointers should align every 32 bits */#define POINTER_BOUNDARY 32/* all parameters line up on 32 boundaries */#define PARM_BOUNDARY 32/* stack should line up on 32 boundaries */#define STACK_BOUNDARY 32/* line functions up on 32 bits */#define FUNCTION_BOUNDARY 32/* the biggest alignment the tahoe needs in 32 bits */#define BIGGEST_ALIGNMENT 32/* we have to align after an 'int : 0' in a structure */#define EMPTY_FIELD_BOUNDARY 32/* structures must be made of full bytes */#define STRUCTURE_SIZE_BOUNDARY 8/* tahoe is picky about data alignment */#define STRICT_ALIGNMENT/* keep things standard with pcc */#define PCC_BITFIELD_TYPE_MATTERS 1/* this section is borrowed from the vax version since the *//* formats are the same in both of the architectures	   */#define CHECK_FLOAT_VALUE(mode, d) \  if ((mode) == SFmode) \    { \      if ((d) > 1.7014117331926443e+38) \	{ error ("magnitude of constant too large for `float'"); \	  (d) = 1.7014117331926443e+38; } \      else if ((d) < -1.7014117331926443e+38) \	{ error ("magnitude of constant too large for `float'"); \	  (d) = -1.7014117331926443e+38; } \      else if (((d) > 0) && ((d) < 2.9387358770557188e-39)) \	{ warning ("`float' constant truncated to zero"); \	  (d) = 0.0; } \      else if (((d) < 0) && ((d) > -2.9387358770557188e-39)) \	{ warning ("`float' constant truncated to zero"); \	  (d) = 0.0; } \    }/* * Register Usage *//* define 15 general regs plus one for the floating point reg (FPP) */#define FIRST_PSEUDO_REGISTER 17/* let the compiler know what the fp, sp and pc are */#define FIXED_REGISTERS {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0}/* lots of regs aren't guarenteed to return from a call. The FPP reg *//* must be included in these since it can't be saved by the reg mask */#define CALL_USED_REGISTERS {1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1}/* The FPP can handle any type, but the others may require as many as *//* two regs depending on the mode needed 			      */#define HARD_REGNO_NREGS(REGNO, MODE) \ (REGNO != 16 ? ((GET_MODE_SIZE(MODE)+UNITS_PER_WORD-1) / UNITS_PER_WORD) : 1)/* any mode greater than 4 bytes (doubles) can only go in an even regs *//* and the FPP can only hold SFmode and DFmode 			       */#define HARD_REGNO_MODE_OK(REGNO, MODE) \ (REGNO != 16 ? (GET_MODE_SIZE (MODE) <= 4 ? 1 : (REGNO % 2 - 1)) : \	(MODE == SFmode || MODE == DFmode))/* if mode1 or mode2, but not both, are doubles then modes cannot be tied */#define MODES_TIEABLE_P(MODE1, MODE2) \ ((MODE1 == DFmode) == (MODE2 == DFmode))/* the program counter is reg 15 */#define PC_REGNUM 15/* the stack pointer is reg 14 */#define STACK_POINTER_REGNUM 14/* the frame pointer is reg 13 */#define FRAME_POINTER_REGNUM 13/* tahoe does require an fp */#define FRAME_POINTER_REQUIRED 1/* since tahoe doesn't have a argument pointer, make it the fp */#define ARG_POINTER_REGNUM 13/* this isn't currently used since C doesn't support this feature */#define STATIC_CHAIN_REGNUM 0/* we'll use reg 1 for structure passing cause the destination *//* of the eventual movblk requires it to be there anyway.      */#define STRUCT_VALUE_REGNUM 1/* * Register Classes *//* tahoe has two types of regs. GENERALY_REGS are all the regs up *//* to number 15. FPP_REG is the special floating point processor  *//* register class (only one reg).				  */enum reg_class {NO_REGS,GENERAL_REGS,FPP_REG,ALL_REGS,LIM_REG_CLASSES};/* defines the number of reg classes.				    */#define N_REG_CLASSES (int) LIM_REG_CLASSES/* this defines what the classes are officially named for debugging */#define REG_CLASS_NAMES \ {"NO_REGS","GENERAL_REGS","FPP_REG","ALL_REGS"}/* set general regs to be the first 16 regs and the fpp reg to be 17th */#define REG_CLASS_CONTENTS {0,0xffff,0x10000,0x1ffff}/* register class for the fpp reg is FPP_REG, all others are GENERAL_REGS */#define REGNO_REG_CLASS(REGNO) (REGNO == 16 ? FPP_REG : GENERAL_REGS)/* only gereral registers can be used as a base reg */#define BASE_REG_CLASS GENERAL_REGS/* only gereral registers can be used to index */#define INDEX_REG_CLASS GENERAL_REGS/* 'a' as a contraint in the md file means the FFP_REG class */#define REG_CLASS_FROM_LETTER(C) (C == 'a' ? FPP_REG : NO_REGS)/* any general reg but the fpp can be a base reg */#define REGNO_OK_FOR_BASE_P(regno) \((regno) < FIRST_PSEUDO_REGISTER - 1 || reg_renumber[regno] >= 0)/* any general reg except the pc and fpp can be an index reg */#define REGNO_OK_FOR_INDEX_P(regno)  \((regno) < FIRST_PSEUDO_REGISTER - 2 || reg_renumber[regno] >= 0)/* if your loading a floating point constant, it can't be done *//* through a register. Force it to be a memory constant.       */#define PREFERRED_RELOAD_CLASS(X,CLASS) \	((GET_CODE (X) == CONST_DOUBLE) ? NO_REGS : CLASS)/* for the fpp reg, all modes fit; for any others, you need two for doubles */#define CLASS_MAX_NREGS(CLASS, MODE)	\ (CLASS != FPP_REG ? ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) : 1)/* we don't define any special constant sizes so all should fail */#define CONST_OK_FOR_LETTER_P(VALUE, C)  0/* we don't define any special double sizes so all should fail */#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) 0/* * Describing Stack Layout *//* tahoe stack grows from high to low memory */#define STACK_GROWS_DOWNWARD/* Define this if longjmp restores from saved registers   rather than from what setjmp saved.  */#define LONGJMP_RESTORE_FROM_STACK/* tahoe call frames grow from high to low memory on the stack */#define FRAME_GROWS_DOWNWARD/* the tahoe fp points to the *top* of the frame instead of the   *//* bottom, so we have to make this offset a constant large enough *//* to jump over the biggest frame possible.			  */#define STARTING_FRAME_OFFSET -52/* tahoe always pushes 4 bytes unless it's a double in which case *//* it pushes a full 8 bytes.					  */#define PUSH_ROUNDING(BYTES) (BYTES <= 4 ? 4 : 8)/* the first parameter in a function is at the fp + 4 */#define FIRST_PARM_OFFSET(FNDECL) 4/* the tahoe return function takes care of everything on the stack */#define RETURN_POPS_ARGS(FUNTYPE) 1/* function values for all types are returned in register 0 */#define FUNCTION_VALUE(VALTYPE, FUNC)  \  gen_rtx (REG, TYPE_MODE (VALTYPE), 0)/* libarary routines also return things in reg 0 */#define LIBCALL_VALUE(MODE)  gen_rtx (REG, MODE, 0)/* Tahoe doesn't return structures in a reentrant way */#define PCC_STATIC_STRUCT_RETURN/* we only return values from a function in reg 0 */#define FUNCTION_VALUE_REGNO_P(N) ((N) == 0)/* we never pass args through a register */#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) 0/* int is fine to hold the argument summary in FUNCTION_ARG */#define CUMULATIVE_ARGS int/* we just set CUM to 0 before the FUNCTION_ARG call. No matter what *//* we make it, FUNCTION_ARG will return 0 anyway		     */#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE)	\ ((CUM) = 0)/* all modes push their size rounded to the nearest word boundary *//* except block which is the size of the block rounded up	  */#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED)	\ ((CUM) += ((MODE) != BLKmode			\	    ? (GET_MODE_SIZE (MODE) + 3) & ~3	\	    : (int_size_in_bytes (TYPE) + 3) & ~3))/* this is always false since we never pass params in regs */#define FUNCTION_ARG_REGNO_P(N) 0/* this code calculates the register entry mask and sets up    *//* the stack pointer for the function. The stack is set down   *//* far enough from the fp to jump over any push regs and local *//* vars. This is a problem since the tahoe has the fp pointing *//* to the top of the frame and the compiler must know the off- *//* set off the fp to the local vars.			       */#define FUNCTION_PROLOGUE(FILE, SIZE)     \{ register int regno;						\  register int mask = 0;					\  extern char call_used_regs[];					\  for (regno = 0; regno < FIRST_PSEUDO_REGISTER-1; regno++)	\    if (regs_ever_live[regno] && !call_used_regs[regno])	\       mask |= 1 << regno;					\  fprintf (FILE, "\t.word 0x%x\n", mask);			\  if (SIZE != 0) fprintf (FILE, "\tsubl3 $%d,fp,sp\n", (SIZE) - STARTING_FRAME_OFFSET); }/* to call the profiler, push the variable value onto the stack *//* and call mcount like a regular function.			*/#define FUNCTION_PROFILER(FILE, LABELNO)  \   fprintf (FILE, "\tpushl $LP%d\n\tcallf $8,mcount\n", (LABELNO));/* all stack handling at the end of a function is handled by the *//* return command.						 */#define EXIT_IGNORE_STACK 1/* this never gets executed since the system knows it always gets  *//* an fp to work with. It just prints a friendly message since the *//* person must be playing with the tm file defs 		   */#define FIX_FRAME_POINTER_ADDRESS(ADDR,DEPTH) \ { abort(); }/* * Library Subroutine Names *//* udiv is a valid C library routine in libc.a, so we call that */#define UDIVSI3_LIBCALL "*udiv"/* urem is a valid C library routine in libc.a, so we call that */#define UMODSI3_LIBCALL "*urem"/* * Addressing Modes *//* constant addresses can be treated exactly the same as normal constants */#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X)/* we can have as many as two regs in any given address */#define MAX_REGS_PER_ADDRESS 2/* The following is all the code for GO_IF_LEGITIMATE_ADDRESS *//* most of this taken directly from the vax tm file since the *//* tahoe and vax addressing modes are nearly identicle.	      *//* Is x an indirectable address? */#define INDIRECTABLE_ADDRESS_P(X)  \  (CONSTANT_ADDRESS_P (X)						\   || (GET_CODE (X) == REG && REG_OK_FOR_BASE_P (X))			\   || (GET_CODE (X) == PLUS						\       && GET_CODE (XEXP (X, 0)) == REG					\       && REG_OK_FOR_BASE_P (XEXP (X, 0))				\

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区三区不卡 | 一区二区高清视频在线观看| 国产精品中文字幕日韩精品| 欧美成人国产一区二区| 久久99久国产精品黄毛片色诱| 亚洲欧美在线视频观看| 94色蜜桃网一区二区三区| 亚洲人成精品久久久久久 | 蜜桃精品视频在线观看| 精品日本一线二线三线不卡| 国产在线视频一区二区| 国产精品久久久久久福利一牛影视| 91香蕉视频污| 亚洲大片精品永久免费| 日韩精品一区二| 国产高清成人在线| 夜夜精品视频一区二区| 欧美日韩国产综合一区二区三区 | 中文字幕av一区二区三区| 99精品国产热久久91蜜凸| 水蜜桃久久夜色精品一区的特点| 日韩女优电影在线观看| av在线不卡观看免费观看| 亚洲精品免费播放| 精品国产乱码久久久久久久| 波多野结衣精品在线| 调教+趴+乳夹+国产+精品| 久久精品亚洲精品国产欧美kt∨| av一区二区三区黑人| 日本欧洲一区二区| 最新成人av在线| 欧美mv日韩mv国产网站| 91久久奴性调教| 国产在线一区观看| 成人av集中营| 日韩精品91亚洲二区在线观看| 久久欧美一区二区| 欧美色综合网站| 国产超碰在线一区| 奇米777欧美一区二区| 中文字幕一区免费在线观看| 日韩精品影音先锋| 欧美色精品天天在线观看视频| 国产在线麻豆精品观看| 日精品一区二区三区| 国产精品高清亚洲| 久久夜色精品国产噜噜av| 欧美日韩在线播放| 91视频观看视频| 国产激情一区二区三区| 麻豆精品国产91久久久久久| 一区二区三区四区av| 中文字幕在线观看不卡视频| 久久精品一区二区| 欧美变态口味重另类| 91精品国产欧美一区二区成人| 色天使久久综合网天天| 成人av资源下载| 高清shemale亚洲人妖| 精品一区二区精品| 久久精品国产精品亚洲红杏| 亚洲午夜久久久久久久久电影院| 一区在线播放视频| 国产精品美日韩| 激情六月婷婷久久| 偷拍日韩校园综合在线| 亚洲激情自拍偷拍| 一区二区三区 在线观看视频| 综合欧美一区二区三区| 综合久久久久久| 亚洲卡通欧美制服中文| 中文字幕一区二区三区乱码在线| 国产精品天干天干在线综合| 久久精品在这里| 久久久不卡影院| 中文字幕乱码日本亚洲一区二区 | 91福利小视频| 色噜噜狠狠色综合中国| 91官网在线免费观看| 色又黄又爽网站www久久| 92精品国产成人观看免费| yourporn久久国产精品| 91在线视频播放地址| 日本高清成人免费播放| 欧美无人高清视频在线观看| 在线观看欧美黄色| 欧美日韩国产高清一区二区 | 欧美色爱综合网| 欧美日韩三级一区| 日韩手机在线导航| 欧美电影免费观看高清完整版在线观看 | 国产亚洲精品7777| 成人免费在线播放视频| 亚洲一区二区在线免费看| 五月天激情综合| 韩日欧美一区二区三区| 成人综合在线网站| 一本色道a无线码一区v| 欧美人与禽zozo性伦| 欧美不卡一区二区| 中文字幕色av一区二区三区| 亚洲一区欧美一区| 精品一区二区影视| 成人黄色综合网站| 欧美羞羞免费网站| 欧美大片一区二区三区| 国产精品久久久久久久久动漫| 亚洲综合丝袜美腿| 激情五月婷婷综合| 91丨porny丨最新| 欧美精品在欧美一区二区少妇| 久久免费午夜影院| 亚洲国产综合91精品麻豆| 国产又黄又大久久| 欧美综合在线视频| 欧美精品一区二区三区在线 | 偷窥少妇高潮呻吟av久久免费| 老司机免费视频一区二区| 成人av综合在线| 日韩一区二区精品在线观看| 日本一区二区视频在线观看| 亚洲v精品v日韩v欧美v专区| 国产suv精品一区二区三区| 欧美在线free| 久久久久久久久伊人| 亚洲v日本v欧美v久久精品| 懂色av中文一区二区三区| 337p亚洲精品色噜噜| 成人免费毛片高清视频| 欧美疯狂做受xxxx富婆| 中文字幕一区二区三区四区| 另类小说综合欧美亚洲| 欧美中文字幕一二三区视频| 国产日韩综合av| 另类中文字幕网| 欧美日韩国产美| 亚洲人成在线播放网站岛国| 久久精品国产77777蜜臀| 欧美三级三级三级爽爽爽| 中文一区二区在线观看| 久久精品av麻豆的观看方式| 欧美日韩免费一区二区三区视频| 欧美极品美女视频| 国产一区二区三区在线看麻豆| 欧美日韩免费观看一区二区三区 | 欧美亚州韩日在线看免费版国语版| 国产亚洲精品aa午夜观看| 久久99精品久久久久久国产越南 | 精品久久久久久久久久久院品网| 亚洲一级二级在线| 97se亚洲国产综合自在线| 国产日韩欧美在线一区| 激情偷乱视频一区二区三区| 欧美一级高清片| 天天综合天天做天天综合| 欧美性色欧美a在线播放| 亚洲欧美另类久久久精品| 成人午夜视频福利| 欧美国产日韩精品免费观看| 国产精品资源在线看| 久久精品夜色噜噜亚洲aⅴ| 国产精品1024| 久久精品亚洲国产奇米99| 国产资源在线一区| 精品国产免费人成电影在线观看四季| 偷拍与自拍一区| 91精品午夜视频| 日韩电影在线免费看| 日韩欧美国产一区二区在线播放| 石原莉奈一区二区三区在线观看| 欧美日韩国产小视频在线观看| 亚洲超丰满肉感bbw| 91.com视频| 久久国产欧美日韩精品| 久久久久久久综合狠狠综合| 国产不卡一区视频| 中文字幕 久热精品 视频在线 | 天堂av在线一区| 欧美一区二区三区视频在线 | 这里只有精品99re| 强制捆绑调教一区二区| 久久综合九色综合欧美亚洲| 国产剧情一区二区三区| 中文字幕在线观看一区| 91精品福利在线| 全部av―极品视觉盛宴亚洲| 精品国产1区2区3区| 国产sm精品调教视频网站| 亚洲日本免费电影| 精品视频一区三区九区| 日韩经典中文字幕一区| 久久精品视频网| 91色在线porny| 欧美日韩久久久久久| 天天操天天干天天综合网| 欧美xxx久久| 色综合中文字幕国产| 亚洲综合激情另类小说区| 日韩欧美一区二区免费| 成人午夜激情影院|