Machine-dependent files with shared-library support for the m68k architecture.
This directory should be able to used for all m68k-based machines.
This commit is contained in:
parent
fabdce7143
commit
c8c2e04113
|
@ -0,0 +1,3 @@
|
|||
# $Id: Makefile,v 1.1 1993/11/25 01:25:55 paulus Exp $
|
||||
|
||||
.include <bsd.prog.mk>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
/* Configuration for GNU C-compiler for Motorola 68000 family.
|
||||
Copyright (C) 1987 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 2, 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.
|
||||
|
||||
$Id: config.h,v 1.1 1993/11/25 01:25:59 paulus Exp $
|
||||
*/
|
||||
|
||||
|
||||
/* #defines that need visibility everywhere. */
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
|
||||
/* This describes the machine the compiler is hosted on. */
|
||||
#define HOST_BITS_PER_CHAR 8
|
||||
#define HOST_BITS_PER_SHORT 16
|
||||
#define HOST_BITS_PER_INT 32
|
||||
#define HOST_BITS_PER_LONG 32
|
||||
#define HOST_BITS_PER_LONGLONG 64
|
||||
|
||||
#define HOST_WORDS_BIG_ENDIAN
|
||||
|
||||
/* target machine dependencies.
|
||||
tm.h is a symbolic link to the actual target specific file. */
|
||||
#include "tm.h"
|
||||
|
||||
/* Arguments to use with `exit'. */
|
||||
#define SUCCESS_EXIT_CODE 0
|
||||
#define FATAL_EXIT_CODE 33
|
||||
|
||||
/* If compiled with GNU C, use the built-in alloca */
|
||||
#ifdef __GNUC__
|
||||
/* Use an arg in this macro because that's what some other
|
||||
system does--let's avoid conflict. */
|
||||
#define alloca(x) __builtin_alloca(x)
|
||||
#endif
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* Copyright (c) 1989 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ctype.h 5.3 (Berkeley) 4/3/91
|
||||
*/
|
||||
|
||||
#ifndef _CTYPE_H_
|
||||
#define _CTYPE_H_
|
||||
|
||||
#define _U 0x01
|
||||
#define _L 0x02
|
||||
#define _N 0x04
|
||||
#define _S 0x08
|
||||
#define _P 0x10
|
||||
#define _C 0x20
|
||||
#define _X 0x40
|
||||
#define _B 0x80
|
||||
|
||||
extern char _ctype_[];
|
||||
|
||||
#define isdigit(c) ((_ctype_ + 1)[c] & _N)
|
||||
#define islower(c) ((_ctype_ + 1)[c] & _L)
|
||||
#define isspace(c) ((_ctype_ + 1)[c] & _S)
|
||||
#define ispunct(c) ((_ctype_ + 1)[c] & _P)
|
||||
#define isupper(c) ((_ctype_ + 1)[c] & _U)
|
||||
#define isalpha(c) ((_ctype_ + 1)[c] & (_U|_L))
|
||||
#define isxdigit(c) ((_ctype_ + 1)[c] & (_N|_X))
|
||||
#define isalnum(c) ((_ctype_ + 1)[c] & (_U|_L|_N))
|
||||
#define isprint(c) ((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B))
|
||||
#define isgraph(c) ((_ctype_ + 1)[c] & (_P|_U|_L|_N))
|
||||
#define iscntrl(c) ((_ctype_ + 1)[c] & _C)
|
||||
#define isascii(c) ((unsigned)(c) <= 0177)
|
||||
#define toupper(c) ((c) - 'a' + 'A')
|
||||
#define tolower(c) ((c) - 'A' + 'a')
|
||||
#define toascii(c) ((c) & 0177)
|
||||
|
||||
#endif /* !_CTYPE_H_ */
|
|
@ -0,0 +1,19 @@
|
|||
/* Generated automatically by the program `genattr'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#ifndef PROTO
|
||||
#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
|
||||
#define PROTO(ARGS) ARGS
|
||||
#else
|
||||
#define PROTO(ARGS) ()
|
||||
#endif
|
||||
#endif
|
||||
#define HAVE_ATTR_alternative
|
||||
#define get_attr_alternative(insn) which_alternative
|
||||
|
||||
#define ATTR_FLAG_forward 0x1
|
||||
#define ATTR_FLAG_backward 0x2
|
||||
#define ATTR_FLAG_likely 0x4
|
||||
#define ATTR_FLAG_very_likely 0x8
|
||||
#define ATTR_FLAG_unlikely 0x10
|
||||
#define ATTR_FLAG_very_unlikely 0x20
|
|
@ -0,0 +1,14 @@
|
|||
/* Generated automatically by the program `genattrtab'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#include "config.h"
|
||||
#include "rtl.h"
|
||||
#include "insn-config.h"
|
||||
#include "recog.h"
|
||||
#include "regs.h"
|
||||
#include "real.h"
|
||||
#include "output.h"
|
||||
#include "insn-attr.h"
|
||||
|
||||
#define operands recog_operand
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
/* Generated automatically by the program `gencodes'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#ifndef MAX_INSN_CODE
|
||||
|
||||
enum insn_code {
|
||||
CODE_FOR_tstsi = 2,
|
||||
CODE_FOR_tsthi = 3,
|
||||
CODE_FOR_tstqi = 4,
|
||||
CODE_FOR_tstsf = 5,
|
||||
CODE_FOR_tstsf_fpa = 6,
|
||||
CODE_FOR_tstdf = 8,
|
||||
CODE_FOR_tstdf_fpa = 9,
|
||||
CODE_FOR_cmpsi = 11,
|
||||
CODE_FOR_cmphi = 12,
|
||||
CODE_FOR_cmpqi = 13,
|
||||
CODE_FOR_cmpdf = 14,
|
||||
CODE_FOR_cmpdf_fpa = 15,
|
||||
CODE_FOR_cmpsf = 17,
|
||||
CODE_FOR_cmpsf_fpa = 18,
|
||||
CODE_FOR_movsi = 28,
|
||||
CODE_FOR_movhi = 30,
|
||||
CODE_FOR_movstricthi = 31,
|
||||
CODE_FOR_movqi = 32,
|
||||
CODE_FOR_movstrictqi = 33,
|
||||
CODE_FOR_movsf = 34,
|
||||
CODE_FOR_movdf = 35,
|
||||
CODE_FOR_movxf = 36,
|
||||
CODE_FOR_movdi = 39,
|
||||
CODE_FOR_pushasi = 40,
|
||||
CODE_FOR_truncsiqi2 = 41,
|
||||
CODE_FOR_trunchiqi2 = 42,
|
||||
CODE_FOR_truncsihi2 = 43,
|
||||
CODE_FOR_zero_extendhisi2 = 44,
|
||||
CODE_FOR_zero_extendqihi2 = 45,
|
||||
CODE_FOR_zero_extendqisi2 = 46,
|
||||
CODE_FOR_extendhisi2 = 50,
|
||||
CODE_FOR_extendqihi2 = 51,
|
||||
CODE_FOR_extendqisi2 = 52,
|
||||
CODE_FOR_extendsfdf2 = 53,
|
||||
CODE_FOR_truncdfsf2 = 56,
|
||||
CODE_FOR_floatsisf2 = 60,
|
||||
CODE_FOR_floatsidf2 = 63,
|
||||
CODE_FOR_floathisf2 = 66,
|
||||
CODE_FOR_floathidf2 = 67,
|
||||
CODE_FOR_floatqisf2 = 68,
|
||||
CODE_FOR_floatqidf2 = 69,
|
||||
CODE_FOR_fix_truncdfsi2 = 70,
|
||||
CODE_FOR_fix_truncdfhi2 = 71,
|
||||
CODE_FOR_fix_truncdfqi2 = 72,
|
||||
CODE_FOR_ftruncdf2 = 73,
|
||||
CODE_FOR_ftruncsf2 = 74,
|
||||
CODE_FOR_fixsfqi2 = 75,
|
||||
CODE_FOR_fixsfhi2 = 76,
|
||||
CODE_FOR_fixsfsi2 = 77,
|
||||
CODE_FOR_fixdfqi2 = 78,
|
||||
CODE_FOR_fixdfhi2 = 79,
|
||||
CODE_FOR_fixdfsi2 = 80,
|
||||
CODE_FOR_addsi3 = 83,
|
||||
CODE_FOR_addhi3 = 85,
|
||||
CODE_FOR_addqi3 = 88,
|
||||
CODE_FOR_adddf3 = 91,
|
||||
CODE_FOR_addsf3 = 94,
|
||||
CODE_FOR_subsi3 = 97,
|
||||
CODE_FOR_subhi3 = 99,
|
||||
CODE_FOR_subqi3 = 101,
|
||||
CODE_FOR_subdf3 = 103,
|
||||
CODE_FOR_subsf3 = 106,
|
||||
CODE_FOR_mulhi3 = 109,
|
||||
CODE_FOR_mulhisi3 = 110,
|
||||
CODE_FOR_mulsi3 = 112,
|
||||
CODE_FOR_umulhisi3 = 113,
|
||||
CODE_FOR_umulsidi3 = 115,
|
||||
CODE_FOR_mulsidi3 = 118,
|
||||
CODE_FOR_muldf3 = 121,
|
||||
CODE_FOR_mulsf3 = 124,
|
||||
CODE_FOR_divhi3 = 127,
|
||||
CODE_FOR_divhisi3 = 128,
|
||||
CODE_FOR_udivhi3 = 130,
|
||||
CODE_FOR_udivhisi3 = 131,
|
||||
CODE_FOR_divdf3 = 133,
|
||||
CODE_FOR_divsf3 = 136,
|
||||
CODE_FOR_modhi3 = 139,
|
||||
CODE_FOR_modhisi3 = 140,
|
||||
CODE_FOR_umodhi3 = 142,
|
||||
CODE_FOR_umodhisi3 = 143,
|
||||
CODE_FOR_divmodsi4 = 145,
|
||||
CODE_FOR_udivmodsi4 = 146,
|
||||
CODE_FOR_andsi3 = 147,
|
||||
CODE_FOR_andhi3 = 148,
|
||||
CODE_FOR_andqi3 = 151,
|
||||
CODE_FOR_iorsi3 = 154,
|
||||
CODE_FOR_iorhi3 = 155,
|
||||
CODE_FOR_iorqi3 = 158,
|
||||
CODE_FOR_xorsi3 = 161,
|
||||
CODE_FOR_xorhi3 = 162,
|
||||
CODE_FOR_xorqi3 = 165,
|
||||
CODE_FOR_negsi2 = 168,
|
||||
CODE_FOR_neghi2 = 169,
|
||||
CODE_FOR_negqi2 = 171,
|
||||
CODE_FOR_negsf2 = 173,
|
||||
CODE_FOR_negdf2 = 176,
|
||||
CODE_FOR_sqrtdf2 = 179,
|
||||
CODE_FOR_abssf2 = 180,
|
||||
CODE_FOR_absdf2 = 183,
|
||||
CODE_FOR_one_cmplsi2 = 186,
|
||||
CODE_FOR_one_cmplhi2 = 187,
|
||||
CODE_FOR_one_cmplqi2 = 189,
|
||||
CODE_FOR_ashlsi3 = 193,
|
||||
CODE_FOR_ashlhi3 = 194,
|
||||
CODE_FOR_ashlqi3 = 196,
|
||||
CODE_FOR_ashrsi3 = 200,
|
||||
CODE_FOR_ashrhi3 = 201,
|
||||
CODE_FOR_ashrqi3 = 203,
|
||||
CODE_FOR_lshlsi3 = 207,
|
||||
CODE_FOR_lshlhi3 = 208,
|
||||
CODE_FOR_lshlqi3 = 210,
|
||||
CODE_FOR_lshrsi3 = 214,
|
||||
CODE_FOR_lshrhi3 = 215,
|
||||
CODE_FOR_lshrqi3 = 217,
|
||||
CODE_FOR_rotlsi3 = 219,
|
||||
CODE_FOR_rotlhi3 = 220,
|
||||
CODE_FOR_rotlqi3 = 222,
|
||||
CODE_FOR_rotrsi3 = 224,
|
||||
CODE_FOR_rotrhi3 = 225,
|
||||
CODE_FOR_rotrqi3 = 227,
|
||||
CODE_FOR_extv = 235,
|
||||
CODE_FOR_extzv = 236,
|
||||
CODE_FOR_insv = 240,
|
||||
CODE_FOR_seq = 248,
|
||||
CODE_FOR_sne = 249,
|
||||
CODE_FOR_sgt = 250,
|
||||
CODE_FOR_sgtu = 251,
|
||||
CODE_FOR_slt = 252,
|
||||
CODE_FOR_sltu = 253,
|
||||
CODE_FOR_sge = 254,
|
||||
CODE_FOR_sgeu = 255,
|
||||
CODE_FOR_sle = 256,
|
||||
CODE_FOR_sleu = 257,
|
||||
CODE_FOR_beq = 258,
|
||||
CODE_FOR_bne = 259,
|
||||
CODE_FOR_bgt = 260,
|
||||
CODE_FOR_bgtu = 261,
|
||||
CODE_FOR_blt = 262,
|
||||
CODE_FOR_bltu = 263,
|
||||
CODE_FOR_bge = 264,
|
||||
CODE_FOR_bgeu = 265,
|
||||
CODE_FOR_ble = 266,
|
||||
CODE_FOR_bleu = 267,
|
||||
CODE_FOR_jump = 278,
|
||||
CODE_FOR_tablejump = 279,
|
||||
CODE_FOR_decrement_and_branch_until_zero = 285,
|
||||
CODE_FOR_call = 286,
|
||||
CODE_FOR_call_value = 289,
|
||||
CODE_FOR_untyped_call = 292,
|
||||
CODE_FOR_blockage = 293,
|
||||
CODE_FOR_nop = 294,
|
||||
CODE_FOR_probe = 295,
|
||||
CODE_FOR_return = 296,
|
||||
CODE_FOR_indirect_jump = 297,
|
||||
CODE_FOR_tstxf = 318,
|
||||
CODE_FOR_cmpxf = 319,
|
||||
CODE_FOR_extendsfxf2 = 321,
|
||||
CODE_FOR_extenddfxf2 = 322,
|
||||
CODE_FOR_truncxfdf2 = 323,
|
||||
CODE_FOR_truncxfsf2 = 324,
|
||||
CODE_FOR_floatsixf2 = 325,
|
||||
CODE_FOR_floathixf2 = 326,
|
||||
CODE_FOR_floatqixf2 = 327,
|
||||
CODE_FOR_ftruncxf2 = 328,
|
||||
CODE_FOR_fixxfqi2 = 329,
|
||||
CODE_FOR_fixxfhi2 = 330,
|
||||
CODE_FOR_fixxfsi2 = 331,
|
||||
CODE_FOR_addxf3 = 332,
|
||||
CODE_FOR_subxf3 = 334,
|
||||
CODE_FOR_mulxf3 = 336,
|
||||
CODE_FOR_divxf3 = 338,
|
||||
CODE_FOR_negxf2 = 340,
|
||||
CODE_FOR_absxf2 = 341,
|
||||
CODE_FOR_sqrtxf2 = 342,
|
||||
CODE_FOR_nothing };
|
||||
|
||||
#define MAX_INSN_CODE ((int) CODE_FOR_nothing)
|
||||
#endif /* MAX_INSN_CODE */
|
|
@ -0,0 +1,12 @@
|
|||
/* Generated automatically by the program `genconfig'
|
||||
from the machine description file `md'. */
|
||||
|
||||
|
||||
#define MAX_RECOG_OPERANDS 10
|
||||
|
||||
#define MAX_DUP_OPERANDS 3
|
||||
#ifndef MAX_INSNS_PER_SPLIT
|
||||
#define MAX_INSNS_PER_SPLIT 1
|
||||
#endif
|
||||
#define REGISTER_CONSTRAINTS
|
||||
#define HAVE_cc0
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,558 @@
|
|||
/* Generated automatically by the program `genextract'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#include "config.h"
|
||||
#include "rtl.h"
|
||||
|
||||
static rtx junk;
|
||||
extern rtx recog_operand[];
|
||||
extern rtx *recog_operand_loc[];
|
||||
extern rtx *recog_dup_loc[];
|
||||
extern char recog_dup_num[];
|
||||
extern
|
||||
#ifdef __GNUC__
|
||||
__volatile__
|
||||
#endif
|
||||
void fatal_insn_not_found ();
|
||||
|
||||
void
|
||||
insn_extract (insn)
|
||||
rtx insn;
|
||||
{
|
||||
register rtx *ro = recog_operand;
|
||||
register rtx **ro_loc = recog_operand_loc;
|
||||
rtx pat = PATTERN (insn);
|
||||
switch (INSN_CODE (insn))
|
||||
{
|
||||
case -1:
|
||||
fatal_insn_not_found (insn);
|
||||
|
||||
case 305:
|
||||
case 304:
|
||||
case 303:
|
||||
case 302:
|
||||
case 301:
|
||||
case 300:
|
||||
case 299:
|
||||
#if __GNUC__ > 1 && !defined (bcopy)
|
||||
#define bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
|
||||
#endif
|
||||
bcopy (&XVECEXP (pat, 0, 0), ro,
|
||||
sizeof (rtx) * XVECLEN (pat, 0));
|
||||
break;
|
||||
|
||||
case 317:
|
||||
case 315:
|
||||
case 309:
|
||||
case 308:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XEXP (XEXP (pat, 1), 1), 1));
|
||||
break;
|
||||
|
||||
case 316:
|
||||
case 314:
|
||||
case 313:
|
||||
case 312:
|
||||
case 311:
|
||||
case 310:
|
||||
case 307:
|
||||
case 306:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
|
||||
break;
|
||||
|
||||
case 296:
|
||||
case 295:
|
||||
case 294:
|
||||
case 293:
|
||||
break;
|
||||
|
||||
case 285:
|
||||
case 284:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
|
||||
recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
|
||||
recog_dup_num[0] = 0;
|
||||
recog_dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
||||
recog_dup_num[1] = 0;
|
||||
break;
|
||||
|
||||
case 283:
|
||||
case 282:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
|
||||
recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
|
||||
recog_dup_num[0] = 0;
|
||||
recog_dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
||||
recog_dup_num[1] = 0;
|
||||
break;
|
||||
|
||||
case 281:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0));
|
||||
break;
|
||||
|
||||
case 280:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 1));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0));
|
||||
break;
|
||||
|
||||
case 278:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
||||
break;
|
||||
|
||||
case 277:
|
||||
case 276:
|
||||
case 275:
|
||||
case 274:
|
||||
case 273:
|
||||
case 272:
|
||||
case 271:
|
||||
case 270:
|
||||
case 269:
|
||||
case 268:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
|
||||
break;
|
||||
|
||||
case 267:
|
||||
case 266:
|
||||
case 265:
|
||||
case 264:
|
||||
case 263:
|
||||
case 262:
|
||||
case 261:
|
||||
case 260:
|
||||
case 259:
|
||||
case 258:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
|
||||
break;
|
||||
|
||||
case 247:
|
||||
case 246:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 2));
|
||||
break;
|
||||
|
||||
case 244:
|
||||
case 243:
|
||||
case 239:
|
||||
case 238:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 0), 1));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 0), 2));
|
||||
break;
|
||||
|
||||
case 237:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 0), 1));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 0), 2));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 1));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 0);
|
||||
recog_dup_num[0] = 0;
|
||||
recog_dup_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1);
|
||||
recog_dup_num[1] = 1;
|
||||
recog_dup_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 2);
|
||||
recog_dup_num[2] = 2;
|
||||
break;
|
||||
|
||||
case 242:
|
||||
case 241:
|
||||
case 236:
|
||||
case 235:
|
||||
case 234:
|
||||
case 233:
|
||||
case 232:
|
||||
case 231:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XEXP (pat, 1), 2));
|
||||
break;
|
||||
|
||||
case 245:
|
||||
case 240:
|
||||
case 230:
|
||||
case 229:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 0), 1));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 0), 2));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
|
||||
break;
|
||||
|
||||
case 190:
|
||||
case 188:
|
||||
case 172:
|
||||
case 170:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (pat, 1), 0);
|
||||
recog_dup_num[0] = 0;
|
||||
break;
|
||||
|
||||
case 146:
|
||||
case 145:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
||||
recog_dup_num[0] = 1;
|
||||
recog_dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1);
|
||||
recog_dup_num[1] = 2;
|
||||
break;
|
||||
|
||||
case 144:
|
||||
case 141:
|
||||
case 132:
|
||||
case 129:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
||||
break;
|
||||
|
||||
case 143:
|
||||
case 140:
|
||||
case 131:
|
||||
case 128:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 1), 0));
|
||||
break;
|
||||
|
||||
case 120:
|
||||
case 117:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0), 0), 0);
|
||||
recog_dup_num[0] = 1;
|
||||
recog_dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0), 1);
|
||||
recog_dup_num[1] = 2;
|
||||
break;
|
||||
|
||||
case 119:
|
||||
case 116:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0), 0), 0);
|
||||
recog_dup_num[0] = 1;
|
||||
recog_dup_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0), 1), 0);
|
||||
recog_dup_num[1] = 2;
|
||||
break;
|
||||
|
||||
case 114:
|
||||
case 111:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
|
||||
break;
|
||||
|
||||
case 113:
|
||||
case 110:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
|
||||
break;
|
||||
|
||||
case 167:
|
||||
case 164:
|
||||
case 160:
|
||||
case 157:
|
||||
case 153:
|
||||
case 150:
|
||||
case 90:
|
||||
case 87:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (pat, 1), 1);
|
||||
recog_dup_num[0] = 0;
|
||||
break;
|
||||
|
||||
case 228:
|
||||
case 226:
|
||||
case 223:
|
||||
case 221:
|
||||
case 218:
|
||||
case 216:
|
||||
case 211:
|
||||
case 209:
|
||||
case 204:
|
||||
case 202:
|
||||
case 197:
|
||||
case 195:
|
||||
case 166:
|
||||
case 163:
|
||||
case 159:
|
||||
case 156:
|
||||
case 152:
|
||||
case 149:
|
||||
case 102:
|
||||
case 100:
|
||||
case 89:
|
||||
case 86:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
|
||||
recog_dup_loc[0] = &XEXP (XEXP (pat, 1), 0);
|
||||
recog_dup_num[0] = 0;
|
||||
break;
|
||||
|
||||
case 98:
|
||||
case 84:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
|
||||
break;
|
||||
|
||||
case 339:
|
||||
case 337:
|
||||
case 335:
|
||||
case 333:
|
||||
case 291:
|
||||
case 290:
|
||||
case 227:
|
||||
case 225:
|
||||
case 224:
|
||||
case 222:
|
||||
case 220:
|
||||
case 219:
|
||||
case 217:
|
||||
case 215:
|
||||
case 214:
|
||||
case 213:
|
||||
case 212:
|
||||
case 210:
|
||||
case 208:
|
||||
case 207:
|
||||
case 206:
|
||||
case 205:
|
||||
case 203:
|
||||
case 201:
|
||||
case 200:
|
||||
case 199:
|
||||
case 198:
|
||||
case 196:
|
||||
case 194:
|
||||
case 193:
|
||||
case 192:
|
||||
case 191:
|
||||
case 165:
|
||||
case 162:
|
||||
case 161:
|
||||
case 158:
|
||||
case 155:
|
||||
case 154:
|
||||
case 151:
|
||||
case 148:
|
||||
case 147:
|
||||
case 142:
|
||||
case 139:
|
||||
case 138:
|
||||
case 137:
|
||||
case 135:
|
||||
case 134:
|
||||
case 130:
|
||||
case 127:
|
||||
case 126:
|
||||
case 125:
|
||||
case 123:
|
||||
case 122:
|
||||
case 112:
|
||||
case 109:
|
||||
case 108:
|
||||
case 107:
|
||||
case 105:
|
||||
case 104:
|
||||
case 101:
|
||||
case 99:
|
||||
case 97:
|
||||
case 96:
|
||||
case 95:
|
||||
case 93:
|
||||
case 92:
|
||||
case 88:
|
||||
case 85:
|
||||
case 83:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
|
||||
break;
|
||||
|
||||
case 82:
|
||||
case 81:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
||||
break;
|
||||
|
||||
case 72:
|
||||
case 71:
|
||||
case 70:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
||||
ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
|
||||
break;
|
||||
|
||||
case 342:
|
||||
case 341:
|
||||
case 340:
|
||||
case 331:
|
||||
case 330:
|
||||
case 329:
|
||||
case 328:
|
||||
case 327:
|
||||
case 326:
|
||||
case 325:
|
||||
case 324:
|
||||
case 323:
|
||||
case 322:
|
||||
case 321:
|
||||
case 189:
|
||||
case 187:
|
||||
case 186:
|
||||
case 185:
|
||||
case 184:
|
||||
case 182:
|
||||
case 181:
|
||||
case 179:
|
||||
case 178:
|
||||
case 177:
|
||||
case 175:
|
||||
case 174:
|
||||
case 171:
|
||||
case 169:
|
||||
case 168:
|
||||
case 80:
|
||||
case 79:
|
||||
case 78:
|
||||
case 77:
|
||||
case 76:
|
||||
case 75:
|
||||
case 74:
|
||||
case 73:
|
||||
case 69:
|
||||
case 68:
|
||||
case 67:
|
||||
case 66:
|
||||
case 65:
|
||||
case 64:
|
||||
case 62:
|
||||
case 61:
|
||||
case 59:
|
||||
case 58:
|
||||
case 57:
|
||||
case 55:
|
||||
case 54:
|
||||
case 52:
|
||||
case 51:
|
||||
case 50:
|
||||
case 49:
|
||||
case 48:
|
||||
case 47:
|
||||
case 43:
|
||||
case 42:
|
||||
case 41:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
||||
break;
|
||||
|
||||
case 33:
|
||||
case 31:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
|
||||
break;
|
||||
|
||||
case 257:
|
||||
case 256:
|
||||
case 255:
|
||||
case 254:
|
||||
case 253:
|
||||
case 252:
|
||||
case 251:
|
||||
case 250:
|
||||
case 249:
|
||||
case 248:
|
||||
case 27:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
break;
|
||||
|
||||
case 25:
|
||||
case 24:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 2));
|
||||
break;
|
||||
|
||||
case 23:
|
||||
case 22:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 2), 1), 0));
|
||||
break;
|
||||
|
||||
case 21:
|
||||
case 20:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 2), 1));
|
||||
break;
|
||||
|
||||
case 18:
|
||||
case 15:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
|
||||
ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
||||
break;
|
||||
|
||||
case 320:
|
||||
case 19:
|
||||
case 16:
|
||||
case 13:
|
||||
case 12:
|
||||
case 11:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
|
||||
break;
|
||||
|
||||
case 9:
|
||||
case 6:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 1));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
||||
break;
|
||||
|
||||
case 318:
|
||||
case 297:
|
||||
case 10:
|
||||
case 7:
|
||||
case 4:
|
||||
case 3:
|
||||
case 2:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 1));
|
||||
break;
|
||||
|
||||
case 298:
|
||||
case 288:
|
||||
case 287:
|
||||
case 40:
|
||||
case 39:
|
||||
case 38:
|
||||
case 37:
|
||||
case 35:
|
||||
case 34:
|
||||
case 32:
|
||||
case 30:
|
||||
case 29:
|
||||
case 26:
|
||||
case 1:
|
||||
case 0:
|
||||
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
||||
ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
|
||||
break;
|
||||
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,537 @@
|
|||
/* Generated automatically by the program `genflags'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#define HAVE_tstsi 1
|
||||
#define HAVE_tsthi 1
|
||||
#define HAVE_tstqi 1
|
||||
#define HAVE_tstsf (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_tstsf_fpa (TARGET_FPA)
|
||||
#define HAVE_tstdf (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_tstdf_fpa (TARGET_FPA)
|
||||
#define HAVE_cmpsi 1
|
||||
#define HAVE_cmphi 1
|
||||
#define HAVE_cmpqi 1
|
||||
#define HAVE_cmpdf (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_cmpdf_fpa (TARGET_FPA)
|
||||
#define HAVE_cmpsf (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_cmpsf_fpa (TARGET_FPA)
|
||||
#define HAVE_movsi 1
|
||||
#define HAVE_movhi 1
|
||||
#define HAVE_movstricthi 1
|
||||
#define HAVE_movqi 1
|
||||
#define HAVE_movstrictqi 1
|
||||
#define HAVE_movsf 1
|
||||
#define HAVE_movdf 1
|
||||
#define HAVE_movxf 1
|
||||
#define HAVE_movdi 1
|
||||
#define HAVE_pushasi 1
|
||||
#define HAVE_truncsiqi2 1
|
||||
#define HAVE_trunchiqi2 1
|
||||
#define HAVE_truncsihi2 1
|
||||
#define HAVE_zero_extendhisi2 1
|
||||
#define HAVE_zero_extendqihi2 1
|
||||
#define HAVE_zero_extendqisi2 1
|
||||
#define HAVE_extendhisi2 1
|
||||
#define HAVE_extendqihi2 1
|
||||
#define HAVE_extendqisi2 (TARGET_68020)
|
||||
#define HAVE_extendsfdf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_truncdfsf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_floatsisf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_floatsidf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_floathisf2 (TARGET_68881)
|
||||
#define HAVE_floathidf2 (TARGET_68881)
|
||||
#define HAVE_floatqisf2 (TARGET_68881)
|
||||
#define HAVE_floatqidf2 (TARGET_68881)
|
||||
#define HAVE_fix_truncdfsi2 (TARGET_68040)
|
||||
#define HAVE_fix_truncdfhi2 (TARGET_68040)
|
||||
#define HAVE_fix_truncdfqi2 (TARGET_68040)
|
||||
#define HAVE_ftruncdf2 (TARGET_68881 && !TARGET_68040)
|
||||
#define HAVE_ftruncsf2 (TARGET_68881 && !TARGET_68040)
|
||||
#define HAVE_fixsfqi2 (TARGET_68881)
|
||||
#define HAVE_fixsfhi2 (TARGET_68881)
|
||||
#define HAVE_fixsfsi2 (TARGET_68881)
|
||||
#define HAVE_fixdfqi2 (TARGET_68881)
|
||||
#define HAVE_fixdfhi2 (TARGET_68881)
|
||||
#define HAVE_fixdfsi2 (TARGET_68881)
|
||||
#define HAVE_addsi3 1
|
||||
#define HAVE_addhi3 1
|
||||
#define HAVE_addqi3 1
|
||||
#define HAVE_adddf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_addsf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_subsi3 1
|
||||
#define HAVE_subhi3 1
|
||||
#define HAVE_subqi3 1
|
||||
#define HAVE_subdf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_subsf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_mulhi3 1
|
||||
#define HAVE_mulhisi3 1
|
||||
#define HAVE_mulsi3 (TARGET_68020)
|
||||
#define HAVE_umulhisi3 1
|
||||
#define HAVE_umulsidi3 (TARGET_68020)
|
||||
#define HAVE_mulsidi3 (TARGET_68020)
|
||||
#define HAVE_muldf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_mulsf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_divhi3 1
|
||||
#define HAVE_divhisi3 1
|
||||
#define HAVE_udivhi3 1
|
||||
#define HAVE_udivhisi3 1
|
||||
#define HAVE_divdf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_divsf3 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_modhi3 1
|
||||
#define HAVE_modhisi3 1
|
||||
#define HAVE_umodhi3 1
|
||||
#define HAVE_umodhisi3 1
|
||||
#define HAVE_divmodsi4 (TARGET_68020)
|
||||
#define HAVE_udivmodsi4 (TARGET_68020)
|
||||
#define HAVE_andsi3 1
|
||||
#define HAVE_andhi3 1
|
||||
#define HAVE_andqi3 1
|
||||
#define HAVE_iorsi3 1
|
||||
#define HAVE_iorhi3 1
|
||||
#define HAVE_iorqi3 1
|
||||
#define HAVE_xorsi3 1
|
||||
#define HAVE_xorhi3 1
|
||||
#define HAVE_xorqi3 1
|
||||
#define HAVE_negsi2 1
|
||||
#define HAVE_neghi2 1
|
||||
#define HAVE_negqi2 1
|
||||
#define HAVE_negsf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_negdf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_sqrtdf2 (TARGET_68881)
|
||||
#define HAVE_abssf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_absdf2 (TARGET_68881 || TARGET_FPA)
|
||||
#define HAVE_one_cmplsi2 1
|
||||
#define HAVE_one_cmplhi2 1
|
||||
#define HAVE_one_cmplqi2 1
|
||||
#define HAVE_ashlsi3 1
|
||||
#define HAVE_ashlhi3 1
|
||||
#define HAVE_ashlqi3 1
|
||||
#define HAVE_ashrsi3 1
|
||||
#define HAVE_ashrhi3 1
|
||||
#define HAVE_ashrqi3 1
|
||||
#define HAVE_lshlsi3 1
|
||||
#define HAVE_lshlhi3 1
|
||||
#define HAVE_lshlqi3 1
|
||||
#define HAVE_lshrsi3 1
|
||||
#define HAVE_lshrhi3 1
|
||||
#define HAVE_lshrqi3 1
|
||||
#define HAVE_rotlsi3 1
|
||||
#define HAVE_rotlhi3 1
|
||||
#define HAVE_rotlqi3 1
|
||||
#define HAVE_rotrsi3 1
|
||||
#define HAVE_rotrhi3 1
|
||||
#define HAVE_rotrqi3 1
|
||||
#define HAVE_extv (TARGET_68020 && TARGET_BITFIELD)
|
||||
#define HAVE_extzv (TARGET_68020 && TARGET_BITFIELD)
|
||||
#define HAVE_insv (TARGET_68020 && TARGET_BITFIELD)
|
||||
#define HAVE_seq 1
|
||||
#define HAVE_sne 1
|
||||
#define HAVE_sgt 1
|
||||
#define HAVE_sgtu 1
|
||||
#define HAVE_slt 1
|
||||
#define HAVE_sltu 1
|
||||
#define HAVE_sge 1
|
||||
#define HAVE_sgeu 1
|
||||
#define HAVE_sle 1
|
||||
#define HAVE_sleu 1
|
||||
#define HAVE_beq 1
|
||||
#define HAVE_bne 1
|
||||
#define HAVE_bgt 1
|
||||
#define HAVE_bgtu 1
|
||||
#define HAVE_blt 1
|
||||
#define HAVE_bltu 1
|
||||
#define HAVE_bge 1
|
||||
#define HAVE_bgeu 1
|
||||
#define HAVE_ble 1
|
||||
#define HAVE_bleu 1
|
||||
#define HAVE_jump 1
|
||||
#define HAVE_tablejump 1
|
||||
#define HAVE_decrement_and_branch_until_zero (find_reg_note (insn, REG_NONNEG, 0))
|
||||
#define HAVE_call 1
|
||||
#define HAVE_call_value 1
|
||||
#define HAVE_untyped_call (NEEDS_UNTYPED_CALL)
|
||||
#define HAVE_blockage 1
|
||||
#define HAVE_nop 1
|
||||
#define HAVE_probe (NEED_PROBE)
|
||||
#define HAVE_return (USE_RETURN_INSN)
|
||||
#define HAVE_indirect_jump 1
|
||||
#define HAVE_tstxf (TARGET_68881)
|
||||
#define HAVE_cmpxf (TARGET_68881)
|
||||
#define HAVE_extendsfxf2 (TARGET_68881)
|
||||
#define HAVE_extenddfxf2 (TARGET_68881)
|
||||
#define HAVE_truncxfdf2 (TARGET_68881)
|
||||
#define HAVE_truncxfsf2 (TARGET_68881)
|
||||
#define HAVE_floatsixf2 (TARGET_68881)
|
||||
#define HAVE_floathixf2 (TARGET_68881)
|
||||
#define HAVE_floatqixf2 (TARGET_68881)
|
||||
#define HAVE_ftruncxf2 (TARGET_68881)
|
||||
#define HAVE_fixxfqi2 (TARGET_68881)
|
||||
#define HAVE_fixxfhi2 (TARGET_68881)
|
||||
#define HAVE_fixxfsi2 (TARGET_68881)
|
||||
#define HAVE_addxf3 (TARGET_68881)
|
||||
#define HAVE_subxf3 (TARGET_68881)
|
||||
#define HAVE_mulxf3 (TARGET_68881)
|
||||
#define HAVE_divxf3 (TARGET_68881)
|
||||
#define HAVE_negxf2 (TARGET_68881)
|
||||
#define HAVE_absxf2 (TARGET_68881)
|
||||
#define HAVE_sqrtxf2 (TARGET_68881)
|
||||
|
||||
#ifndef NO_MD_PROTOTYPES
|
||||
extern rtx gen_tstsi PROTO((rtx));
|
||||
extern rtx gen_tsthi PROTO((rtx));
|
||||
extern rtx gen_tstqi PROTO((rtx));
|
||||
extern rtx gen_tstsf PROTO((rtx));
|
||||
extern rtx gen_tstsf_fpa PROTO((rtx));
|
||||
extern rtx gen_tstdf PROTO((rtx));
|
||||
extern rtx gen_tstdf_fpa PROTO((rtx));
|
||||
extern rtx gen_cmpsi PROTO((rtx, rtx));
|
||||
extern rtx gen_cmphi PROTO((rtx, rtx));
|
||||
extern rtx gen_cmpqi PROTO((rtx, rtx));
|
||||
extern rtx gen_cmpdf PROTO((rtx, rtx));
|
||||
extern rtx gen_cmpdf_fpa PROTO((rtx, rtx));
|
||||
extern rtx gen_cmpsf PROTO((rtx, rtx));
|
||||
extern rtx gen_cmpsf_fpa PROTO((rtx, rtx));
|
||||
extern rtx gen_movsi PROTO((rtx, rtx));
|
||||
extern rtx gen_movhi PROTO((rtx, rtx));
|
||||
extern rtx gen_movstricthi PROTO((rtx, rtx));
|
||||
extern rtx gen_movqi PROTO((rtx, rtx));
|
||||
extern rtx gen_movstrictqi PROTO((rtx, rtx));
|
||||
extern rtx gen_movsf PROTO((rtx, rtx));
|
||||
extern rtx gen_movdf PROTO((rtx, rtx));
|
||||
extern rtx gen_movxf PROTO((rtx, rtx));
|
||||
extern rtx gen_movdi PROTO((rtx, rtx));
|
||||
extern rtx gen_pushasi PROTO((rtx, rtx));
|
||||
extern rtx gen_truncsiqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_trunchiqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_truncsihi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_zero_extendhisi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_zero_extendqihi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_zero_extendqisi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_extendhisi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_extendqihi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_extendqisi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_extendsfdf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_truncdfsf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floatsisf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floatsidf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floathisf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floathidf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floatqisf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floatqidf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fix_truncdfsi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fix_truncdfhi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fix_truncdfqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_ftruncdf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_ftruncsf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixsfqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixsfhi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixsfsi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixdfqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixdfhi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixdfsi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_addsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_addhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_addqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_adddf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_addsf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_subsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_subhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_subqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_subdf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_subsf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_mulhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_mulhisi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_mulsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_umulhisi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_umulsidi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_mulsidi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_muldf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_mulsf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_divhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_divhisi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_udivhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_udivhisi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_divdf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_divsf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_modhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_modhisi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_umodhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_umodhisi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_divmodsi4 PROTO((rtx, rtx, rtx, rtx));
|
||||
extern rtx gen_udivmodsi4 PROTO((rtx, rtx, rtx, rtx));
|
||||
extern rtx gen_andsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_andhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_andqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_iorsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_iorhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_iorqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_xorsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_xorhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_xorqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_negsi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_neghi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_negqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_negsf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_negdf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_sqrtdf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_abssf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_absdf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_one_cmplsi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_one_cmplhi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_one_cmplqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_ashlsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_ashlhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_ashlqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_ashrsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_ashrhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_ashrqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_lshlsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_lshlhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_lshlqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_lshrsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_lshrhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_lshrqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_rotlsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_rotlhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_rotlqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_rotrsi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_rotrhi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_rotrqi3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_extv PROTO((rtx, rtx, rtx, rtx));
|
||||
extern rtx gen_extzv PROTO((rtx, rtx, rtx, rtx));
|
||||
extern rtx gen_insv PROTO((rtx, rtx, rtx, rtx));
|
||||
extern rtx gen_seq PROTO((rtx));
|
||||
extern rtx gen_sne PROTO((rtx));
|
||||
extern rtx gen_sgt PROTO((rtx));
|
||||
extern rtx gen_sgtu PROTO((rtx));
|
||||
extern rtx gen_slt PROTO((rtx));
|
||||
extern rtx gen_sltu PROTO((rtx));
|
||||
extern rtx gen_sge PROTO((rtx));
|
||||
extern rtx gen_sgeu PROTO((rtx));
|
||||
extern rtx gen_sle PROTO((rtx));
|
||||
extern rtx gen_sleu PROTO((rtx));
|
||||
extern rtx gen_beq PROTO((rtx));
|
||||
extern rtx gen_bne PROTO((rtx));
|
||||
extern rtx gen_bgt PROTO((rtx));
|
||||
extern rtx gen_bgtu PROTO((rtx));
|
||||
extern rtx gen_blt PROTO((rtx));
|
||||
extern rtx gen_bltu PROTO((rtx));
|
||||
extern rtx gen_bge PROTO((rtx));
|
||||
extern rtx gen_bgeu PROTO((rtx));
|
||||
extern rtx gen_ble PROTO((rtx));
|
||||
extern rtx gen_bleu PROTO((rtx));
|
||||
extern rtx gen_jump PROTO((rtx));
|
||||
extern rtx gen_tablejump PROTO((rtx, rtx));
|
||||
extern rtx gen_decrement_and_branch_until_zero PROTO((rtx, rtx));
|
||||
extern rtx gen_untyped_call PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_blockage PROTO((void));
|
||||
extern rtx gen_nop PROTO((void));
|
||||
extern rtx gen_probe PROTO((void));
|
||||
extern rtx gen_return PROTO((void));
|
||||
extern rtx gen_indirect_jump PROTO((rtx));
|
||||
extern rtx gen_tstxf PROTO((rtx));
|
||||
extern rtx gen_cmpxf PROTO((rtx, rtx));
|
||||
extern rtx gen_extendsfxf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_extenddfxf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_truncxfdf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_truncxfsf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floatsixf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floathixf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_floatqixf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_ftruncxf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixxfqi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixxfhi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_fixxfsi2 PROTO((rtx, rtx));
|
||||
extern rtx gen_addxf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_subxf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_mulxf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_divxf3 PROTO((rtx, rtx, rtx));
|
||||
extern rtx gen_negxf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_absxf2 PROTO((rtx, rtx));
|
||||
extern rtx gen_sqrtxf2 PROTO((rtx, rtx));
|
||||
|
||||
#ifdef MD_CALL_PROTOTYPES
|
||||
extern rtx gen_call PROTO((rtx, rtx));
|
||||
extern rtx gen_call_value PROTO((rtx, rtx, rtx));
|
||||
|
||||
#else /* !MD_CALL_PROTOTYPES */
|
||||
extern rtx gen_call ();
|
||||
extern rtx gen_call_value ();
|
||||
#endif /* !MD_CALL_PROTOTYPES */
|
||||
|
||||
#else /* NO_MD_PROTOTYPES */
|
||||
extern rtx gen_tstsi ();
|
||||
extern rtx gen_tsthi ();
|
||||
extern rtx gen_tstqi ();
|
||||
extern rtx gen_tstsf ();
|
||||
extern rtx gen_tstsf_fpa ();
|
||||
extern rtx gen_tstdf ();
|
||||
extern rtx gen_tstdf_fpa ();
|
||||
extern rtx gen_cmpsi ();
|
||||
extern rtx gen_cmphi ();
|
||||
extern rtx gen_cmpqi ();
|
||||
extern rtx gen_cmpdf ();
|
||||
extern rtx gen_cmpdf_fpa ();
|
||||
extern rtx gen_cmpsf ();
|
||||
extern rtx gen_cmpsf_fpa ();
|
||||
extern rtx gen_movsi ();
|
||||
extern rtx gen_movhi ();
|
||||
extern rtx gen_movstricthi ();
|
||||
extern rtx gen_movqi ();
|
||||
extern rtx gen_movstrictqi ();
|
||||
extern rtx gen_movsf ();
|
||||
extern rtx gen_movdf ();
|
||||
extern rtx gen_movxf ();
|
||||
extern rtx gen_movdi ();
|
||||
extern rtx gen_pushasi ();
|
||||
extern rtx gen_truncsiqi2 ();
|
||||
extern rtx gen_trunchiqi2 ();
|
||||
extern rtx gen_truncsihi2 ();
|
||||
extern rtx gen_zero_extendhisi2 ();
|
||||
extern rtx gen_zero_extendqihi2 ();
|
||||
extern rtx gen_zero_extendqisi2 ();
|
||||
extern rtx gen_extendhisi2 ();
|
||||
extern rtx gen_extendqihi2 ();
|
||||
extern rtx gen_extendqisi2 ();
|
||||
extern rtx gen_extendsfdf2 ();
|
||||
extern rtx gen_truncdfsf2 ();
|
||||
extern rtx gen_floatsisf2 ();
|
||||
extern rtx gen_floatsidf2 ();
|
||||
extern rtx gen_floathisf2 ();
|
||||
extern rtx gen_floathidf2 ();
|
||||
extern rtx gen_floatqisf2 ();
|
||||
extern rtx gen_floatqidf2 ();
|
||||
extern rtx gen_fix_truncdfsi2 ();
|
||||
extern rtx gen_fix_truncdfhi2 ();
|
||||
extern rtx gen_fix_truncdfqi2 ();
|
||||
extern rtx gen_ftruncdf2 ();
|
||||
extern rtx gen_ftruncsf2 ();
|
||||
extern rtx gen_fixsfqi2 ();
|
||||
extern rtx gen_fixsfhi2 ();
|
||||
extern rtx gen_fixsfsi2 ();
|
||||
extern rtx gen_fixdfqi2 ();
|
||||
extern rtx gen_fixdfhi2 ();
|
||||
extern rtx gen_fixdfsi2 ();
|
||||
extern rtx gen_addsi3 ();
|
||||
extern rtx gen_addhi3 ();
|
||||
extern rtx gen_addqi3 ();
|
||||
extern rtx gen_adddf3 ();
|
||||
extern rtx gen_addsf3 ();
|
||||
extern rtx gen_subsi3 ();
|
||||
extern rtx gen_subhi3 ();
|
||||
extern rtx gen_subqi3 ();
|
||||
extern rtx gen_subdf3 ();
|
||||
extern rtx gen_subsf3 ();
|
||||
extern rtx gen_mulhi3 ();
|
||||
extern rtx gen_mulhisi3 ();
|
||||
extern rtx gen_mulsi3 ();
|
||||
extern rtx gen_umulhisi3 ();
|
||||
extern rtx gen_umulsidi3 ();
|
||||
extern rtx gen_mulsidi3 ();
|
||||
extern rtx gen_muldf3 ();
|
||||
extern rtx gen_mulsf3 ();
|
||||
extern rtx gen_divhi3 ();
|
||||
extern rtx gen_divhisi3 ();
|
||||
extern rtx gen_udivhi3 ();
|
||||
extern rtx gen_udivhisi3 ();
|
||||
extern rtx gen_divdf3 ();
|
||||
extern rtx gen_divsf3 ();
|
||||
extern rtx gen_modhi3 ();
|
||||
extern rtx gen_modhisi3 ();
|
||||
extern rtx gen_umodhi3 ();
|
||||
extern rtx gen_umodhisi3 ();
|
||||
extern rtx gen_divmodsi4 ();
|
||||
extern rtx gen_udivmodsi4 ();
|
||||
extern rtx gen_andsi3 ();
|
||||
extern rtx gen_andhi3 ();
|
||||
extern rtx gen_andqi3 ();
|
||||
extern rtx gen_iorsi3 ();
|
||||
extern rtx gen_iorhi3 ();
|
||||
extern rtx gen_iorqi3 ();
|
||||
extern rtx gen_xorsi3 ();
|
||||
extern rtx gen_xorhi3 ();
|
||||
extern rtx gen_xorqi3 ();
|
||||
extern rtx gen_negsi2 ();
|
||||
extern rtx gen_neghi2 ();
|
||||
extern rtx gen_negqi2 ();
|
||||
extern rtx gen_negsf2 ();
|
||||
extern rtx gen_negdf2 ();
|
||||
extern rtx gen_sqrtdf2 ();
|
||||
extern rtx gen_abssf2 ();
|
||||
extern rtx gen_absdf2 ();
|
||||
extern rtx gen_one_cmplsi2 ();
|
||||
extern rtx gen_one_cmplhi2 ();
|
||||
extern rtx gen_one_cmplqi2 ();
|
||||
extern rtx gen_ashlsi3 ();
|
||||
extern rtx gen_ashlhi3 ();
|
||||
extern rtx gen_ashlqi3 ();
|
||||
extern rtx gen_ashrsi3 ();
|
||||
extern rtx gen_ashrhi3 ();
|
||||
extern rtx gen_ashrqi3 ();
|
||||
extern rtx gen_lshlsi3 ();
|
||||
extern rtx gen_lshlhi3 ();
|
||||
extern rtx gen_lshlqi3 ();
|
||||
extern rtx gen_lshrsi3 ();
|
||||
extern rtx gen_lshrhi3 ();
|
||||
extern rtx gen_lshrqi3 ();
|
||||
extern rtx gen_rotlsi3 ();
|
||||
extern rtx gen_rotlhi3 ();
|
||||
extern rtx gen_rotlqi3 ();
|
||||
extern rtx gen_rotrsi3 ();
|
||||
extern rtx gen_rotrhi3 ();
|
||||
extern rtx gen_rotrqi3 ();
|
||||
extern rtx gen_extv ();
|
||||
extern rtx gen_extzv ();
|
||||
extern rtx gen_insv ();
|
||||
extern rtx gen_seq ();
|
||||
extern rtx gen_sne ();
|
||||
extern rtx gen_sgt ();
|
||||
extern rtx gen_sgtu ();
|
||||
extern rtx gen_slt ();
|
||||
extern rtx gen_sltu ();
|
||||
extern rtx gen_sge ();
|
||||
extern rtx gen_sgeu ();
|
||||
extern rtx gen_sle ();
|
||||
extern rtx gen_sleu ();
|
||||
extern rtx gen_beq ();
|
||||
extern rtx gen_bne ();
|
||||
extern rtx gen_bgt ();
|
||||
extern rtx gen_bgtu ();
|
||||
extern rtx gen_blt ();
|
||||
extern rtx gen_bltu ();
|
||||
extern rtx gen_bge ();
|
||||
extern rtx gen_bgeu ();
|
||||
extern rtx gen_ble ();
|
||||
extern rtx gen_bleu ();
|
||||
extern rtx gen_jump ();
|
||||
extern rtx gen_tablejump ();
|
||||
extern rtx gen_decrement_and_branch_until_zero ();
|
||||
extern rtx gen_untyped_call ();
|
||||
extern rtx gen_blockage ();
|
||||
extern rtx gen_nop ();
|
||||
extern rtx gen_probe ();
|
||||
extern rtx gen_return ();
|
||||
extern rtx gen_indirect_jump ();
|
||||
extern rtx gen_tstxf ();
|
||||
extern rtx gen_cmpxf ();
|
||||
extern rtx gen_extendsfxf2 ();
|
||||
extern rtx gen_extenddfxf2 ();
|
||||
extern rtx gen_truncxfdf2 ();
|
||||
extern rtx gen_truncxfsf2 ();
|
||||
extern rtx gen_floatsixf2 ();
|
||||
extern rtx gen_floathixf2 ();
|
||||
extern rtx gen_floatqixf2 ();
|
||||
extern rtx gen_ftruncxf2 ();
|
||||
extern rtx gen_fixxfqi2 ();
|
||||
extern rtx gen_fixxfhi2 ();
|
||||
extern rtx gen_fixxfsi2 ();
|
||||
extern rtx gen_addxf3 ();
|
||||
extern rtx gen_subxf3 ();
|
||||
extern rtx gen_mulxf3 ();
|
||||
extern rtx gen_divxf3 ();
|
||||
extern rtx gen_negxf2 ();
|
||||
extern rtx gen_absxf2 ();
|
||||
extern rtx gen_sqrtxf2 ();
|
||||
extern rtx gen_call ();
|
||||
extern rtx gen_call_value ();
|
||||
#endif /* NO_MD_PROTOTYPES */
|
|
@ -0,0 +1,221 @@
|
|||
/* Generated automatically by the program `genopinit'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#include "config.h"
|
||||
#include "rtl.h"
|
||||
#include "flags.h"
|
||||
#include "insn-flags.h"
|
||||
#include "insn-codes.h"
|
||||
#include "insn-config.h"
|
||||
#include "recog.h"
|
||||
#include "expr.h"
|
||||
#include "reload.h"
|
||||
|
||||
void
|
||||
init_all_optabs ()
|
||||
{
|
||||
tst_optab->handlers[(int) SImode].insn_code = CODE_FOR_tstsi;
|
||||
tst_optab->handlers[(int) HImode].insn_code = CODE_FOR_tsthi;
|
||||
tst_optab->handlers[(int) QImode].insn_code = CODE_FOR_tstqi;
|
||||
if (HAVE_tstsf)
|
||||
tst_optab->handlers[(int) SFmode].insn_code = CODE_FOR_tstsf;
|
||||
if (HAVE_tstdf)
|
||||
tst_optab->handlers[(int) DFmode].insn_code = CODE_FOR_tstdf;
|
||||
cmp_optab->handlers[(int) SImode].insn_code = CODE_FOR_cmpsi;
|
||||
cmp_optab->handlers[(int) HImode].insn_code = CODE_FOR_cmphi;
|
||||
cmp_optab->handlers[(int) QImode].insn_code = CODE_FOR_cmpqi;
|
||||
if (HAVE_cmpdf)
|
||||
cmp_optab->handlers[(int) DFmode].insn_code = CODE_FOR_cmpdf;
|
||||
if (HAVE_cmpsf)
|
||||
cmp_optab->handlers[(int) SFmode].insn_code = CODE_FOR_cmpsf;
|
||||
mov_optab->handlers[(int) SImode].insn_code = CODE_FOR_movsi;
|
||||
mov_optab->handlers[(int) HImode].insn_code = CODE_FOR_movhi;
|
||||
movstrict_optab->handlers[(int) HImode].insn_code = CODE_FOR_movstricthi;
|
||||
mov_optab->handlers[(int) QImode].insn_code = CODE_FOR_movqi;
|
||||
movstrict_optab->handlers[(int) QImode].insn_code = CODE_FOR_movstrictqi;
|
||||
mov_optab->handlers[(int) SFmode].insn_code = CODE_FOR_movsf;
|
||||
mov_optab->handlers[(int) DFmode].insn_code = CODE_FOR_movdf;
|
||||
mov_optab->handlers[(int) XFmode].insn_code = CODE_FOR_movxf;
|
||||
mov_optab->handlers[(int) DImode].insn_code = CODE_FOR_movdi;
|
||||
extendtab[(int) SImode][(int) HImode][1] = CODE_FOR_zero_extendhisi2;
|
||||
extendtab[(int) HImode][(int) QImode][1] = CODE_FOR_zero_extendqihi2;
|
||||
extendtab[(int) SImode][(int) QImode][1] = CODE_FOR_zero_extendqisi2;
|
||||
extendtab[(int) SImode][(int) HImode][0] = CODE_FOR_extendhisi2;
|
||||
extendtab[(int) HImode][(int) QImode][0] = CODE_FOR_extendqihi2;
|
||||
if (HAVE_extendqisi2)
|
||||
extendtab[(int) SImode][(int) QImode][0] = CODE_FOR_extendqisi2;
|
||||
if (HAVE_extendsfdf2)
|
||||
extendtab[(int) DFmode][(int) SFmode][0] = CODE_FOR_extendsfdf2;
|
||||
if (HAVE_floatsisf2)
|
||||
floattab[(int) SFmode][(int) SImode][0] = CODE_FOR_floatsisf2;
|
||||
if (HAVE_floatsidf2)
|
||||
floattab[(int) DFmode][(int) SImode][0] = CODE_FOR_floatsidf2;
|
||||
if (HAVE_floathisf2)
|
||||
floattab[(int) SFmode][(int) HImode][0] = CODE_FOR_floathisf2;
|
||||
if (HAVE_floathidf2)
|
||||
floattab[(int) DFmode][(int) HImode][0] = CODE_FOR_floathidf2;
|
||||
if (HAVE_floatqisf2)
|
||||
floattab[(int) SFmode][(int) QImode][0] = CODE_FOR_floatqisf2;
|
||||
if (HAVE_floatqidf2)
|
||||
floattab[(int) DFmode][(int) QImode][0] = CODE_FOR_floatqidf2;
|
||||
if (HAVE_fix_truncdfsi2)
|
||||
fixtrunctab[(int) DFmode][(int) SImode][0] = CODE_FOR_fix_truncdfsi2;
|
||||
if (HAVE_fix_truncdfhi2)
|
||||
fixtrunctab[(int) DFmode][(int) HImode][0] = CODE_FOR_fix_truncdfhi2;
|
||||
if (HAVE_fix_truncdfqi2)
|
||||
fixtrunctab[(int) DFmode][(int) QImode][0] = CODE_FOR_fix_truncdfqi2;
|
||||
if (HAVE_ftruncdf2)
|
||||
ftrunc_optab->handlers[(int) DFmode].insn_code = CODE_FOR_ftruncdf2;
|
||||
if (HAVE_ftruncsf2)
|
||||
ftrunc_optab->handlers[(int) SFmode].insn_code = CODE_FOR_ftruncsf2;
|
||||
if (HAVE_fixsfqi2)
|
||||
fixtab[(int) SFmode][(int) QImode][0] = CODE_FOR_fixsfqi2;
|
||||
if (HAVE_fixsfhi2)
|
||||
fixtab[(int) SFmode][(int) HImode][0] = CODE_FOR_fixsfhi2;
|
||||
if (HAVE_fixsfsi2)
|
||||
fixtab[(int) SFmode][(int) SImode][0] = CODE_FOR_fixsfsi2;
|
||||
if (HAVE_fixdfqi2)
|
||||
fixtab[(int) DFmode][(int) QImode][0] = CODE_FOR_fixdfqi2;
|
||||
if (HAVE_fixdfhi2)
|
||||
fixtab[(int) DFmode][(int) HImode][0] = CODE_FOR_fixdfhi2;
|
||||
if (HAVE_fixdfsi2)
|
||||
fixtab[(int) DFmode][(int) SImode][0] = CODE_FOR_fixdfsi2;
|
||||
add_optab->handlers[(int) SImode].insn_code = CODE_FOR_addsi3;
|
||||
add_optab->handlers[(int) HImode].insn_code = CODE_FOR_addhi3;
|
||||
add_optab->handlers[(int) QImode].insn_code = CODE_FOR_addqi3;
|
||||
if (HAVE_adddf3)
|
||||
add_optab->handlers[(int) DFmode].insn_code = CODE_FOR_adddf3;
|
||||
if (HAVE_addsf3)
|
||||
add_optab->handlers[(int) SFmode].insn_code = CODE_FOR_addsf3;
|
||||
sub_optab->handlers[(int) SImode].insn_code = CODE_FOR_subsi3;
|
||||
sub_optab->handlers[(int) HImode].insn_code = CODE_FOR_subhi3;
|
||||
sub_optab->handlers[(int) QImode].insn_code = CODE_FOR_subqi3;
|
||||
if (HAVE_subdf3)
|
||||
sub_optab->handlers[(int) DFmode].insn_code = CODE_FOR_subdf3;
|
||||
if (HAVE_subsf3)
|
||||
sub_optab->handlers[(int) SFmode].insn_code = CODE_FOR_subsf3;
|
||||
smul_optab->handlers[(int) HImode].insn_code = CODE_FOR_mulhi3;
|
||||
smul_widen_optab->handlers[(int) SImode].insn_code = CODE_FOR_mulhisi3;
|
||||
if (HAVE_mulsi3)
|
||||
smul_optab->handlers[(int) SImode].insn_code = CODE_FOR_mulsi3;
|
||||
umul_widen_optab->handlers[(int) SImode].insn_code = CODE_FOR_umulhisi3;
|
||||
if (HAVE_umulsidi3)
|
||||
umul_widen_optab->handlers[(int) DImode].insn_code = CODE_FOR_umulsidi3;
|
||||
if (HAVE_mulsidi3)
|
||||
smul_widen_optab->handlers[(int) DImode].insn_code = CODE_FOR_mulsidi3;
|
||||
if (HAVE_muldf3)
|
||||
smul_optab->handlers[(int) DFmode].insn_code = CODE_FOR_muldf3;
|
||||
if (HAVE_mulsf3)
|
||||
smul_optab->handlers[(int) SFmode].insn_code = CODE_FOR_mulsf3;
|
||||
sdiv_optab->handlers[(int) HImode].insn_code = CODE_FOR_divhi3;
|
||||
udiv_optab->handlers[(int) HImode].insn_code = CODE_FOR_udivhi3;
|
||||
if (HAVE_divdf3)
|
||||
flodiv_optab->handlers[(int) DFmode].insn_code = CODE_FOR_divdf3;
|
||||
if (HAVE_divsf3)
|
||||
flodiv_optab->handlers[(int) SFmode].insn_code = CODE_FOR_divsf3;
|
||||
smod_optab->handlers[(int) HImode].insn_code = CODE_FOR_modhi3;
|
||||
umod_optab->handlers[(int) HImode].insn_code = CODE_FOR_umodhi3;
|
||||
if (HAVE_divmodsi4)
|
||||
sdivmod_optab->handlers[(int) SImode].insn_code = CODE_FOR_divmodsi4;
|
||||
if (HAVE_udivmodsi4)
|
||||
udivmod_optab->handlers[(int) SImode].insn_code = CODE_FOR_udivmodsi4;
|
||||
and_optab->handlers[(int) SImode].insn_code = CODE_FOR_andsi3;
|
||||
and_optab->handlers[(int) HImode].insn_code = CODE_FOR_andhi3;
|
||||
and_optab->handlers[(int) QImode].insn_code = CODE_FOR_andqi3;
|
||||
ior_optab->handlers[(int) SImode].insn_code = CODE_FOR_iorsi3;
|
||||
ior_optab->handlers[(int) HImode].insn_code = CODE_FOR_iorhi3;
|
||||
ior_optab->handlers[(int) QImode].insn_code = CODE_FOR_iorqi3;
|
||||
xor_optab->handlers[(int) SImode].insn_code = CODE_FOR_xorsi3;
|
||||
xor_optab->handlers[(int) HImode].insn_code = CODE_FOR_xorhi3;
|
||||
xor_optab->handlers[(int) QImode].insn_code = CODE_FOR_xorqi3;
|
||||
neg_optab->handlers[(int) SImode].insn_code = CODE_FOR_negsi2;
|
||||
neg_optab->handlers[(int) HImode].insn_code = CODE_FOR_neghi2;
|
||||
neg_optab->handlers[(int) QImode].insn_code = CODE_FOR_negqi2;
|
||||
if (HAVE_negsf2)
|
||||
neg_optab->handlers[(int) SFmode].insn_code = CODE_FOR_negsf2;
|
||||
if (HAVE_negdf2)
|
||||
neg_optab->handlers[(int) DFmode].insn_code = CODE_FOR_negdf2;
|
||||
if (HAVE_sqrtdf2)
|
||||
sqrt_optab->handlers[(int) DFmode].insn_code = CODE_FOR_sqrtdf2;
|
||||
if (HAVE_abssf2)
|
||||
abs_optab->handlers[(int) SFmode].insn_code = CODE_FOR_abssf2;
|
||||
if (HAVE_absdf2)
|
||||
abs_optab->handlers[(int) DFmode].insn_code = CODE_FOR_absdf2;
|
||||
one_cmpl_optab->handlers[(int) SImode].insn_code = CODE_FOR_one_cmplsi2;
|
||||
one_cmpl_optab->handlers[(int) HImode].insn_code = CODE_FOR_one_cmplhi2;
|
||||
one_cmpl_optab->handlers[(int) QImode].insn_code = CODE_FOR_one_cmplqi2;
|
||||
ashl_optab->handlers[(int) SImode].insn_code = CODE_FOR_ashlsi3;
|
||||
ashl_optab->handlers[(int) HImode].insn_code = CODE_FOR_ashlhi3;
|
||||
ashl_optab->handlers[(int) QImode].insn_code = CODE_FOR_ashlqi3;
|
||||
ashr_optab->handlers[(int) SImode].insn_code = CODE_FOR_ashrsi3;
|
||||
ashr_optab->handlers[(int) HImode].insn_code = CODE_FOR_ashrhi3;
|
||||
ashr_optab->handlers[(int) QImode].insn_code = CODE_FOR_ashrqi3;
|
||||
lshl_optab->handlers[(int) SImode].insn_code = CODE_FOR_lshlsi3;
|
||||
lshl_optab->handlers[(int) HImode].insn_code = CODE_FOR_lshlhi3;
|
||||
lshl_optab->handlers[(int) QImode].insn_code = CODE_FOR_lshlqi3;
|
||||
lshr_optab->handlers[(int) SImode].insn_code = CODE_FOR_lshrsi3;
|
||||
lshr_optab->handlers[(int) HImode].insn_code = CODE_FOR_lshrhi3;
|
||||
lshr_optab->handlers[(int) QImode].insn_code = CODE_FOR_lshrqi3;
|
||||
rotl_optab->handlers[(int) SImode].insn_code = CODE_FOR_rotlsi3;
|
||||
rotl_optab->handlers[(int) HImode].insn_code = CODE_FOR_rotlhi3;
|
||||
rotl_optab->handlers[(int) QImode].insn_code = CODE_FOR_rotlqi3;
|
||||
rotr_optab->handlers[(int) SImode].insn_code = CODE_FOR_rotrsi3;
|
||||
rotr_optab->handlers[(int) HImode].insn_code = CODE_FOR_rotrhi3;
|
||||
rotr_optab->handlers[(int) QImode].insn_code = CODE_FOR_rotrqi3;
|
||||
setcc_gen_code[(int) EQ] = CODE_FOR_seq;
|
||||
setcc_gen_code[(int) NE] = CODE_FOR_sne;
|
||||
setcc_gen_code[(int) GT] = CODE_FOR_sgt;
|
||||
setcc_gen_code[(int) GTU] = CODE_FOR_sgtu;
|
||||
setcc_gen_code[(int) LT] = CODE_FOR_slt;
|
||||
setcc_gen_code[(int) LTU] = CODE_FOR_sltu;
|
||||
setcc_gen_code[(int) GE] = CODE_FOR_sge;
|
||||
setcc_gen_code[(int) GEU] = CODE_FOR_sgeu;
|
||||
setcc_gen_code[(int) LE] = CODE_FOR_sle;
|
||||
setcc_gen_code[(int) LEU] = CODE_FOR_sleu;
|
||||
bcc_gen_fctn[(int) EQ] = gen_beq;
|
||||
bcc_gen_fctn[(int) NE] = gen_bne;
|
||||
bcc_gen_fctn[(int) GT] = gen_bgt;
|
||||
bcc_gen_fctn[(int) GTU] = gen_bgtu;
|
||||
bcc_gen_fctn[(int) LT] = gen_blt;
|
||||
bcc_gen_fctn[(int) LTU] = gen_bltu;
|
||||
bcc_gen_fctn[(int) GE] = gen_bge;
|
||||
bcc_gen_fctn[(int) GEU] = gen_bgeu;
|
||||
bcc_gen_fctn[(int) LE] = gen_ble;
|
||||
bcc_gen_fctn[(int) LEU] = gen_bleu;
|
||||
if (HAVE_tstxf)
|
||||
tst_optab->handlers[(int) XFmode].insn_code = CODE_FOR_tstxf;
|
||||
if (HAVE_cmpxf)
|
||||
cmp_optab->handlers[(int) XFmode].insn_code = CODE_FOR_cmpxf;
|
||||
if (HAVE_extendsfxf2)
|
||||
extendtab[(int) XFmode][(int) SFmode][0] = CODE_FOR_extendsfxf2;
|
||||
if (HAVE_extenddfxf2)
|
||||
extendtab[(int) XFmode][(int) DFmode][0] = CODE_FOR_extenddfxf2;
|
||||
if (HAVE_floatsixf2)
|
||||
floattab[(int) XFmode][(int) SImode][0] = CODE_FOR_floatsixf2;
|
||||
if (HAVE_floathixf2)
|
||||
floattab[(int) XFmode][(int) HImode][0] = CODE_FOR_floathixf2;
|
||||
if (HAVE_floatqixf2)
|
||||
floattab[(int) XFmode][(int) QImode][0] = CODE_FOR_floatqixf2;
|
||||
if (HAVE_ftruncxf2)
|
||||
ftrunc_optab->handlers[(int) XFmode].insn_code = CODE_FOR_ftruncxf2;
|
||||
if (HAVE_fixxfqi2)
|
||||
fixtab[(int) XFmode][(int) QImode][0] = CODE_FOR_fixxfqi2;
|
||||
if (HAVE_fixxfhi2)
|
||||
fixtab[(int) XFmode][(int) HImode][0] = CODE_FOR_fixxfhi2;
|
||||
if (HAVE_fixxfsi2)
|
||||
fixtab[(int) XFmode][(int) SImode][0] = CODE_FOR_fixxfsi2;
|
||||
if (HAVE_addxf3)
|
||||
add_optab->handlers[(int) XFmode].insn_code = CODE_FOR_addxf3;
|
||||
if (HAVE_subxf3)
|
||||
sub_optab->handlers[(int) XFmode].insn_code = CODE_FOR_subxf3;
|
||||
if (HAVE_mulxf3)
|
||||
smul_optab->handlers[(int) XFmode].insn_code = CODE_FOR_mulxf3;
|
||||
if (HAVE_divxf3)
|
||||
flodiv_optab->handlers[(int) XFmode].insn_code = CODE_FOR_divxf3;
|
||||
if (HAVE_negxf2)
|
||||
neg_optab->handlers[(int) XFmode].insn_code = CODE_FOR_negxf2;
|
||||
if (HAVE_absxf2)
|
||||
abs_optab->handlers[(int) XFmode].insn_code = CODE_FOR_absxf2;
|
||||
if (HAVE_sqrtxf2)
|
||||
sqrt_optab->handlers[(int) XFmode].insn_code = CODE_FOR_sqrtxf2;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,410 @@
|
|||
/* Generated automatically by the program `genpeep'
|
||||
from the machine description file `md'. */
|
||||
|
||||
#include "config.h"
|
||||
#include "rtl.h"
|
||||
#include "regs.h"
|
||||
#include "output.h"
|
||||
#include "real.h"
|
||||
|
||||
extern rtx peep_operand[];
|
||||
|
||||
#define operands peep_operand
|
||||
|
||||
rtx
|
||||
peephole (ins1)
|
||||
rtx ins1;
|
||||
{
|
||||
rtx insn, x, pat;
|
||||
int i;
|
||||
|
||||
if (NEXT_INSN (ins1)
|
||||
&& GET_CODE (NEXT_INSN (ins1)) == BARRIER)
|
||||
return 0;
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L299;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != REG) goto L299;
|
||||
if (GET_MODE (x) != SImode) goto L299;
|
||||
if (XINT (x, 0) != 15) goto L299;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != PLUS) goto L299;
|
||||
if (GET_MODE (x) != SImode) goto L299;
|
||||
x = XEXP (XEXP (pat, 1), 0);
|
||||
if (GET_CODE (x) != REG) goto L299;
|
||||
if (GET_MODE (x) != SImode) goto L299;
|
||||
if (XINT (x, 0) != 15) goto L299;
|
||||
x = XEXP (XEXP (pat, 1), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L299;
|
||||
if (XWINT (x, 0) != 4) goto L299;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L299; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L299;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L299;
|
||||
x = XEXP (pat, 0);
|
||||
operands[0] = x;
|
||||
if (! register_operand (x, DFmode)) goto L299;
|
||||
x = XEXP (pat, 1);
|
||||
operands[1] = x;
|
||||
if (! register_operand (x, DFmode)) goto L299;
|
||||
if (! (FP_REG_P (operands[0]) && ! FP_REG_P (operands[1]))) goto L299;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (2, operands));
|
||||
INSN_CODE (ins1) = 299;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L299:
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L300;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != REG) goto L300;
|
||||
if (GET_MODE (x) != SImode) goto L300;
|
||||
if (XINT (x, 0) != 15) goto L300;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != PLUS) goto L300;
|
||||
if (GET_MODE (x) != SImode) goto L300;
|
||||
x = XEXP (XEXP (pat, 1), 0);
|
||||
if (GET_CODE (x) != REG) goto L300;
|
||||
if (GET_MODE (x) != SImode) goto L300;
|
||||
if (XINT (x, 0) != 15) goto L300;
|
||||
x = XEXP (XEXP (pat, 1), 1);
|
||||
operands[0] = x;
|
||||
if (! immediate_operand (x, SImode)) goto L300;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L300; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L300;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L300;
|
||||
x = XEXP (pat, 0);
|
||||
operands[1] = x;
|
||||
if (! push_operand (x, SFmode)) goto L300;
|
||||
x = XEXP (pat, 1);
|
||||
operands[2] = x;
|
||||
if (! general_operand (x, SFmode)) goto L300;
|
||||
if (! (GET_CODE (operands[0]) == CONST_INT && INTVAL (operands[0]) >= 4
|
||||
&& ! reg_mentioned_p (stack_pointer_rtx, operands[2]))) goto L300;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (3, operands));
|
||||
INSN_CODE (ins1) = 300;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L300:
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L301;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != REG) goto L301;
|
||||
if (GET_MODE (x) != SImode) goto L301;
|
||||
if (XINT (x, 0) != 15) goto L301;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != PLUS) goto L301;
|
||||
if (GET_MODE (x) != SImode) goto L301;
|
||||
x = XEXP (XEXP (pat, 1), 0);
|
||||
if (GET_CODE (x) != REG) goto L301;
|
||||
if (GET_MODE (x) != SImode) goto L301;
|
||||
if (XINT (x, 0) != 15) goto L301;
|
||||
x = XEXP (XEXP (pat, 1), 1);
|
||||
operands[0] = x;
|
||||
if (! immediate_operand (x, SImode)) goto L301;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L301; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L301;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L301;
|
||||
x = XEXP (pat, 0);
|
||||
operands[1] = x;
|
||||
if (! push_operand (x, SImode)) goto L301;
|
||||
x = XEXP (pat, 1);
|
||||
operands[2] = x;
|
||||
if (! general_operand (x, SImode)) goto L301;
|
||||
if (! (GET_CODE (operands[0]) == CONST_INT && INTVAL (operands[0]) >= 4
|
||||
&& ! reg_mentioned_p (stack_pointer_rtx, operands[2]))) goto L301;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (3, operands));
|
||||
INSN_CODE (ins1) = 301;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L301:
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L302;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != MEM) goto L302;
|
||||
if (GET_MODE (x) != QImode) goto L302;
|
||||
x = XEXP (XEXP (pat, 0), 0);
|
||||
if (GET_CODE (x) != PRE_DEC) goto L302;
|
||||
if (GET_MODE (x) != SImode) goto L302;
|
||||
x = XEXP (XEXP (XEXP (pat, 0), 0), 0);
|
||||
if (GET_CODE (x) != REG) goto L302;
|
||||
if (GET_MODE (x) != SImode) goto L302;
|
||||
if (XINT (x, 0) != 15) goto L302;
|
||||
x = XEXP (pat, 1);
|
||||
operands[1] = x;
|
||||
if (! general_operand (x, QImode)) goto L302;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L302; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L302;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L302;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != REG) goto L302;
|
||||
if (GET_MODE (x) != SImode) goto L302;
|
||||
if (XINT (x, 0) != 15) goto L302;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != MINUS) goto L302;
|
||||
if (GET_MODE (x) != SImode) goto L302;
|
||||
x = XEXP (XEXP (pat, 1), 0);
|
||||
if (GET_CODE (x) != REG) goto L302;
|
||||
if (GET_MODE (x) != SImode) goto L302;
|
||||
if (XINT (x, 0) != 15) goto L302;
|
||||
x = XEXP (XEXP (pat, 1), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L302;
|
||||
if (XWINT (x, 0) != 2) goto L302;
|
||||
if (! (! reg_mentioned_p (stack_pointer_rtx, operands[1]))) goto L302;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (2, operands));
|
||||
INSN_CODE (ins1) = 302;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L302:
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L303;
|
||||
x = XEXP (pat, 0);
|
||||
operands[0] = x;
|
||||
if (! register_operand (x, SImode)) goto L303;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L303;
|
||||
if (XWINT (x, 0) != 0) goto L303;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L303; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L303;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L303;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != STRICT_LOW_PART) goto L303;
|
||||
x = XEXP (XEXP (pat, 0), 0);
|
||||
if (GET_CODE (x) != SUBREG) goto L303;
|
||||
if (GET_MODE (x) != HImode) goto L303;
|
||||
x = XEXP (XEXP (XEXP (pat, 0), 0), 0);
|
||||
if (!rtx_equal_p (operands[0], x)) goto L303;
|
||||
x = XEXP (XEXP (pat, 0), 0);
|
||||
if (XINT (x, 1) != 0) goto L303;
|
||||
x = XEXP (pat, 1);
|
||||
operands[1] = x;
|
||||
if (! general_operand (x, HImode)) goto L303;
|
||||
if (! (strict_low_part_peephole_ok (HImode, prev_nonnote_insn (insn), operands[0]))) goto L303;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (2, operands));
|
||||
INSN_CODE (ins1) = 303;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L303:
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L304;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != PC) goto L304;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != IF_THEN_ELSE) goto L304;
|
||||
x = XEXP (XEXP (pat, 1), 0);
|
||||
operands[3] = x;
|
||||
if (! valid_dbcc_comparison_p (x, VOIDmode)) goto L304;
|
||||
x = XEXP (XEXP (XEXP (pat, 1), 0), 0);
|
||||
if (GET_CODE (x) != CC0) goto L304;
|
||||
x = XEXP (XEXP (XEXP (pat, 1), 0), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L304;
|
||||
if (XWINT (x, 0) != 0) goto L304;
|
||||
x = XEXP (XEXP (pat, 1), 1);
|
||||
if (GET_CODE (x) != LABEL_REF) goto L304;
|
||||
x = XEXP (XEXP (XEXP (pat, 1), 1), 0);
|
||||
operands[2] = x;
|
||||
x = XEXP (XEXP (pat, 1), 2);
|
||||
if (GET_CODE (x) != PC) goto L304;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L304; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L304;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != PARALLEL) goto L304;
|
||||
if (XVECLEN (x, 0) != 2) goto L304;
|
||||
x = XVECEXP (pat, 0, 0);
|
||||
if (GET_CODE (x) != SET) goto L304;
|
||||
x = XEXP (XVECEXP (pat, 0, 0), 0);
|
||||
if (GET_CODE (x) != PC) goto L304;
|
||||
x = XEXP (XVECEXP (pat, 0, 0), 1);
|
||||
if (GET_CODE (x) != IF_THEN_ELSE) goto L304;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0);
|
||||
if (GET_CODE (x) != GE) goto L304;
|
||||
x = XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0);
|
||||
if (GET_CODE (x) != PLUS) goto L304;
|
||||
if (GET_MODE (x) != HImode) goto L304;
|
||||
x = XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0);
|
||||
operands[0] = x;
|
||||
if (! register_operand (x, HImode)) goto L304;
|
||||
x = XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L304;
|
||||
if (XWINT (x, 0) != -1) goto L304;
|
||||
x = XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L304;
|
||||
if (XWINT (x, 0) != 0) goto L304;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1);
|
||||
if (GET_CODE (x) != LABEL_REF) goto L304;
|
||||
x = XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0);
|
||||
operands[1] = x;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 2);
|
||||
if (GET_CODE (x) != PC) goto L304;
|
||||
x = XVECEXP (pat, 0, 1);
|
||||
if (GET_CODE (x) != SET) goto L304;
|
||||
x = XEXP (XVECEXP (pat, 0, 1), 0);
|
||||
if (!rtx_equal_p (operands[0], x)) goto L304;
|
||||
x = XEXP (XVECEXP (pat, 0, 1), 1);
|
||||
if (GET_CODE (x) != PLUS) goto L304;
|
||||
if (GET_MODE (x) != HImode) goto L304;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
||||
if (!rtx_equal_p (operands[0], x)) goto L304;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L304;
|
||||
if (XWINT (x, 0) != -1) goto L304;
|
||||
if (! (DATA_REG_P (operands[0]))) goto L304;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (4, operands));
|
||||
INSN_CODE (ins1) = 304;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L304:
|
||||
|
||||
insn = ins1;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != SET) goto L305;
|
||||
x = XEXP (pat, 0);
|
||||
if (GET_CODE (x) != PC) goto L305;
|
||||
x = XEXP (pat, 1);
|
||||
if (GET_CODE (x) != IF_THEN_ELSE) goto L305;
|
||||
x = XEXP (XEXP (pat, 1), 0);
|
||||
operands[3] = x;
|
||||
if (! valid_dbcc_comparison_p (x, VOIDmode)) goto L305;
|
||||
x = XEXP (XEXP (XEXP (pat, 1), 0), 0);
|
||||
if (GET_CODE (x) != CC0) goto L305;
|
||||
x = XEXP (XEXP (XEXP (pat, 1), 0), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L305;
|
||||
if (XWINT (x, 0) != 0) goto L305;
|
||||
x = XEXP (XEXP (pat, 1), 1);
|
||||
if (GET_CODE (x) != LABEL_REF) goto L305;
|
||||
x = XEXP (XEXP (XEXP (pat, 1), 1), 0);
|
||||
operands[2] = x;
|
||||
x = XEXP (XEXP (pat, 1), 2);
|
||||
if (GET_CODE (x) != PC) goto L305;
|
||||
do { insn = NEXT_INSN (insn);
|
||||
if (insn == 0) goto L305; }
|
||||
while (GET_CODE (insn) == NOTE
|
||||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER)));
|
||||
if (GET_CODE (insn) == CODE_LABEL
|
||||
|| GET_CODE (insn) == BARRIER)
|
||||
goto L305;
|
||||
pat = PATTERN (insn);
|
||||
x = pat;
|
||||
if (GET_CODE (x) != PARALLEL) goto L305;
|
||||
if (XVECLEN (x, 0) != 2) goto L305;
|
||||
x = XVECEXP (pat, 0, 0);
|
||||
if (GET_CODE (x) != SET) goto L305;
|
||||
x = XEXP (XVECEXP (pat, 0, 0), 0);
|
||||
if (GET_CODE (x) != PC) goto L305;
|
||||
x = XEXP (XVECEXP (pat, 0, 0), 1);
|
||||
if (GET_CODE (x) != IF_THEN_ELSE) goto L305;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0);
|
||||
if (GET_CODE (x) != GE) goto L305;
|
||||
x = XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0);
|
||||
if (GET_CODE (x) != PLUS) goto L305;
|
||||
if (GET_MODE (x) != SImode) goto L305;
|
||||
x = XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0);
|
||||
operands[0] = x;
|
||||
if (! register_operand (x, SImode)) goto L305;
|
||||
x = XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L305;
|
||||
if (XWINT (x, 0) != -1) goto L305;
|
||||
x = XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L305;
|
||||
if (XWINT (x, 0) != 0) goto L305;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1);
|
||||
if (GET_CODE (x) != LABEL_REF) goto L305;
|
||||
x = XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0);
|
||||
operands[1] = x;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 2);
|
||||
if (GET_CODE (x) != PC) goto L305;
|
||||
x = XVECEXP (pat, 0, 1);
|
||||
if (GET_CODE (x) != SET) goto L305;
|
||||
x = XEXP (XVECEXP (pat, 0, 1), 0);
|
||||
if (!rtx_equal_p (operands[0], x)) goto L305;
|
||||
x = XEXP (XVECEXP (pat, 0, 1), 1);
|
||||
if (GET_CODE (x) != PLUS) goto L305;
|
||||
if (GET_MODE (x) != SImode) goto L305;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
||||
if (!rtx_equal_p (operands[0], x)) goto L305;
|
||||
x = XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1);
|
||||
if (GET_CODE (x) != CONST_INT) goto L305;
|
||||
if (XWINT (x, 0) != -1) goto L305;
|
||||
if (! (DATA_REG_P (operands[0]))) goto L305;
|
||||
PATTERN (ins1) = gen_rtx (PARALLEL, VOIDmode, gen_rtvec_v (4, operands));
|
||||
INSN_CODE (ins1) = 305;
|
||||
delete_for_peephole (NEXT_INSN (ins1), insn);
|
||||
return NEXT_INSN (insn);
|
||||
L305:
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
rtx peep_operand[4];
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
/* Configuration for GNU C-compiler for Motorola 68000 family.
|
||||
Copyright (C) 1987 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 2, 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.
|
||||
|
||||
$Id: tconfig.h,v 1.1 1993/11/25 01:26:27 paulus Exp $
|
||||
*/
|
||||
|
||||
|
||||
/* #defines that need visibility everywhere. */
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
|
||||
/* This describes the machine the compiler is hosted on. */
|
||||
#define HOST_BITS_PER_CHAR 8
|
||||
#define HOST_BITS_PER_SHORT 16
|
||||
#define HOST_BITS_PER_INT 32
|
||||
#define HOST_BITS_PER_LONG 32
|
||||
#define HOST_BITS_PER_LONGLONG 64
|
||||
|
||||
#define HOST_WORDS_BIG_ENDIAN
|
||||
|
||||
/* target machine dependencies.
|
||||
tm.h is a symbolic link to the actual target specific file. */
|
||||
#include "tm.h"
|
||||
|
||||
/* Arguments to use with `exit'. */
|
||||
#define SUCCESS_EXIT_CODE 0
|
||||
#define FATAL_EXIT_CODE 33
|
||||
|
||||
/* If compiled with GNU C, use the built-in alloca */
|
||||
#ifdef __GNUC__
|
||||
/* Use an arg in this macro because that's what some other
|
||||
system does--let's avoid conflict. */
|
||||
#define alloca(x) __builtin_alloca(x)
|
||||
#endif
|
|
@ -0,0 +1,94 @@
|
|||
/* $Id: tm.h,v 1.1 1993/11/25 01:26:29 paulus Exp $ */
|
||||
|
||||
#include <machine/ansi.h>
|
||||
#include "da30/m68k.h"
|
||||
|
||||
/* See m68k.h. 7 means 68020 with 68881. */
|
||||
|
||||
#define TARGET_DEFAULT 7
|
||||
|
||||
/* Define __HAVE_68881__ in preprocessor, unless -msoft-float is specified.
|
||||
This will control the use of inline 68881 insns in certain macros. */
|
||||
|
||||
#define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE}"
|
||||
|
||||
/* Names to predefine in the preprocessor for this target machine. */
|
||||
|
||||
#define CPP_PREDEFINES "-Dmc68000 -Dmc68020 -Dunix -D__BSD_NET2__ -D__NetBSD__ -Dda30"
|
||||
|
||||
/* Specify -k to assembler for PIC code generation. */
|
||||
|
||||
#define ASM_SPEC "%{fpic:-k} %{fPIC:-k}"
|
||||
|
||||
/* Support -static, -symbolic and -shared options (at least minimally).
|
||||
Also use -dp when doing dynamic linking. Don't include a startup
|
||||
file when linking a shared library. */
|
||||
|
||||
#define LINK_SPEC \
|
||||
"%{static:-Bstatic} %{shared:-Bshareable} %{symbolic:-Bsymbolic} \
|
||||
%{!static:%{!shared:-dp}}"
|
||||
|
||||
#define STARTFILE_SPEC \
|
||||
"%{!shared:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}"
|
||||
|
||||
/* No more libg.a; no libraries if making shared object */
|
||||
|
||||
#define LIB_SPEC "%{!shared:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}"
|
||||
|
||||
/* Make gcc agree with <machine/ansi.h> */
|
||||
|
||||
#define SIZE_TYPE "unsigned int"
|
||||
#define PTRDIFF_TYPE "int"
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "short unsigned int"
|
||||
#define WCHAR_UNSIGNED 1
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE 16
|
||||
|
||||
/* NetBSD does have atexit. */
|
||||
|
||||
#define HAVE_ATEXIT
|
||||
|
||||
/* 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
|
||||
|
||||
/* Do not break .stabs pseudos into continuations. */
|
||||
|
||||
#define DBX_CONTIN_LENGTH 0
|
||||
|
||||
/* This is the char to use for continuation (in case we need to turn
|
||||
continuation back on). */
|
||||
|
||||
#define DBX_CONTIN_CHAR '?'
|
||||
|
||||
/* Don't use the `xsfoo;' construct in DBX output; this system
|
||||
doesn't support it. */
|
||||
|
||||
#define DBX_NO_XREFS
|
||||
|
||||
/* Don't default to pcc-struct-return, because gcc is the only compiler, and
|
||||
we want to retain compatibility with older gcc versions. */
|
||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
||||
|
||||
/*
|
||||
* Some imports from svr4.h in support of shared libraries.
|
||||
* Currently, we need the DECLARE_OBJECT_SIZE stuff.
|
||||
*/
|
||||
|
||||
#define SIZE_ASM_OP ".size"
|
||||
|
||||
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
|
||||
do { \
|
||||
if (!flag_inhibit_size_directive) \
|
||||
{ \
|
||||
fprintf (FILE, "\t%s ", SIZE_ASM_OP); \
|
||||
assemble_name (FILE, NAME); \
|
||||
fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (decl))); \
|
||||
} \
|
||||
ASM_OUTPUT_LABEL(FILE, NAME); \
|
||||
} while (0)
|
Loading…
Reference in New Issue