summaryrefslogtreecommitdiffstats
path: root/gcc/ginclude
Commit message (Collapse)AuthorAgeFilesLines
...
* Add Darwin (Mac OS X kernel) native support.shebs2001-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (powerpc-*-darwin*): Add native bits. * config/darwin.c: New file, generic Darwin support functions. * config/darwin.h: New file, generic Darwin definitions. * config/darwin-protos.h: New file, generic Darwin prototypes. * rs6000/darwin.h: New file, Darwin for PowerPC. * rs6000/t-darwin: New file, Darwin makefile fragment. * rs6000/rs6000.h (OBJECT_MACHO): New macro. (TARGET_MACHO): Ditto. (rs6000_abi): Add ABI_DARWIN. (RS6000_REG_SAVE): Add ABI_DARWIN case. (RS6000_SAVE_AREA): Ditto. (FP_ARG_MAX_REG): Ditto. (RETURN_ADDRESS_OFFSET): Ditto. * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO cases. (rs6000_emit_move): Add ABI_DARWIN cases. (print_operand): Ditto. (first_reg_to_save): Ditto. (rs6000_stack_info): Ditto, also align stack by 16 instead of 8. (debug_stack_info): Ditto. (rs6000_emit_prologue): Ditto. (rs6000_emit_epilogue): Ditto. (output_profiler_hook): Ditto. (output_function_profiler): Ditto. (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO. (output_mi_thunk): Add TARGET_MACHO case. (add_compiler_stub): Ditto. (output_compiler_stub): Ditto. (no_previous_def): Ditto. (output_call): Ditto. (machopic_output_stub): Ditto. (rs6000_machopic_legitimize_pic_address): Ditto. (toc_section): Ditto. * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern. (macho_high): Ditto. (macho_low): Ditto. (movsi_low): Ditto. (load_macho_picbase): Ditto. (call): Add TARGET_MACHO case to modify function. (call_value): Ditto. (call_nonlocal_sysv): Add ABI_DARWIN case. (call_value_nonlocal_sysv): Ditto. * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address): Add prototype. (machopic_output_stub): Ditto. * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41277 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (boolean_increment): New function.jsm282000-11-131-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE, CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE. (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define. (boolean_increment): Declare. * c-convert.c (convert): Allow for BOOLEAN_TYPE. * c-decl.c (init_decl_processing): Create boolean nodes. (finish_struct): Allow for _Bool bitfields. * c-parse.in (reswords): Add _Bool. (rid_to_yy): Allow for RID_BOOL. * c-typeck.c (default_conversion): Make booleans promote to int. (convert_arguments, build_unary_op, build_modify_expr, convert_for_assignment): Allow for booleans. * ginclude/stdbool.h: Make conforming to C99. cp: * typeck.c (build_unary_op): Use boolean_increment from c-common.c, moving the relevant code there. testsuite: * gcc.dg/c99-bool-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37428 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.jsm282000-08-041-1/+1
| | | | | | | | | | | | * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE. (wint_type_node): Define. * c-decl.c (WINT_TYPE): Define. (init_decl_processing): Create the wint_type_node type. * c-common.c (T_WI): Define. (print_char_table): Use T_WI for %lc format. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35481 138bc75d-0d04-0410-961f-82ee72b054a4
* * collect2.c (resolve_lib_name): Move '/' check to more rational place.jason2000-06-241-1/+5
| | | | | | | * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34687 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (c_common_nodes_and_builtins): The first parameter togeoffk2000-03-302-7/+7
| | | | | | | | | | | | | | | | | __builtin_va_start and __builtin_va_copy is now either a 'va_list' or a reference to a va_list. * builtins.c (stabilize_va_list): Simplify now we don't have to work around C array address decay. * c-typeck.c (convert_for_assignment): Handle assignment to a reference parameter by taking the address of the RHS. * ginclude/stdarg.h (va_start): Don't take address of first parameter. (va_copy): Likewise. (__va_copy): Likewise. * ginclude/varargs.h (va_start): Likewise. (__va_copy): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32821 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD.gerald2000-02-151-0/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31988 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX.geoffk2000-02-061-5/+5
| | | | | | | (FUNC_END): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31808 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (i?86-*-beos{pe,elf,}*): Recognize.jason2000-01-133-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * i386/t-beos, i386/x-beos, i386/xm-beos.h: New files. * i386/beos-elf.h, i386/beos-pe.h: New files. * Makefile.in (CROSS_SYSTEM_HEADER_DIR): New. * cross-make (SYSTEM_HEADER_DIR): Define using CROSS_SYSTEM_HEADER_DIR. * gcc.c (LIBRARY_PATH_ENV): Provide default. (process_command): Use it. (main): Likewise. Kill trailing = from env vars. (build_search_list): Put it back. * collect2.c (main): Use LIBRARY_PATH_ENV. * configure.in (GCC_NEED_DECLARATIONS): Add environ. * toplev.c: Use NEED_DECLARATION_ENVIRON. * tm.texi (Frame Layout): Document SMALL_STACK. * c-common.c (c_common_nodes_and_builtins): Check it. * system.h: Undef alloca after including glibc's <stdlib.h>, if USE_C_ALLOCA is defined. * gcc.c (set_input): New fn. (main): After all input files are compiled, reset the input file info to the first. * aclocal.m4 (rindex, index): If already defined, don't attempt to redefine. * ginclude/varargs.h: (__va_list__): Define ifndef. * ginclude/stdarg.h: Likewise. * ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int instead of unsigned char. * hash.h (true, false, boolean): Undef before enum. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31366 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/stdbool.h: Support compilation as C++.loewis2000-01-041-1/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31201 138bc75d-0d04-0410-961f-82ee72b054a4
* * cccp.c (main): Define __STDC_VERSION__ as necessary.rth1999-12-191-1/+1
| | | | | | | | | | * cppinit.c (cpp_handle_option): Likewise. * ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to determine when to define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31022 138bc75d-0d04-0410-961f-82ee72b054a4
* * cppp.c (main): Set trigraphs and __STRICT_ANSI__ asrth1999-12-141-0/+3
| | | | | | | | | | | | | | appropriate for -lang-c89 and -std=*. * cppinit.c (cpp_handle_option): Likewise. (new_pending_define): New, split out from cpp_handle_option. * gcc.c (default_compilers): Don't define __STRICT_ANSI__ or enable trigraphs for -ansi/-std=*. * ginclude/stdarg.h (__va_copy): New. (va_copy): Don't define for C89. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30921 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/t-freebsd: Do not override USER_H.law1999-10-151-4/+3
| | | | | | | * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30017 138bc75d-0d04-0410-961f-82ee72b054a4
* 1999-09-23 10:56 -0700 Zack Weinberg <zack@bitmover.com>zack1999-09-235-9/+152
| | | | | | | | * iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add copyright notice and special exception to GPL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29624 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (USER_H): Remove va-foo.h.rth1999-09-1519-2127/+0
| | | | | | | | | | * ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h, va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h, va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h, va-spur.h,va-v850.h}: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29424 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/stdarg.h, ginclude/varargs.h: Implement inrth1999-09-142-245/+19
| | | | | | | terms of builtin functions and types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29416 138bc75d-0d04-0410-961f-82ee72b054a4
* 1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>zack1999-08-291-2/+5
| | | | | | | | * stdbool.h: Make the typedef name _Bool, with bool a #defined alias. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28972 138bc75d-0d04-0410-961f-82ee72b054a4
* Kill CYGNUS LOCAL tags.rth1999-07-281-3/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28311 138bc75d-0d04-0410-961f-82ee72b054a4
* * rs6000.h (struct rs6000_args): Add sysv_gregno.rth1999-07-211-57/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * rs6000.c (init_cumulative_args): Init sysv_gregno. (function_arg_boundary): Align DFmode. (function_arg_advance): Restructure for ABI_V4; use sysv_gregno to get fp reg and stack overflow correct. (function_arg): Likewise. (function_arg_pass_by_reference): True for TFmode for ABI_V4. (setup_incoming_varargs): Restructure for ABI_V4; use function_arg_advance to skip final named argument. (expand_builtin_saveregs): Properly unskip the last integer arg when doing varargs. Adjust overflow location calculation. * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr explicitly unsigned. (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly. (__VA_GP_REGSAVE): Similarly. (__va_longlong_p): Delete. (__va_arg_type_violation): New declaration. (va_arg): Restructure. Flag promotion errors. Align double. TFmode passed by reference. * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic in the HOST_BITS_PER_WIDE_INT > 32 case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28199 138bc75d-0d04-0410-961f-82ee72b054a4
* Xlaw1999-07-071-2/+3
| | | | | | | | * ginclude/varargs.h (__builtin_va_alist_t): New typedef. (va_dcl): Use __builtin_va_alist_t. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27971 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/varargs.h (va_dcl): Use word_mode for type oflaw1999-07-021-1/+2
| | | | | | | __builtin_va_list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27911 138bc75d-0d04-0410-961f-82ee72b054a4
* David Edelsohn <edelsohn@gnu.org>rth1999-05-082-0/+6
| | | | | | | | | * ginclude/stdarg.h (__va_rounded_size): Use long type for rounding on AIX. * ginclude/varargs.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26837 138bc75d-0d04-0410-961f-82ee72b054a4
* * va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.rth1999-04-301-28/+7
| | | | | | | | | | * rs6000.c (expand_builtin_saveregs): For V4, initialize a private va_list struct, and return a pointer to it. (setup_incoming_varargs): V4 save area based off virtual_stack_vars instead of frame_pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26710 138bc75d-0d04-0410-961f-82ee72b054a4
* * sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structuresamylaar1999-02-251-6/+9
| | | | | | | | | | | | | | | | | | in registers. * expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition. * function.c (assign_parms): Honour PRETEND_OUTGOING_VARARGS_NAMED. * calls.c (expand_call): Likewise. * sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs / stdarg arguments. * sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi. (FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed arguments in registers. (PRETEND_OUTGOING_VARARGS_NAMED): Define. * va-sh.h (entire file): If __HITACHI__ is defined, use sh[123] flavour varargs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25440 138bc75d-0d04-0410-961f-82ee72b054a4
* dummy import to prevent merge lossagelaw1998-12-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24349 138bc75d-0d04-0410-961f-82ee72b054a4
* Add SH4 support:amylaar1998-11-231-36/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define. (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define. * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS. (fp_reg_names, assembler_dialect): New variables. (print_operand_address): Handle SUBREGs. (print_operand): Added 'o' case. Don't use adj_offsettable_operand on PRE_DEC / POST_INC. Name of FP registers depends on mode. (expand_block_move): Emit different code for SH4 hardware. (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate. (from_compare): Likewise. (add_constant): New argument last_value. Changed all callers. (find_barrier): Don't try HImode load for FPUL_REG. (machine_dependent_reorg): Likewise. (sfunc_uses_reg): A CLOBBER cannot be the address register use. (gen_far_branch): Emit a barrier after the new jump. (barrier_align): Don't trust instruction lengths before fixing up pcloads. (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG. Use auto-inc addressing for fp registers if doubles need to be loaded in two steps. Set sh_flag_remove_dead_before_cse. (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul. (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul. (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR. Support for FIRST_XD_REG .. LAST_XD_REG. (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG. (sh_expand_epilogue): Likewise. (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4. (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account. (arith_reg_operand): FPUL_REG is OK for SH4. (fp_arith_reg_operand, fp_extended_operand) New functions. (tertiary_reload_operand, fpscr_operand): Likewise. (commutative_float_operator, noncommutative_float_operator): Likewise. (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise. (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise. (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise. (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise. * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only. (CONDITIONAL_REGISTER_USAGE): Likewise. (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define. (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define. (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define. (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd. (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer to -1 and sh_flag_remove_dead_before_cse to 1. (ASSEMBLER_DIALECT): Define to assembler_dialect. (assembler_dialect, fp_reg_names): Declare. (OVERRIDE_OPTIONS): Add code for TARGET_SH4. Hide names of registers that are not accessible. (CACHE_LOG): Take TARGET_CACHE32 into account. (LOOP_ALIGN): Take TARGET_HARWARD into account. (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define. (FIRST_PSEUDO_REGISTER: Now 49. (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers. (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG. (HARD_REGNO_MODE_OK): Update. (enum reg_class): Add DF_REGS and FPSCR_REGS. (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise. (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update. (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define. (NPARM_REGS): Eight floating point parameter registers on SH4. (BASE_RETURN_VALUE_REG): SH4 also passes double values in floating point registers. (GET_SH_ARG_CLASS) Likewise. Complex float types are also returned in float registers. (BASE_ARG_REG): Complex float types are also passes in float registers. (FUNCTION_VALUE): Change mode like PROMOTE_MODE does. (LIBCALL_VALUE): Remove trailing semicolon. (ROUND_REG): Round when double precision value is passed in floating point register(s). (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are passed on the stack. (FUNCTION_ARG): Little endian adjustment for SH4 SFmode. (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4. (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account. (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD. (MODE_DISP_OK_8): Not for SH4 DFmode. (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode. Allow indexed addressing for PSImode after reload. (LEGITIMIZE_ADDRESS): Not for SH4 DFmode. (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode. Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS. (DOUBLE_TYPE_SIZE): 64 for SH4. (RTX_COSTS): Add PLUS case. Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case. (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS, MAC_REGS, PR_REGS, DF_REGS. (REGISTER_NAMES): Use fp_reg_names. (enum processor_type): Add PROCESSOR_SH4. (sh_flag_remove_dead_before_cse): Declare. (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare. (PREDICATE_CODES): Add binary_float_operator, commutative_float_operator, fp_arith_reg_operand, fp_extended_operand, fpscr_operand, noncommutative_float_operator. (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR. (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4. * sh.md (attribute cpu): Add value sh4. (attrbutes fmovd, issues): Define. (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv. (function units memory, int, mpy, fp): Make dependent on issue rate. (function units issue, single_issue, load_si, load): Define. (function units load_store, fdiv, gp_fpul): Define. (attribute hit_stack): Provide proper default. (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4. (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns. (udivsi3, divsi3): Emit special patterns for SH4 hardware, (mulsi3_call): Now uses match_operand for function address. (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL / REG_RETVAL notes. (push, pop, push_e, pop_e): Now define_expands. (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders. (movsi_ie): Added y/i alternative. (ic_invalidate_line_i, movdf_i4): New insns. (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters. (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders. (movdf): Add special code for SH4. (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible. (call_valuei, calli, call_value): Likewise. (movsf): Emit no-op move. (mov_nop, movsi_y): New insns. (blt, sge): generalize to handle DFmode. (return predicate): Call emit_fpscr_use and remove_dead_before_cse. (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4. (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns. (fpu_switch0, fpu_switch1, movpsi): New expanders. (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters. (toggle_sz): New insn. (addsf3, subsf3, mulsf3, divsf3): Now define_expands. (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns. (macsf3): Make use of fpscr visible. Disable for SH4. (floatsisf2): Make use of fpscr visible. (floatsisf2_i4): New insn. (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4. (ieee_ccmpeqsf_t): Likewise. (fix_truncsfsi2): Emit different code for SH4. (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns. (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns. (negsf2, sqrtsf2, abssf2): Now expanders. (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders. (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns. (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns. (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders. (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns. (fix_truncdfsi2_i4_2+1): New splitters. (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns. (extendsfdf2, truncdfsf2): New expanders. (truncdfsf2_i4): New insn. * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4. (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4. * float-sh.h: When testing for __SH3E__, also test for __SH4_SINGLE_ONLY__ . * va-sh.h (__va_freg): Define to float. (__va_greg, __fa_freg, __gnuc_va_list, va_start): Define for __SH4_SINGLE_ONLY__ like for __SH3E__ . (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise. (__PASS_AS_FLOAT): Use different definition for __SH4__ and __SH4_SINGLE__. (TARGET_SH4_P): Define. (va_arg): Use it. * sh.md (movdf_k, movsf_i): Tweak the condition so that init_expr_once is satisfied about the existence of load / store insns. * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie): change m constraint in source operand to mr / mf . * va-sh.h (__va_arg_sh1): Use __asm instead of asm. * (__VA_REEF): Define. (__va_arg_sh1): Use it. * va-sh.h (va_start, va_arg, va_copy): Add parenteses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23777 138bc75d-0d04-0410-961f-82ee72b054a4
* * i860.c (single_insn_src_p): Add missing parens.law1998-11-191-1/+1
| | | | | | | * ginclude/math-3300.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23727 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/varargs.h: Add support for C4x target.law1998-09-192-0/+8
| | | | | | | * ginclude/stdargs.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22483 138bc75d-0d04-0410-961f-82ee72b054a4
* * README.C4X: New file with information about the c4x ports.law1998-09-191-0/+34
| | | | | | | | * ginclude/va-c4x.h: New file for c4x varargs support. * config/c4x: New directory with c4x port files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22475 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (rest_of_compilation): Set bct_p on second call todje1998-09-181-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | loop_optimize. * loop.c (loop_optimize, scan_loop, strength_reduce): New argument bct_p. (strength_reduce): Only call analyze_loop_iterations and insert_bct if bct_p set. (check_dbra_loop): Fix typo. (insert_bct): Use word_mode instead of SImode. (instrument_loop_bct): Likewise. Do not delete iteration count condition code generation insn. Initialize iteration count before loop start. * rtl.h (loop_optimize): Update prototype. * ginclude/va-ppc.h (va_arg): longlong types in overflow area are not doubleword aligned. * rs6000.c (optimization_options): New function. (secondary_reload_class): Only call true_regnum for PSEUDO_REGs. * rs6000.h (OPTIMIZATION_OPTIONS): Define. (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters first; cr1 can be used for FP record condition insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22471 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/va-alpha.h: Protect entire second portion of therth1998-09-031-9/+7
| | | | | | | file against double inclusion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22200 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/va-alpha.h (va_list): Use a typedef, not a define.rth1998-08-012-3/+2
| | | | | | | * ginclude/va-clipper.h (va_list): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21518 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (USER_H): Add stdbool.h.law1998-05-301-0/+20
| | | | | | | * ginclude/stdbool.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20145 138bc75d-0d04-0410-961f-82ee72b054a4
* Patch from Shigeya Suzuki to fix BSD/OS 3.1 build failure.wilson1998-04-281-2/+4
| | | | | | | | * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS when undefining macros at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19472 138bc75d-0d04-0410-961f-82ee72b054a4
* Patch from vmakarov to avoid warnings with -Wall.wilson1998-04-021-1/+1
| | | | | | | * ginclude/va-i960.h (va_end): Change void * to void. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18961 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/va-ppc.h (va_arg): Fix typo in long long support.law1998-03-011-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18346 138bc75d-0d04-0410-961f-82ee72b054a4
* Patch from Michael Tiemann to fix typo.wilson1998-02-201-1/+1
| | | | | | | | * ginclude/va-mips.h (va_arg): Remove trailing space after '\' continuation character (line 243). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18136 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/va-mips.h: Replace casts of pointers to int withgavin1998-02-161-7/+8
| | | | | | | casts of pointers to __PTRDIFF_TYPE__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18025 138bc75d-0d04-0410-961f-82ee72b054a4
* * ginclude/stdarg.h: Undo BeOS changes, they break hpux.law1997-12-162-13/+2
| | | | | | | * ginclude/varargs.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17116 138bc75d-0d04-0410-961f-82ee72b054a4
* cvs commit ChangeLog config.sub configure configure.in toplev.claw1997-12-123-2/+26
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17060 138bc75d-0d04-0410-961f-82ee72b054a4
* Delete bogus file from gcc-2.8 tarball.law1997-12-081-211/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17011 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisionlaw1997-12-061-0/+211
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16981 138bc75d-0d04-0410-961f-82ee72b054a4
* Sync SH port with FSF; enable regmove for SH.amylaar1997-11-081-74/+50
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16371 138bc75d-0d04-0410-961f-82ee72b054a4
* Update mainline egcs to gcc2 snapshot 971021.law1997-11-023-5/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
* Rewrite v9 support.devans1997-10-171-76/+35
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15986 138bc75d-0d04-0410-961f-82ee72b054a4
* Add port done awhile ago for the ARC cpu.law1997-09-093-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | * arc/arc.h: New file. * arc/arc.c: New file. * arc/arc.md: New file. * arc/initfini.c: New file. * arc/lib1funcs.asm: New file. * arc/t-arc: New file. * arc/xm-arc.h: New file. * ginclude/va-arc.h: New file. * ginclude/stdarg.h: Include va-arc.h ifdef __arc__. * ginclude/varargs.h: Likewise. * Makefile.in (USER_H): Add va-arc.h. * configure.in (arc-*-elf*): Recognize. * longlong.h: Add ARC support. Mostly so I can test changes in snapshot scripts. * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx. when clearing non-BLKmode data. Fixes sparc problem. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15198 138bc75d-0d04-0410-961f-82ee72b054a4
* * v850: New directory for v850 port.law1997-09-053-0/+45
| | | | | | | | | | | | * v850/lib1funcs.asm: New file. * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files. * ginclude/va-v850.h: New file. * varargs.h, stdarg.h: Include va-mn10200.h. * configure.in (mn10200-*-*): New target. * Makefile.in (USER_H): Add va-mn10200.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15104 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix minor bugs found by riscos build attempt.wilson1997-09-041-0/+3
| | | | | | | | * tlink.c: Include ctype.h. * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15080 138bc75d-0d04-0410-961f-82ee72b054a4
* * varargs.h, stdarg.h: Include va-mn10200.h.law1997-06-232-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14290 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisionlaw1997-06-231-0/+37
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14289 138bc75d-0d04-0410-961f-82ee72b054a4
* Protect va_list definition from SCO headers.kenner1997-06-222-2/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14286 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud