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

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

?? tm-alliant.h

?? 這是完整的gcc源代碼
?? H
?? 第 1 頁 / 共 4 頁
字號:
/* Definitions of target machine for GNU compiler.  Alliant FX version.   Copyright (C) 1989 Free Software Foundation, Inc.   Adapted from tm-m68k.h by Paul Petersen (petersen@uicsrd.csrd.uiuc.edu)   and Joe Weening (weening@gang-of-four.stanford.edu).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.  *//* This file is based on tm-m68k.h, simplified by removing support for   the Sun FPA and other things not applicable to the Alliant.  Some   remnants of these features remain.  *//* Names to predefine in the preprocessor for this target machine.  */#define CPP_PREDEFINES "-Dmc68000 -Dalliant -Dunix"/* Print subsidiary information on the compiler version in use.  */#define TARGET_VERSION fprintf (stderr, " (Alliant)");/* Run-time compilation parameters selecting different hardware   subsets.  The Alliant IP is an mc68020.  (Older mc68010-based IPs   are no longer supported.)  The Alliant CE is 68020-compatible, and   also has floating point, vector and concurrency instructions.   Although the IP doesn't have floating point, it emulates it in the   operating system.  Using this generally is faster than running code   compiled with -msoft-float, because the soft-float code still uses   (simulated) FP registers and ends up emulating several fmove{s,d}   instructions per call.  So I don't recommend using soft-float for   any Alliant code.  -- JSW*/extern int target_flags;/* Macros used in the machine description to test the flags.  *//* Compile for a 68020 (not a 68000 or 68010).  */#define TARGET_68020 (target_flags & 1)/* Compile CE insns for floating point (not library calls).  */#define TARGET_CE (target_flags & 2)/* Compile using 68020 bitfield insns.  */#define TARGET_BITFIELD (target_flags & 4)/* Compile with 16-bit `int'.  */#define TARGET_SHORT (target_flags & 040)/* Default 3 means compile 68020 and CE instructions.  We don't use   bitfield instructions because there appears to be a bug in the   implementation of bfins on the CE.  */#define TARGET_DEFAULT 3/* Define __HAVE_CE__ in preprocessor according to the -m flags.   This will control the use of inline FP insns in certain macros.   Also inform the program which CPU this is for.  */#if TARGET_DEFAULT & 02/* -mce is the default */#define CPP_SPEC \"%{!msoft-float:-D__HAVE_CE__ }\%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}"#else/* -msoft-float is the default */#define CPP_SPEC \"%{mce:-D__HAVE_CE__ }\%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}"#endif/* Every structure or union's size must be a multiple of 2 bytes.  */#define STRUCTURE_SIZE_BOUNDARY 16/* This is BSD, so it wants DBX format.  */#define DBX_DEBUGGING_INFO/* Macro to define tables used to set the flags.   This is a list in braces of pairs in braces,   each pair being { "NAME", VALUE }   where VALUE is the bits to set or minus the bits to clear.   An empty string NAME is used to identify the default VALUE.  */#define TARGET_SWITCHES  \  { { "68020", 5},				\    { "c68020", 5},				\    { "bitfield", 4},				\    { "68000", -7},				\    { "c68000", -7},				\    { "soft-float", -2},			\    { "nobitfield", -4},			\    { "short", 040},				\    { "noshort", -040},				\    { "", TARGET_DEFAULT}}/* target machine storage layout *//* Define this if most significant bit is lowest numbered   in instructions that operate on numbered bit-fields.   This is true for 68020 insns such as bfins and bfexts.   We make it true always by avoiding using the single-bit insns   except in special cases with constant bit numbers.  */#define BITS_BIG_ENDIAN/* Define this if most significant byte of a word is the lowest numbered.  *//* That is true on the 68000.  */#define BYTES_BIG_ENDIAN/* Define this if most significant word of a multiword number is numbered.  *//* For 68000 we can decide arbitrarily   since there are no machine instructions for them.  *//* #define WORDS_BIG_ENDIAN *//* number of bits in an addressible storage unit */#define BITS_PER_UNIT 8/* Width in bits of a "word", which is the contents of a machine register.   Note that this is not necessarily the width of data type `int';   if using 16-bit ints on a 68000, this would still be 32.   But on a machine with 16-bit registers, this would be 16.  */#define BITS_PER_WORD 32/* Width of a word, in units (bytes).  */#define UNITS_PER_WORD 4/* Width in bits of a pointer.   See also the macro `Pmode' defined below.  */#define POINTER_SIZE 32/* Allocation boundary (in *bits*) for storing pointers in memory.  */#define POINTER_BOUNDARY 16/* Allocation boundary (in *bits*) for storing arguments in argument list.  */#define PARM_BOUNDARY (TARGET_SHORT ? 16 : 32)/* Boundary (in *bits*) on which stack pointer should be aligned.  */#define STACK_BOUNDARY 16/* Allocation boundary (in *bits*) for the code of a function.  */#define FUNCTION_BOUNDARY 16/* Alignment of field after `int : 0' in a structure.  */#define EMPTY_FIELD_BOUNDARY 16/* No data type wants to be aligned rounder than this.  */#define BIGGEST_ALIGNMENT 16/* Define this if move instructions will actually fail to work   when given unaligned data.  */#define STRICT_ALIGNMENT/* Define number of bits in most basic integer type.   (If undefined, default is BITS_PER_WORD).  */#define INT_TYPE_SIZE (TARGET_SHORT ? 16 : 32)/* Standard register usage.  *//* Number of actual hardware registers.   The hardware registers are assigned numbers for the compiler   from 0 to just below FIRST_PSEUDO_REGISTER.   All registers that the compiler knows about must be given numbers,   even those that are not normally considered general registers.   For the Alliant, we give the data registers numbers 0-7,   the address registers numbers 010-017,   and the floating point registers numbers 020-027.  */#define FIRST_PSEUDO_REGISTER 24/* 1 for registers that have pervasive standard uses   and are not available for the register allocator.   On the Alliant, these are a0 (argument pointer),   a6 (frame pointer) and a7 (stack pointer).  */#define FIXED_REGISTERS  \ {0, 0, 0, 0, 0, 0, 0, 0, \  1, 0, 0, 0, 0, 0, 1, 1, \  0, 0, 0, 0, 0, 0, 0, 0  }/* 1 for registers not available across function calls.   These must include the FIXED_REGISTERS and also any   registers that can be used without being saved.   The latter must include the registers where values are returned   and the register where structure-value addresses are passed.   Aside from that, you can include as many other registers as you like.   The Alliant calling sequence allows a function to use any register,   so we include them all here.  */#define CALL_USED_REGISTERS \ {1, 1, 1, 1, 1, 1, 1, 1, \  1, 1, 1, 1, 1, 1, 1, 1, \  1, 1, 1, 1, 1, 1, 1, 1  }/* Return number of consecutive hard regs needed starting at reg REGNO   to hold something of mode MODE.   This is ordinarily the length in words of a value of mode MODE   but can be less for certain modes in special long registers.   On the Alliant, ordinary registers hold 32 bits worth;   for the FP registers, a single register is always enough for   anything that can be stored in them at all.  */#define HARD_REGNO_NREGS(REGNO, MODE)   \  ((REGNO) >= 16 ? 1				\   : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.   On the Alliant, the cpu registers can hold any mode but the FP registers   can hold only SFmode or DFmode.  */#define HARD_REGNO_MODE_OK(REGNO, MODE)		\  ((REGNO) < 16 || (MODE) == SFmode || (MODE) == DFmode)/* Value is 1 if it is a good idea to tie two pseudo registers   when one has mode MODE1 and one has mode MODE2.   If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2,   for any hard reg, then this must be 0 for correct output.  */#define MODES_TIEABLE_P(MODE1, MODE2)			\   (((MODE1) == SFmode || (MODE1) == DFmode)		\       == ((MODE2) == SFmode || (MODE2) == DFmode))/* Specify the registers used for certain standard purposes.   The values of these macros are register numbers.  *//* m68000 pc isn't overloaded on a register.  *//* #define PC_REGNUM  *//* Register to use for pushing function arguments.  */#define STACK_POINTER_REGNUM 15/* Base register for access to local variables of the function.  */#define FRAME_POINTER_REGNUM 14/* Value should be nonzero if functions must have frame pointers.   Zero means the frame pointer need not be set up (and parms   may be accessed via the stack pointer) in functions that seem suitable.   This is computed in `reload', in reload1.c.  *//* Set for now on Alliant until we find a way to make this work with   their calling sequence.  */#define FRAME_POINTER_REQUIRED 1/* Base register for access to arguments of the function.  */#define ARG_POINTER_REGNUM  8 /* Register in which static-chain is passed to a function.  */#define STATIC_CHAIN_REGNUM 8/* Register in which address to store a structure value   is passed to a function.  */#define STRUCT_VALUE_REGNUM 9/* Define the classes of registers for register constraints in the   machine description.  Also define ranges of constants.   One of the classes must always be named ALL_REGS and include all hard regs.   If there is more than one class, another class must be named NO_REGS   and contain no registers.   The name GENERAL_REGS must be the name of a class (or an alias for   another name such as ALL_REGS).  This is the class of registers   that is allowed by "g" or "r" in a register constraint.   Also, registers outside this class are allocated only when   instructions express preferences for them.   The classes must be numbered in nondecreasing order; that is,   a larger-numbered class must never be contained completely   in a smaller-numbered class.   For any two classes, it is very desirable that there be another   class that represents their union.  *//* The Alliant has three kinds of registers, so eight classes would be   a complete set.  One of them is not needed.  */enum reg_class { NO_REGS, FP_REGS, DATA_REGS, DATA_OR_FP_REGS,  ADDR_REGS, GENERAL_REGS, ALL_REGS, LIM_REG_CLASSES };#define N_REG_CLASSES (int) LIM_REG_CLASSES/* Give names of register classes as strings for dump file.   */#define REG_CLASS_NAMES \ { "NO_REGS", "FP_REGS", "DATA_REGS", "DATA_OR_FP_REGS",  \   "ADDR_REGS", "GENERAL_REGS", "ALL_REGS" }/* Define which registers fit in which classes.   This is an initializer for a vector of HARD_REG_SET   of length N_REG_CLASSES.  */#define REG_CLASS_CONTENTS \{					\ 0,		/* NO_REGS */		\ 0x00ff0000,	/* FP_REGS */		\ 0x000000ff,	/* DATA_REGS */		\ 0x00ff00ff,	/* DATA_OR_FP_REGS */	\ 0x0000ff00,	/* ADDR_REGS */		\ 0x0000ffff,	/* GENERAL_REGS */	\ 0x00ffffff	/* ALL_REGS */		\}/* The same information, inverted:   Return the class number of the smallest class containing   reg number REGNO.  This could be a conditional expression   or could index an array.  */extern enum reg_class regno_reg_class[];#define REGNO_REG_CLASS(REGNO) (regno_reg_class[(REGNO)>>3])/* The class value for index registers, and the one for base regs.  */#define INDEX_REG_CLASS GENERAL_REGS#define BASE_REG_CLASS ADDR_REGS/* Get reg_class from a letter such as appears in the machine description.  */#define REG_CLASS_FROM_LETTER(C) \  ((C) == 'a' ? ADDR_REGS :			\   ((C) == 'd' ? DATA_REGS :			\    ((C) == 'f' ? FP_REGS :			\     NO_REGS)))/* The letters I, J, K, L and M in a register constraint string   can be used to stand for particular ranges of immediate operands.   This macro defines what the ranges are.   C is the letter, and VALUE is a constant value.   Return 1 if VALUE is in the range specified by C.   For the 68000, `I' is used for the range 1 to 8   allowed as immediate shift counts and in addq.   `J' is used for the range of signed numbers that fit in 16 bits.   `K' is for numbers that moveq can't handle.   `L' is for range -8 to -1, range of values that can be added with subq.  */#define CONST_OK_FOR_LETTER_P(VALUE, C)  \  ((C) == 'I' ? (VALUE) > 0 && (VALUE) <= 8 :    \   (C) == 'J' ? (VALUE) >= -0x8000 && (VALUE) <= 0x7FFF :	\   (C) == 'K' ? (VALUE) < -0x80 || (VALUE) >= 0x80 :	\   (C) == 'L' ? (VALUE) < 0 && (VALUE) >= -8 : 0)#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C)  0/* Given an rtx X being reloaded into a reg required to be   in class CLASS, return the class of reg to actually use.   In general this is just CLASS; but on some machines   in some cases it is preferable to use a more restrictive class.   On the 68000 series, use a data reg if possible when the   value is a constant in the range where moveq could be used   and we ensure that QImodes are reloaded into data regs.  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产欧美在线| 国产精品久久久久久久久搜平片| 亚洲伦理在线精品| 在线视频一区二区三区| 一区二区三区精品在线| 欧美日韩国产片| 日本免费新一区视频| 欧美一区二区播放| 国产揄拍国内精品对白| 欧美高清一级片在线观看| 91热门视频在线观看| 亚洲一级二级三级| 日韩欧美的一区二区| 丁香婷婷综合网| 一二三区精品视频| 日韩免费看的电影| 成人黄色777网| 婷婷中文字幕一区三区| 久久蜜桃av一区精品变态类天堂| 成人av电影免费观看| 性做久久久久久免费观看 | 99精品在线免费| 亚洲一区二区三区四区在线| 日韩三级视频中文字幕| 不卡视频一二三四| 秋霞午夜鲁丝一区二区老狼| 中文成人综合网| 欧美日韩精品一区二区三区| 国产经典欧美精品| 亚洲国产你懂的| 国产欧美日韩综合| 91精品国产一区二区人妖| 高清日韩电视剧大全免费| 亚洲成人tv网| 国产精品麻豆久久久| 欧美一激情一区二区三区| av电影在线观看完整版一区二区| 日本美女一区二区三区| 亚洲色图色小说| 久久综合视频网| 欧美日韩不卡一区| 99精品视频在线观看免费| 久久99在线观看| 亚洲国产一区二区a毛片| 中文字幕av不卡| 精品国产伦理网| 91精品国产综合久久婷婷香蕉 | 欧美群妇大交群中文字幕| 国产成人综合视频| 免费成人av资源网| 一卡二卡三卡日韩欧美| 中文一区一区三区高中清不卡| 555www色欧美视频| 在线观看日产精品| av网站免费线看精品| 国产精品2024| 久久99久久久久久久久久久| 性感美女极品91精品| 亚洲精品免费播放| 国产精品不卡一区二区三区| 国产三级精品视频| 久久午夜电影网| 欧美va日韩va| 日韩精品一区二区三区视频| 欧美日韩国产a| 欧美三级日韩三级| 欧美调教femdomvk| 欧日韩精品视频| 91猫先生在线| 91福利在线观看| 一本到不卡精品视频在线观看 | 国产一区二区三区香蕉| 免费看日韩精品| 美女尤物国产一区| 美国av一区二区| 久久99精品视频| 久久99精品久久久久久动态图| 久久国产精品72免费观看| 麻豆freexxxx性91精品| 日韩av在线免费观看不卡| 日本不卡视频在线观看| 另类成人小视频在线| 狠狠色丁香久久婷婷综合_中 | 国产在线精品国自产拍免费| 麻豆精品视频在线| 国产乱码精品一区二区三| 国产乱子伦视频一区二区三区 | 国产高清精品网站| 粉嫩av一区二区三区粉嫩| 福利一区二区在线| 亚洲成a人v欧美综合天堂| 色狠狠桃花综合| 亚洲v中文字幕| 国产香蕉久久精品综合网| 日本一区二区三区四区| 欧美经典三级视频一区二区三区| 国产性天天综合网| 亚洲美女精品一区| 天堂在线一区二区| 国产一区91精品张津瑜| 成人黄色av电影| 欧美日韩不卡在线| 精品国产网站在线观看| 中文子幕无线码一区tr| 亚洲高清在线视频| 韩国精品主播一区二区在线观看| 国产精品中文欧美| 色婷婷综合五月| 日韩一区二区在线播放| 国产亚洲精品超碰| 一区二区三区视频在线看| 美腿丝袜一区二区三区| 不卡的av电影| 日韩午夜激情视频| 亚洲欧美在线另类| 麻豆成人91精品二区三区| 99视频热这里只有精品免费| 91精品啪在线观看国产60岁| 国产欧美日韩在线看| 亚洲成人免费电影| 成人午夜短视频| 在线成人免费观看| 中文字幕亚洲在| 蜜桃久久久久久| 91首页免费视频| 亚洲精品一区二区三区香蕉| 尤物视频一区二区| 国产一区二区精品久久99| 欧美日韩精品一区二区在线播放| 欧美韩日一区二区三区| 日本不卡在线视频| 日本精品裸体写真集在线观看| 久久嫩草精品久久久精品| 亚洲成av人片在线| 91在线播放网址| 久久婷婷久久一区二区三区| 午夜精品久久久久久| 国产精品一二一区| 欧美巨大另类极品videosbest| 中文字幕一区二区三区不卡在线| 久久不见久久见中文字幕免费| 欧美性xxxxx极品少妇| 国产精品久久久久aaaa樱花| 国产呦萝稀缺另类资源| 7878成人国产在线观看| 亚洲一区在线免费观看| caoporen国产精品视频| 国产午夜精品久久久久久免费视| 日韩一区欧美二区| 欧美三级韩国三级日本三斤| 国产精品久久久久久久久图文区 | 欧美www视频| 五月综合激情网| 欧美色视频在线| 亚洲自拍偷拍图区| 91论坛在线播放| 国产精品每日更新| 成人精品gif动图一区| 久久综合九色综合欧美98| 久久狠狠亚洲综合| 欧美一级高清片| 美国精品在线观看| 欧美精品一区在线观看| 久久99精品国产| 久久久国产精品午夜一区ai换脸| 精东粉嫩av免费一区二区三区| 日韩一区和二区| 激情六月婷婷久久| 久久九九99视频| 国产精品伊人色| 欧美国产成人在线| 成人性生交大片免费看中文 | 亚洲h在线观看| 欧美日韩国产一区二区三区地区| 亚洲成人动漫精品| 日韩视频在线永久播放| 久久99精品久久久久久久久久久久| 精品久久久久久久久久久久包黑料| 美女www一区二区| 久久久久久久精| 成人av综合在线| 伊人色综合久久天天| 欧美人成免费网站| 国产在线精品一区二区| 国产精品第五页| 在线视频一区二区三区| 免费一级片91| 亚洲国产高清在线| 色婷婷精品久久二区二区蜜臂av | 欧洲视频一区二区| 日韩精品高清不卡| 久久久777精品电影网影网| 波多野结衣欧美| 午夜精品久久久| 久久综合狠狠综合久久综合88| 成人av在线播放网站| 午夜精品久久久久久久99水蜜桃 | 久久99最新地址| 亚洲欧洲av另类| 日韩午夜电影在线观看|