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:
paulus 1993-11-25 01:25:55 +00:00
parent fabdce7143
commit c8c2e04113
19 changed files with 28202 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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_ */

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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 ();
}
}

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)